0 环境准备
- 已安装ollama
- 已部署deepseek-r1:8b模型
- 已部署quentinz/bge-large-zh-v1.5:latest embedding模型
- 已安装docker hub desktop(Windows | Docker Docs)
- 具备科学上网条件
1 dify安装
1.1 dify源码下载
dify: Dify 是一个易用的 LLMOps 平台,旨在让更多人可以创建可持续运营的原生 AI 应用 - Gitee.com
通过以上地址下载dify源码
1.2 通过docker方式安装dify
1.2.1 修改docker compse参数
进入dify源码解压目录(E:\dev\env\dify-main\docker,修改成自己本地地址)
- 复制.env.example文件重命名成.env
- 修改web服务端口号,默认80端口可能引起端口冲突,这里修改成8081,需要修改两个地方的端接口
一个是NGINX_PORT
一个是EXPOSE_NGINX_PORT
1.2.2 安装并启动dify
我这里为方便,启动了科学上网,并执行启动命令
docker compose up -d
启动完成后会在docker desktop中显示服务运行情况,注意圆圈为实心绿色时为启动成功
点击docker名称能看dify服务包含的所有镜像服务
1.3 访问dify
在浏览器中输入http://localhost:8081/,根据提示填写管理员邮箱和密码后再次登录即可进入dify主页面,如下图:
2 配置LLM模型和嵌入模型
2.1 配置LLM模型
点击右上角用户名,在下来菜单中选择设置
在设置界面选择模型供应商,选择添加ollma模型,选择模型类型为LLM,并配置模型名称和模型URL
2.2 配置嵌入模型
再次添加Ollama模型,选择模型为Text Embedding,并配置模型名称和模型URL
3 配置知识库
3.1 上传文件
- 点击web界面上方知识库,选择创建知识库,将准备好的文件拖入上传文本文件框
- 可支持多种文件类型,默认文件大小限制在15m,文件限制大小可在.env文件中修改。
3.2 配置文本分段
文本较大可设置成父子分段
点击预览块可查看分段效果
3.3 配置嵌入模型
配置完成后点击保存并处理,等待文本处理完成。
4 配置应用
4.1 创建应用
点击工作室,再点击创建空白应用,填写应用名称后进入配置页面,填写提示词,选择知识库,如下图:
提示词
请使用提供的上下文信息精确地回答问题。如果不知道,就回答"我目前的知识储备无法您的问题"。请确保输出不包含任何XML标签。
步骤说明:
1. 解析提供的上下文信息,提取关键内容。
2. 根据上下文信息,准确回答用户的问题。
3. 如果无法回答,请返回"不知道"。
4. 确保输出格式正确,不使用任何Markdown或其他格式。
<variable>
{{ user_query }}
</variable>
<variable>
{{ context }}
</variable>
<variable>
{{ result }}
</variable>
<instructions>
1. 首先,分析提供的上下文信息,理解其中的关键点。
2. 然后,根据用户的问题,结合上下文信息进行回答。
4.2 配置LLM
选择deepseek-r1:8b模型,设置温度为0等配置信息,如下图:
4.3 知识库效果评估
在聊天框中输入问题,查看回答结果,如下图
4.4 保存应用
点击发布,保存模型,也可选择运行模型或者嵌入网站等,如下图
附录
进阶配置
配置对话开场白
点击右下角管理进入管理界面
打开对话开场白,选择编写开场白,如下图
添加开场问题
dify默认可以填写十个开场问题,可将常用问题填写在开场问题中,如下图
重新编排后效果如下:
添加下一步建议
在管理功能中打开下一步问题建议,如下图
重新编排执行后效果如下图