链载Ai

标题: Dify Firecrawl本地部署RAG知识库chatbot [打印本页]

作者: 链载Ai    时间: 昨天 18:39
标题: Dify Firecrawl本地部署RAG知识库chatbot
本文用于记录和描述如何在本地通过配置dify+firecral+Ollama的方式来实现RAG知识库chatbot。
整个配置流程在macos15.5下完成,其他操作系统还请依据实际情况更改对应内容。
安装dify
gitclonegit@github.com:langgenius/dify.git
配置dify环境变量
cddify/dockercp.env.example.env
我们可以对dify参数进行调整也可以直接使用默认参数
运行dify
docker-composeup-d
默认运行在80端口
首次登陆需要配置admin密码信息
首次登陆后需要配置模型提供商,点击右上角头像图标,设置
选择模型供应商,选择你需要使用的模型,我这里配置使用ollama
选择添加模型,配置本地地址,确保你的ollama已经运行并且可以被访问。
curlhttp://192.168.31.157:11434/v1/models
正确的话会输出当前ollama已经下载的模型列表
配置模型
可以配置多个,并且配置embedding模型
安装firecrawl爬虫工具
使用firecrawl还需要安装nodejs和pnpm为依赖,还请提前安装
gitclonegit@github.com:mendableai/firecrawl.gi
修改firecrawl参数
cdfirecrawlcpapps/api/.env.example./.envvi.env
修改两个内容
USE_DB_AUTHENTICATION=false
TEST_API_KEY=xxxxx #记录该key后续配置会用上
启动firecrawl
在firecrawl的目录下运行
docker-composeup-d
firecrawl运行成功 打开本地3002/test可以看到hello,world字样
打开dify,配置数据来源
api key使用刚才在env文件中所设置的内容
随后我们创建新的知识库
选择同步自web站点,我们以https://docs.dify.ai/zh-hans/guides为例子
限制数量设置为50,深度为3,代表让firecrawl抓取网页上最先出现的10个内容并且抓取这50个链接下的3层子目录
勾选删除所有url和电子邮件地址
选择混合检索,采用权重设置(本文不涉及RAG精度优化,暂不使用rerank模型)点击保存并处理。
我们可以看到知识库已经完成了创建并在embedding
embedding完成后我可以点击前往文档查看结果
可以看到利用firecrawl抓取的网页embedding所生成的文档
现在我们来创建一个新的应用,选择chatflow
在给出的模板基础上修改,在开始和llm中间增加知识检索节点
选择引用知识库,使用我们刚才创建的库
随后修改llm模型节点
修改温度(默认0.7)降到较低的值,使其回答更为稳妥。
上下文选择知识检索节点的result
在system prompt中输入 根据下面的检索结果回答用户问题 调用sys.query变量 并调用上下文

我们选择预览,输入一个问题

如何配置embedding模型?

可以看到在思考的过程中引用了知识库的内容
回答的内容符合预期,可以发布了
我们选择发布。
点击运行,可以看到单独的chatbot页面,我们再次提问
如何配置插件?
可以看到对应的流程,符合预期。
当然我们也可以选择把chatbot嵌入到网站中,可以在发布下获取对应的代码。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5