基于dify+ollama+bge组合搭建本地知识库
dify是近期流行的agent和rag开源工具,支持编写插件添加自定义功能。
这里尝试用dify、ollama、和bge组合搭建本地知识库。
1 dify安装
1) 源码下载
dify项目地址
https://github.com/langgenius/dify
git clone https://github.com/langgenius/dify.git
如果git失败,直接下载zip版本解压
2) docker 安装
假设本地docker环境已安装,linux安装docker参考
https://blog.csdn.net/liliang199/article/details/150067330
3) dify docker启动
cd dify
cd docker
cp .env.example .env
docker compose up -d
2 dify测试
1) 连接测试
如果dify安装在服务器且80端口没开放,可通过ssh建立本地-服务器端口映射,然后在本地访问。
示例如下
ssh -L 10386:127.0.0.1:80 username@server_ip -p 22
参考https://blog.csdn.net/liliang199/article/details/149885236
然后本地就可以通过如下链接访问
http://127.0.0.1:10387/signin
2) dify使用
dify提供了基于ui的agent使用方式,可以拖拽式搭建agent智能体,快速构建知识库。
3 dify问题汇总
1) ollama base url绑定问题解析
如下图所示,配置ollama时,在base url输入“http://localhost:11434”,会提示错误
“An error occurred during credentials validation: HTTPConnectionPool(host='localhost', port=11434): Max retries exceeded with url: /api/chat (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7efe28f67d40>: Failed to establish a new connection: [Errno 111] Connection refused'))”
这是因为docker容器应用dify访问http://localhost:11434,其实访问的是docker容器自身的服务。
需要将localhost替换为宿主机ip地址,这样就可以访问部署在宿主机的ollama服务。
所以,base_url应该设置为如下地址
http://host_ip:11434
同时,需要需要修改ollama配置确保绑定0.0.0.0:11434,ollama默认不绑定这个地址。
具体过程参考linux系统ollama绑定0.0.0.0:11434示例-CSDN博客
reference
---
dify
https://github.com/langgenius/dify
ssh服务器端口和本地端口映射
https://blog.csdn.net/liliang199/article/details/149885236
Dify+Ollama+Deepseek+BGE-M3来搭建本地知识库(2)---配置Dify
https://zhuanlan.zhihu.com/p/22767140663
构建多模态知识库技术路线调研
https://blog.csdn.net/liliang199/article/details/149941954