主题模式
Are you an LLM? You can read better optimized documentation at /ai/llm/dify-guide.md for this page in Markdown format
使用 Dify 零代码自建专属 AI 智能体 (Agent) 与知识库应用实战
当我们在本地完成了 Ollama + DeepSeek-R1 的本地部署 后,很多人会面临下一个问题:如何将本地 AI 转化为能够真正落地的生产力工具?
如果只想实现网页聊天,Open WebUI 足够好用。但如果你想构建一个客服机器人(导入公司规章制度/PDF产品手册)、一个可以全自动调用搜索引擎的 AI Agent(智能体),或者一个复杂的多步骤 AI 工作流(Workflow),你需要一个更专业的低代码大模型开发平台。
Dify(LangGenius 团队开发)是目前全球最流行、功能最强大的开源 LLM 应用开发平台。它让你可以通过直观的图形化界面,零代码拼装出工作流、智能体和高性能 RAG(检索增强生成)知识库。
本文将带你手把手完成 Dify 的自建部署,并以实战演示如何开发一个可以嵌入到你个人网站的“专属知识库机器人”。
🐳 第一步:使用 Docker Compose 一键自建 Dify
推荐将 Dify 部署在自建服务器、本地 Homelab 或 Linux VPS 上。Dify 官方提供了非常完善的 Docker Compose 模版。
1. 拉取 Dify 源代码
通过 SSH 登录服务器,执行以下命令克隆仓库:
bash
git clone https://github.com/langgenius/dify.git2. 配置环境变量
- 进入
dify的docker目录:bashcd dify/docker - 复制环境变量配置文件:bash(注:默认配置下,Dify 会自动帮你配置并运行 PostgreSQL 数据库、Redis 缓存、Weaviate 向量数据库等共 9 个关联容器,无需手动干预)。
cp .env.example .env
3. 一键启动
bash
docker compose up -d启动可能需要 2-3 分钟。启动完成后,在浏览器中输入你的服务器 IP:http://你的服务器IP 即可打开 Dify 初始化页面(默认占用 80 端口)。
- 首次访问:系统会要求你注册一个本地管理员账号。
🔌 第二步:配置大模型提供商 (Model Provider)
登录 Dify 后,第一步是告诉 Dify 你的大模型在哪里。
- 点击右上角头像 -> 进入 “设置 (Settings)” -> “模型供应商 (Model Provider)”。
- 接入云端 DeepSeek:
- 找到 DeepSeek,点击“设置”。
- 填入你在官方控制台获取的 API Key。保存后,你就能在 Dify 中调用满血版的 DeepSeek-V3 和 R1 了。
- 接入本地 Ollama:
- 找到 Ollama,点击“设置”。
- Model Name:输入你本地的模型名称,例如
deepseek-r1:8b。 - Server URL:输入
http://host.docker.internal:11434(此地址能让 Dify 容器顺利访问宿主机上的 Ollama 服务)。
📂 第三步:实战:零代码创建“PDF 专属知识库”
本节我们演示如何导入一份 PDF 文档,让 AI 只根据这份文档回答问题(RAG 机制),防止其胡言乱语(幻觉)。
1. 创建知识库
- 点击顶部菜单的 “知识库 (Knowledge)” -> 点击 “创建知识库 (Create Knowledge)”。
- 上传你准备好的 PDF(例如《公司规章制度.pdf》或《产品说明书.pdf》)。
- 分段设置:建议选择“自动分段 (Automatic)”,Dify 会智能识别段落并切片。
- 索引方式:选择“高质量 (High Quality)”。
- 系统会要求你选择 Embedding(向量化)模型:可以选择在线的
text-embedding-3-small,或者在 Ollama 供应商中选择本地运行的嵌入模型(如nomic-embed-text)。 - 点击“保存并处理”,等待索引构建完成。
🤖 第四步:搭建智能客服 App 并嵌入网页
1. 新建应用
- 点击顶部菜单的 “工作室 (Studio)” -> 点击 “创建空白应用 (Create New App)”。
- 选择 “聊天助手 (Chat App)”(如果要实现复杂任务,可以选择 Agent),给应用命名为“产品智能助理”。
2. 编排应用
进入可视化应用编辑区:
- 选择模型:在右上角选择我们配置好的
deepseek-chat(V3) 或本地 R1。 - 设置 System Prompt(系统提示词):例如:
“你是一个专业的产品客服。你必须严格基于关联的知识库内容回答用户关于产品的使用问题,如果知识库中没有相关信息,请礼貌地回答‘对不起,我暂时无法回答该问题’,严禁自己编造答案。”
- 关联知识库:在下方 “上下文 (Context)” 中,点击添加,选中我们刚刚创建的“PDF 专属知识库”。
3. 测试与发布
- 在右侧的“预览”窗口中输入问题进行测试,确认 AI 的所有回复都是基于你上传的 PDF。
- 点击右上角的 “发布 (Publish)” -> “更新 (Update)”。
4. 嵌入到你自己的网站中
- 点击“发布”旁边的下拉箭头 -> 选择 “嵌入网页 (Embed in website)”。
- Dify 会生成一段极简的 JavaScript 代码:html
<script> window.difyChatbotConfig = { token: 'xxxxxxxxxxxxxx' } </script> <script src="https://udify.app/embed.js" defer></script> - 将这段代码粘贴到你的个人网站或博客的
<body>标签底部,你的网站右下角就会立刻出现一个漂亮的 AI 在线客服悬浮窗!
💬 总结
通过 Dify,你可以非常低门槛地将大模型与你的本地私有文档、API 工作流和企业数据库完美结合。
- 选型对比:想知道 Dify 与其他主流编排框架有什么区别?快去看我们的 Dify vs FastGPT vs Flowise 深度横评。
- 安全管理:管理多服务器的 Docker 容器,可参考 Docker 自托管服务部署合集 中的 Portainer 部署配置。
