Dify安装和使用体验
本次捣鼓的是Dify。也是一个完整的知识库解决方案。本文档更新时,最新版本为0.15.3。
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。
官方提供了完善的部署教程,依旧是推荐使用docker进行部署。
1.拉取GitHub上的最新版本分支,git clone https://github.com/langgenius/dify.git --branch 0.15.3
。
2.首先进入/home/cyqsd/Project/dify/docker
目录,cp .env.example .env
。
3.配置文件中的各种默认配置需要修改。
比如:默认端口、默认的数据库密码等等。虽然说有的业务是仅本地调用,还是能改则改。
NGINX_PORT=80
和EXPOSE_NGINX_PORT=80
等配置,需要注意,是不是要直接将服务跑在80端口。
4.使用命令docker compose up -d
,创建并启动,完成后如下所示:
8a3d2991c6ed nginx:latest "sh -c 'cp /docker-e…" 34 hours ago Up 25 hours 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp docker-nginx-1
ac45fb5faae2 langgenius/dify-api:0.15.3 "/bin/bash /entrypoi…" 34 hours ago Up 34 hours 5001/tcp docker-worker-1
f4f6a97b5283 langgenius/dify-api:0.15.3 "/bin/bash /entrypoi…" 34 hours ago Up 34 hours 5001/tcp docker-api-1
fb7a4e9002d2 postgres:15-alpine "docker-entrypoint.s…" 34 hours ago Up 34 hours (healthy) 5432/tcp docker-db-1
5aa1367816b3 redis:6-alpine "docker-entrypoint.s…" 34 hours ago Up 34 hours (healthy) 6379/tcp docker-redis-1
80466243f969 langgenius/dify-web:0.15.3 "/bin/sh ./entrypoin…" 34 hours ago Up 34 hours 3000/tcp docker-web-1
f2133ce8b8b1 ubuntu/squid:latest "sh -c 'cp /docker-e…" 34 hours ago Up 34 hours 3128/tcp docker-ssrf_proxy-1
15def8faf417 langgenius/dify-sandbox:0.2.10 "/main" 34 hours ago Up 34 hours (healthy) docker-sandbox-1
d7fe7de57b34 semitechnologies/weaviate:1.19.0 "/bin/weaviate --hos…" 34 hours ago Up 34 hours docker-weaviate-1
正常运行时,是:3 个业务服务 api / worker / web
,以及 6 个基础组件 weaviate / db / redis / nginx / ssrf_proxy / sandbox
,一共是9个容器。
如果运行出错,或者需要升级时删除容器,使用docker compose down
命令,移除容器。再使用docker compose up -d
重新创建启动。
如果启动后,部分业务无法访问,除了检查docker logs --tail=100 docker-nginx-1
外。可以再检查/home/cyqsd/Project/dify/docker/nginx/conf.d
目录下的default.conf
,可替换为局域网IP供测试。
配置ollama
完成上面的步骤后,访问:http://你的IP地址/
,登录后进行配置ollama,官方提供了教程:[接入 Ollama 部署的本地模型 | Dify](https://openwebui-doc-zh.pages.dev/getting-started/quick-start/starting-with-ollama/)。
因为是在docker上,此处的IP要么填局域网的IP,要么是http://host.docker.internal:11434
,11434
是ollama安装时的端口,根据实际情况调整。ollama需要配置IP为OLLAMA_HOST "0.0.0.0"
。
模型名字,也按照拉取的名字填写。
此处测试的模型是:
- 嵌入模型:bge-m3:latest
- 推理模型:deepseek-r1:32b
除此之外,还支持很多的模型提供商。
文档中还提示到可能会遇到的错误:
配置好后,就可以进行对话测试了。
Dify提供了对话和知识库的访问API,这可比某些其他的国产知识库好多了。
Dify也支持图形化的智能体和工作流图形化编辑。
支持直接嵌入网页的组件,降低接入难度。
知识库的索引模式可配置。
很多外部供应商的工具。
本文的捣鼓到这里就结束了,简单使用下来,Dify确实做得很不错,各方面功能趋于完善,界面简洁,已经可以满足正常的使用需求了。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。