准备
参考《RAGFlow实践:快速实现知识库的智能检索》部署RAGFlow并创建知识库。
DeepChat是通过MCP方式调用RAGFlow,所以,部署的RAGFlow需要支持MCP。
RAGFlow
API服务器地址
点击账户图标:点击“API”:
将API服务器地址保存备用。
创建Key
点击“API KEY”:点击“创建新密钥”:
点击“复制”按钮保存密钥:
然后点击“确定”,关闭对话框。
数据集ID
数据集ID就是创建的一个知识库,这个知识库在数据库中有一个编号。
使用数据库连接工具如 Navicat连接到RAGFlow的MySQL数据库的knowledgebase表中获取对应ID:将此ID保存备用。
数据库连接信息在ragflow-main/docker/.env中。
Docker部署的RAGFlow MySQL数据库密码是:infini_rag_flow
DeepChat配置
RAGFlow相关信息保存备用后,开始DeepChat的配置。
启动DeepChat客户端,依次点击“设置”—>“MCP设置”,找到ragflowKnowledge的编辑按钮:点击“添加RAGFlow配置”:
将RAGFlow中保存备用的信息一一填入对应位置:然后,点击“添加配置”。
使用知识库
完成RAGFlow配置添加后,回到对话界面,启用RAGFlow知识库MCP:
⚠️使用的大模型必须支持工具调用。
向它提问:返回结果:
注意事项
数据集ID获取问题
当前RAGFlow无法在Web界面上获取数据集ID,需要到数据库中获取。
RAGFlow MCP没有返回结果
在官方群咨询过,deepchat默认精确度是0.5,小于这个精确度是没有返回的:如何调整让它返回呢?
首先,去RAGFlow的知识库中进行检索测试:可知当前混合相似度是47.71,就是0.48的样子,小于DeepChat的0.5,所以DeepChat没有返回。
然后,可以用系统提示词或者在问它问题时提醒它:“相似度大于0.3就返回结果”,此处我通过系统提示词设置:再次询问,就有返回结果了:
建议通过提示词告知DeepChat的精确度。