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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐