一、Dify是什么
Dify 是一个易于使用的 LLM (大型语言模型) 应用开发平台。它旨在帮助开发者更轻松地构建基于 LLM 的应用,而无需深入研究底层技术细节。
运行多种LLM
提供知识库功能
提供对外访问接口
可本地部署,安全
二、如何安装
1、环境准备
- Docker
- Docker Compose
- Git
- 安装ollama,下载嵌入模型
nomic-embed-text:latest
- deepseek-r1的
apikey
2、安装Dify
第一步、下载Dify项目
项目地址:https://github.com/langgenius/dify
git clone git@github.com:langgenius/dify.git
第二步、启动
# 进入项目目录
cd dify
# 进入docker配置目录
cd docker
# 配置环境变量
cp .env.example .en
# 启动项目
docker-compose up -d
# 以下命令有可以用到
docker ps #查看dify项目是否启动
使用web端进行登录:[http://localhost/install]
3、登录
登录前需要注册用户(用户名、密码)保存在本地
页面显示如下:
登录后如下:
三、使用过程
1、配置模型
最终效果:
LLM模型
嵌入模型
2、创建知识库
第一步、上传文件
第二步、文件处理
第三步、执行完成
第四步、查看上传文档
文件详情如下:
3、创建聊天机器人
最终效果如下:
第一步、输入bot名称,创建chatbot
第二步、生成提示词
点击Apply
,进入下一步,进行对话
第三步、发布
点击Publish
按钮
第四步、四种使用方式
-
App运行
-
嵌入到网页中
- 通过iframe嵌入
- 嵌入到html中
- 通过浏览器插件
-
使用浏览器打开
-
使用api调用
见下章
4、外部调用
创建apikey
调用
curl -X POST 'http://localhost/v1/chat-messages' \
--header 'Authorization: Bearer app-gFidkuxUhpCx3MXghcxr9qZJ' \
--header 'Content-Type: application/json' \
--data-raw '{
"inputs": {},
"query": "介绍一下电影阿甘正传,以电影名/导演/上映时间的json格式输出",
"response_mode": "streaming",
"conversation_id": "",
"user": "abc-123",
"files": []
}'
结果如下:
四、问题列表
问题1、密码登录不了,需要重置密码
# 重置密码
docker exec -it docker-api-1 flask reset-password
如有需要:删除删除redis的登录错误信息
常用命令如下
redis-cli
keys *
ttl key
问题2、端口被占用,例:5432以及6379
lsof -i:5432
kill -9 XXX
问题3、 无法加载ollama的地址
原因:dify在docker里面运行,而ollama在宿主机里面运行
解决方案:使用http://host.docker.internal:11434