Dify 的介绍和部署
引言
八月份的我:我已经忘了四月份的我为啥要建这个文件了,可能是为了 AI Agent?总之,现在我要建的时候正好发现这文件已经存在了,所以就用起来好了。
Dify 是一款开源的大语言模型 (LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。[1-2]
我需要的功能是”直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排”, 现在开始。
效果展示
过程
1 | # git config --global http.proxy <protocol>://<host>:<port> |
1 | # git config --global http.proxy http://127.0.0.1:7890 |
问题
端口冲突
在.env
和docker-compose.yaml
分别更改冲突端口 (实际上官网只推荐了更改.env
, 但是我实际发现更改不可用,不排除是未全部重置的原因)。
以 80 和 443 端口冲突为例,.env
需要更改 4 处,包括:
- NGINX_PORT
- NGINX_SSL_PORT
- EXPOSE_NGINX_PORT
- EXPOSE_NGINX_SSL_PORT
docker-compose.yaml
中字段同上。
需要注意的是,这样会导致分享处理的应用和 api 需要手动额外加上端口号,所以事实上选择 80 和 443 最为友好。但是可以使用转发解决。
不能登录
我的情况是无法注册和登录,会一直转圈圈
首先是在.env
文件中INIT_PASSWORD=
填上自己的文件夹,但是这不是关键。真正重要的是改好所有的冲突端口和重置weaviate
.
我怀疑我第一次更改了端口但第二次使用了默认的5001
端口导致了问题。
重置的命令是[3]:
sudo rm -rf ./volumes/app ./volumes/db ./volumes/redis ./volumes/weaviate
删除所有创建的不用的 docker 服务。
docker system prune -a
结论
试着用了几下示例应用,感觉非常不错,早就该用起来了~
2025 年 03 月 01 日:我觉得他非要让我用 80 和 443 还是太过分了…但是社区版好像不用安装也能用,我觉得是不是可以直接用在线的也行…