掘金 人工智能 05月08日 20:14
【解决方案-RAGFlow】RAGflow启动之后,报错:WARNING:root:RedisDB.queue_info rag_flow_svr_queue
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文针对RAGFlow在本地部署过程中可能遇到的问题进行总结,并提供相应的解决方案。文章主要围绕三个常见的错误展开:启动后Redis数据库找不到键、缺少C++编译器导致pip安装失败、以及Python找不到特定模块。通过逐步分析报错信息,结合实际操作步骤,帮助用户解决部署过程中的障碍,确保RAGFlow的顺利运行。内容涵盖了Redis容器的排查与初始化、C++构建工具的安装,以及缺失模块的安装方法,旨在为用户提供清晰、可操作的指导。

🔑 当RAGFlow启动后,出现“RedisDB.queue_info rag_flow_svr_queue got exception: no such key”的报错,表明Redis数据库中缺少名为“rag_flow_svr_queue”的键。解决方案包括查找Redis容器的名称或ID,进入Redis容器的命令行界面,使用redis-cli检查键是否存在,若不存在则初始化队列。

🔨 在使用pip安装datrie程序包时,若遇到“error: Microsoft Visual C++ 14.0 or greater is required”的报错,表明系统中缺少C++编译器或构建工具。解决办法是安装Microsoft C++ Build Tools,建议选择“使用C++的桌面开发”工作负载或仅安装Visual C++ Build Tools。

📦 出现“ModuleNotFoundError: No module named 'infinity.common'”的报错,是因为Python解释器找不到名为'infinity'的模块。解决方案是安装infinity-sdk,使用命令“pip install infinity-sdk==0.6.0.dev3”。

🔍 出现“ModuleNotFoundError: No module named 'tavily'”的报错,是因为Python解释器找不到名为'tavily'的模块。解决方案是安装tavily-python,使用命令“pip install tavily-python”。Tavily Search API是一个专为LLM和RAG设计的搜索引擎工具。

RAGFlow是一个强大的生成式人工智能工具,能帮助用户高效地处理复杂任务并生成高质量的内容。然而,在进行本地部署安装时,用户可能会遇到一些问题,这些问题可能会影响 RAGFlow 的正常运行和使用体验。

本篇文章记录一下经常会碰到的报错信息和解决方案

一、RAGflow启动之后,报错:WARNING:root:RedisDB.queue_info rag_flow_svr_queue got exception: no such key

当启动 RAGflow 后出现“WARNING:root:RedisDB.queue_info rag_flow_svr_queue got exception: no such key”这个报错,表明系统在 Redis 数据库中找不到名为 rag_flow_svr_queue 的键

1. 查找Redis容器名称或ID

首先,你需要找到运行Redis的Docker容器的名称或ID。可以使用以下命令:

docker ps

这将列出所有正在运行的容器。找到Redis容器的名称或ID,例如redis-container或abc12345。

2. 进入Redis容器

使用docker exec命令进入Redis容器的命令行界面:

docker exec -it redis-container bash

将redis-container替换为你的Redis容器名称或ID。

3. 操作Redis

进入容器后,你可以使用Redis的命令行工具redis-cli来操作Redis。例如,检查是否存在rag_flow_svr_queue键:

redis-cli -h redis -p 6379 -a ******** EXISTS rag_flow_svr_queue

替换********为实际的Redis密码。密码在.env文件写的有

4. 初始化队列

如果键不存在,可能需要初始化队列。例如,可以使用以下命令创建一个空队列:

redis-cli -h redis -p 6379 -a ******** RPUSH rag_flow_svr_queue ""

5. 退出容器

完成操作后,退出容器:

exit

二、 error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“

在使用终端中的pip命令安装datrie程序包时,遇到了报错信息。当出现“error: Microsoft Visual C++ 14.0 or greater is required. Get it with ‘Microsoft C++ Build Tools’”报错时,通常是因为系统缺少必要的C++编译器或构建工具。

要解决这个问题,最直接的方法是安装Microsoft C++ Build Tools。你可以访问Microsoft Visual Studio的下载页面,找到并下载“Microsoft C++ Build Tools”。安装过程中,建议选择“使用C++的桌面开发”工作负载,这样可以确保安装所需的编译器和其他工具。如果之前已经安装过Build Tools,可以通过点击“修改”按钮来添加或更改工作负载。

这里为了更精简,我们选择只安装Microsoft Visual C++ Build Tools:visualstudio.microsoft.com/ru/visual-c… Visual C++ Build Tools下载页面,并根据页面指引下载并安装。

选择这两个进行安装,如果是Win10的话选择对应的Win10的包

三、ModuleNotFoundError: No module named 'infinity.common'; 'infinity' is not a package

出现“ModuleNotFoundError: No module named 'infinity.common'; 'infinity' is not a package”这个报错,主要是因为 Python 解释器在当前环境中找不到名为 'infinity' 的模块。

这里找到一个issue:

提示报错:

Traceback (most recent call last):File "/home/ragflow/ragflow/api/ragflow_server.py", line 33, infrom api import settingsFile "/home/ragflow/ragflow/api/settings.py", line 20, inimport rag.utils.infinity_connFile "/home/ragflow/ragflow/rag/utils/infinity_conn.py", line 24, infrom infinity.common import ConflictType, InfinityException, SortTypeModuleNotFoundError: No module named 'infinity.common'; 'infinity' is not a packageTraceback (most recent call last):File "/home/ragflow/ragflow/rag/svr/task_executor.py", line 22, infrom graphrag.general.index import WithCommunity, WithResolution, DealerFile "/home/ragflow/ragflow/graphrag/general/index.py", line 21, infrom api import settingsFile "/home/ragflow/ragflow/api/settings.py", line 20, inimport rag.utils.infinity_connFile "/home/ragflow/ragflow/rag/utils/infinity_conn.py", line 24, infrom infinity.common import ConflictType, InfinityException, SortTypeModuleNotFoundError: No module named 'infinity.common'; 'infinity' is not a package

按照教程安装pip install infinity-embedded-sdk==0.6.0.dev3后出现:

No matching distribution found for infinity-embedded-sdk==0.6.0.dev3

这个应该下载的是infinity-sdk

pip install infinity-sdk==0.6.0.dev3

 四、ModuleNotFoundError: No module named 'tavily'

出现“ModuleNotFoundError: No module named 'tavily'”这个报错,主要是因为 Python 解释器在当前环境中找不到名为 'tavily' 的模块。

Tavily Search API 是专门为大型语言模型(LLM)和强化学习模型(RAG)设计的搜索引擎工具,旨在为 AI 应用提供实时、准确且有事实依据的搜索结果,高效地简化数据收集过程。

Tavily Search API 从底层设计就考虑了 LLM 和 RAG 应用的需求,能够提供实时、准确且无偏见的信息,帮助 AI 应用做出更好的决策,它不仅仅是一个搜索引擎,还能自动处理搜索、抓取、过滤和提取相关信息的整个流程,通过单次 API 调用即可完成。

Tavily Search API通过智能过滤和排名系统,Tavily 能够提供高度相关的搜索结果,减少不相关信息的干扰,其大大减少了开发者在数据收集和处理上的时间。开发者可以将更多精力放在构建核心应用功能上,而不是处理繁琐的数据准备工作。

pip install tavily-python

安装完可以测试一下:

from tavily import TavilyClientimport pprint # 初始化 TavilyClienttavily_client = TavilyClient(api_key="tvly-**********9") # 这里你需要去注册账号,申请api_key, 注册地址:https://tavily.com/ # 执行搜索查询response = tavily_client.search("地震的形成原因") # 打印搜索结果pprint.pprint(response)

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

RAGFlow 部署 报错 解决方案
相关文章