Dify实战:私有化部署Dify和搭建AI智能体

什么是dify

Dify 是一款面向开发者的开源大语言模型(LLM)应用开发平台,定位为“生成式 AI 应用创新引擎”。其核心目标是通过低代码/无代码方式,提供从模型集成、工作流编排到应用部署的全流程管理,降低企业级 AI 应用开发门槛

dify 的核心特点

  • • 提供拖拽式工作流编排(如 Prompt 设计、Agent 构建),支持非技术人员快速定义 AI 应用逻辑,无需深入底层代码179。
  • • 内置 Prompt IDE,可调试提示词、对比模型性能,并集成文本转语音等扩展功能9。
  • • 强大的模型兼容性
    支持数百种主流模型(如 GPT-4、DeepSeek、Llama3、通义千问),兼容 OpenAI API 协议,可灵活切换云端或本地私有模型1610。
  • • 通过 OneAPI 协议动态路由请求,优化模型调用成本610。
  • • 企业级 RAG 引擎
    支持长文档解析(PDF/PPT 等),结合向量数据库(如 Milvus)和混合检索(关键词+语义),提升知识库问答准确性178。
  • • 支持引用溯源和人工干预,减少模型“幻觉
  • • 灵活的 Agent 框架
    基于 ReAct 策略(推理+行动),可调用 50+ 内置工具(如谷歌搜索、DALL·E),或自定义 API 扩展复杂任务处理能力79。
  • • 全链路 LLMOps 支持
    提供模型监控、日志分析、A/B 测试等功能,支持 Kubernetes 私有化部署,满足金融、医疗等高合规场景3710。

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

dify的版本

云版本:

null

私有化部署版本:

null

Dify vs Coze:核心优势对比

维度 Dify Coze
定位 面向开发者/企业,支持复杂 AI 应用开发 面向普通用户,侧重快速搭建对话机器人
模型支持 多模型混合调用 + 私有化部署 主要依赖字节系模型(豆包),不支持自定义
知识库能力 长文本处理、RAG 优化、高精度检索 单文件仅支持 6000 Token,需手动分割
数据安全 全链路私有化部署,数据本地化 依赖云端服务,存在隐私风险
扩展性 自定义工具/代码节点,复杂工作流编排 模块简化,高级定制受限
适用场景 企业级应用(客服/BI/合规分析) C 端场景(抖音/飞书聊天机器人)

场景选型建议

  • 选 Dify:需复杂工作流(如合同分析 + 多模型调度)、数据隐私要求高、长期企业级应用。
  • 选 Coze:快速嵌入字节生态(抖音/飞书)、轻量级对话机器人开发、无代码需求。

dify的私有化部署

部署步骤

1、克隆dify社区版源码到本地
git clone https://github.com/langgenius/dify.git
2、进入 Dify 源代码的 Docker 目录
cd dify/docker复制环境配置文件cp .env.example .env# windows cmd# copy .env.example .env

3、 启动源码中的docker-compose.yaml,此命令会自动拉取配置好的镜像并启动容器

docker compose up

注意:一开始不要使用docker compose up -d , 因为-d表示后台执行,如果pull镜像网络超时则会立刻中断,国内pull镜像不太稳定,经常中断,后面可以拉完镜像后,再次启动才加上-d参数后台运行

4、最后检查是否所有容器都正常运行:
docker compose ps

显示运行中的容器:

null

管理界面和配置

浏览器输入:http://localhost/install
打开配置界面,配置登录邮箱和账号名、密码后,登录后打开主界面:

null

后续输入http://localhost 打开主界面即可

大模型供应商配置:
打开右上角登录头像,点击“设置”,可以选择大模型供应商:

接入deepseek:

null

这里直接选择安装deepseek后,在配置列表设置deepseek 的api key,配置成功之后则可以在工作流节点中使用了

null

接入本地的Ollama模型:
这里主要配置了部署bge-3的embedding模型

null

注意:配置本地Ollama的基础URL,ip不能是localhost,需要是本地的局域网ip,例如:http://192.168.3.202:11434,端口默认是11434,这是因为dify是docker启动的,localhost是容器内的地址了,不是本地宿主机的

搭建AI智能体

下面以OA行政小助手为例,搭建一个AI智能体,用于使用自然语文查询公司员工手册、用户信息以及公司部门信息等,支持RAG和工具调用

创建应用

创建空白应用,应用类型选择“Chatflow”, chatflow 基于工作流编排,适用于定义等复杂流程的多轮对话场景,具有记忆功能

null

准备工作

创建知识库

导入到知识库的文本,这里将后面要检索的《员工手册》导入到知识库:

null

文本分段和清洗:

null

设置分段长度和重叠长度,embedding模型这里使用本地Ollama部署的bge-3模型

保存处理成功后,就可以在知识库看到新增的内容:

null

创建知识库查询工作流

工作流编排如下:

null

然后点击右上角发布-发布为工具,将此工作流发布为工具,在“工具”中就可以看到

null

这个主要用于后面做为工具绑定到智能体的工具列表中,dify没有官方的检索知识库插件,故这里自己创建一个工作流来查询知识库,同时把这个工作流发布为插件后,就可以在智能体节点绑定成工具使用

安装数据库查询工具

右上角点击插件-安装插件-安装源-Marketplace, 搜索数据库查询,安装“数据库查询”工具

null

后面作为智能体查询指定的数据库查询工具

安装AGENT策略

这个AGENT策略需要在插件市场进行安装,右上角点击插件-安装插件-安装源-Marketplace, 搜索AGENT策略,安装“Dify Agent策略”

null

AGENT策略为后面创建智能体提供策略的处理支持

编排流程

编排如下:

null

这里添加三个节点开始、AGENT、直接回复:

开始节点:

null

这里的sys.query字段为用户聊天的输入消息

AGENT节点:

主要的智能体处理节点:

null

AGENT策略:
选择ReAct,支持多轮迭代调用工具处理,得出最佳的回复

工具列表:
1、查询知识库
2、SQL查询

这里绑定了前面准备好的两个工具

数据库工具这里可以配置的连接属性:

这里的属性值在dify环境变量已经配置好,直接选择就好

null

指令:
指令就是设定系统提示词:

<instruction>你是一个OA小助手,专门用于查询公司员工手册、用户信息以及公司部门信息。请按照以下步骤处理用户的请求:1. **明确查询类型**:首先确定用户需要查询的是员工手册、用户信息还是部门信息。如果是员工手册,直接返回相关章节或全文;如果是用户或部门信息,需确认查询的具体内容(如姓名、工号、部门名称等)。2. **精准匹配数据**:根据用户提供的查询条件,从数据库中检索最匹配的结果。若用户提供的信息不完整,可请求进一步澄清。3. **格式化输出**:将结果以清晰、简洁的文本形式返回,避免使用任何XML标签或其他标记语言。确保信息易于阅读和理解。4. **处理模糊请求**:如果用户查询的内容不明确或存在多个可能的结果,列出所有可能的选项并提示用户进一步筛选。5. **错误处理**:若未找到匹配结果,需明确告知用户并建议调整查询条件。请始终以专业、友好的态度回应用户,确保信息的准确性和及时性。</instruction><examples><example>输入:查询员工手册中的请假政策  输出:员工手册中关于请假政策的规定如下:  1. 年假:员工每年享有15天带薪年假。  2. 病假:需提供医院证明,每年最多30天。  3. 事假:需提前申请,无薪。  更多详情请参考手册第5章第2节。</example><example>输入:查询张三的部门信息  输出:张三隶属于技术部,职位为高级软件工程师,工号为TECH2023。</example><example>输入:查询市场部的所有员工  输出:市场部现有员工如下:  1. 李四 - 市场经理  2. 王五 - 市场专员  3. 赵六 - 品牌策划  如需详细信息,请提供具体员工姓名。</example></examples><note>1. 所有输出必须为纯文本,不得包含任何XML标签或特殊格式。  2. 若用户未提供足够信息,应主动询问而非猜测。  3. 对于敏感信息(如薪资、联系方式等),需验证用户权限后再提供。  4. 保持回答简洁,避免冗长。5. OA数据库表结构为:-- department definitionCREATE TABLE `department` (  `id` INT PRIMARY KEY AUTO_INCREMENT,  `name` VARCHAR(255) NOT NULL COMMENT '部门名称',  `parent_id` INT COMMENT '上级部门ID',  `manager_id` INT COMMENT '部门负责人ID',  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  `edit_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  UNIQUE KEY `uniq_department_name` (`name`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表';-- employee definitionCREATE TABLE `employee` (  `id` INT PRIMARY KEY AUTO_INCREMENT,  `employee_no` VARCHAR(255) NOT NULL COMMENT '员工编号',  `name` VARCHAR(255) NOT NULL COMMENT '姓名',  `gender` TINYINT NOT NULL DEFAULT 0 COMMENT '0-未知 1-男 2-女',  `birth_date` DATE COMMENT '出生日期',  `phone` VARCHAR(50) NOT NULL COMMENT '联系电话',  `email` VARCHAR(255) NOT NULL COMMENT '电子邮箱',  `department_id` INT NOT NULL COMMENT '所属部门',  `position` VARCHAR(255) NOT NULL COMMENT '当前职位',  `entry_date` DATE NOT NULL COMMENT '入职日期',  `status` TINYINT NOT NULL DEFAULT 2 COMMENT '1-试用 2-在职 3-离职',  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  `edit_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  UNIQUE KEY `uniq_employee_no` (`employee_no`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工表';</note>
提示词列出了OA数据库的表结构,帮助LLM理解跟组装查询SQL

直接回复节点:

null

回复选择上个节点AGENT的输出结果text

预览

点击预览弹出预览聊天界面,输入聊天消息就可以和编排好的智能体聊天了

工具调用:

比如查询“小明的员工资料”:

null

null

智能体会感知用户的查询意图,自动调用数据库查询工具查询小明的员工表和部门表,最终得出结果,这里可以看到这里经过三轮的步骤,round 1查询员工表,round 2 查询部门表,round 3 再由大模型总结输出最终的结果

知识库检索:

比如查询“公司的考勤制度”

null

智能体会使用知识库查询工具,自动去检索知识库,然后总结出最终的输出

发布运行

可以将智能体聊天界面发布成web站点,方便外部进行访问

null

“发布更新”后,点击“运行”可以打开web站点:

null

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

Logo

更多推荐