Dify搭建AI智能体

什么是Dify

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

Dify的核心特点

  • 拖拽式工作流编排
    支持Prompt设计、Agent构建等非技术人员快速定义AI应用逻辑,无需深入底层代码。

  • 内置Prompt IDE
    可调试提示词、对比模型性能,并集成文本转语音等扩展功能。

  • 强大的模型兼容性
    支持数百种主流模型(如GPT-4、DeepSeek、Llama3、通义千问),兼容OpenAI API协议,可灵活切换云端或本地私有模型。
    通过OneAPI协议动态路由请求,优化模型调用成本。

  • 企业级RAG引擎
    支持长文档解析(PDF/PPT等),结合向量数据库(如Milvus)和混合检索(关键词+语义),提升知识库问答准确性。
    支持引用溯源和人工干预,减少模型“幻觉”。

  • 灵活的Agent框架
    基于ReAct策略(推理+行动),可调用50+内置工具(如谷歌搜索、DALL·E),或自定义API扩展复杂任务处理能力。

  • 全链路LLMOps支持
    提供模型监控、日志分析、A/B测试等功能,支持Kubernetes私有化部署,满足金融、医疗等高合规场景。


Dify的版本

  • 云版本:可直接在线使用,无需部署。
  • 私有化部署版本:支持本地化部署,保障数据安全。

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
    
  3. 复制环境配置文件

    cp .env.example .env
    # Windows命令:copy .env.example .env
    
  4. 启动Docker Compose

    docker compose up
    

    注意:初始启动时不建议使用-d参数(后台执行),避免因网络超时中断镜像拉取。国内网络环境不稳定,建议先拉取完镜像后再使用-d后台运行。

  5. 检查容器运行状态

    docker compose ps
    

管理界面和配置

  1. 浏览器访问:http://localhost/install,配置登录邮箱、账号名和密码。
  2. 登录后打开主界面:http://localhost

大模型供应商配置

  • 接入DeepSeek
    在设置中选择安装DeepSeek,配置API Key,即可在工作流节点中使用。

  • 接入本地Ollama模型
    配置本地Ollama的基础URL,注意IP不能使用localhost,需使用局域网IP(如http://192.168.3.202:11434),端口默认为11434。这是因为Dify通过Docker启动,localhost指向容器内部而非宿主机。


搭建AI智能体:以OA行政小助手为例

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

创建应用

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

准备工作

1. 创建知识库
  • 导入《员工手册》等文本到知识库。
  • 设置文本分段长度和重叠长度,使用本地Ollama部署的bge-3模型作为Embedding模型。
2. 创建知识库查询工作流
  • 工作流编排完成后,点击“发布为工具”,将工作流发布为工具。
    Dify无官方知识库检索插件,因此通过自定义工作流实现查询功能,并将其发布为插件供智能体调用。
3. 安装数据库查询工具
  • 在插件市场中搜索“数据库查询”,安装该工具。
4. 安装Agent策略
  • 在插件市场中搜索“Dify Agent策略”,安装该插件,为智能体提供策略处理支持。

编排流程

工作流包含三个节点:开始Agent直接回复

开始节点
  • 配置sys.query字段,接收用户聊天输入消息。
Agent节点
  • Agent策略:选择ReAct,支持多轮迭代调用工具处理。
  • 工具列表
    1. 查询知识库(自定义工作流发布为工具)
    2. SQL查询(数据库查询工具)
  • 指令(系统提示词)
    设定智能体角色、处理步骤、输出格式及注意事项,包括数据库表结构信息。
直接回复节点
  • 配置回复内容为Agent节点的输出结果。

预览与测试

  • 点击预览按钮,弹出聊天界面,输入消息测试智能体功能。
  • 示例查询:
    • 查询“小明的员工资料”:智能体自动调用数据库查询工具,经过多轮步骤(查询员工表、部门表、结果总结)输出最终结果。
    • 查询“公司的考勤制度”:智能体使用知识库查询工具检索知识库,并总结输出。

发布运行

  • 将智能体聊天界面发布为Web站点,方便外部访问。
  • 点击“发布更新”后,通过“运行”打开Web站点。

通过以上步骤,即可基于Dify搭建一个功能完整的AI智能体,实现自然语言查询、知识库检索和数据库操作等复杂任务。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐