用 Dify 搭建个人 AI Agent 实战指南

本文是一份实战指南,介绍如何利用开源 LLM 应用开发平台 Dify,从零搭建个人 AI Agent。文章涵盖 Dify 的平台定位、工作流与 RAG Pipeline、Agent 工具生态、模型管理、Prompt IDE、LLMOps 可观测性,并给出 Docker 本地启动与 Python API 调用示例,帮助开发者快速将原型推进到生产环境。

A
AGISeed Team
AGISeed 作者

用 Dify 搭建个人 AI Agent 实战指南

Dify Cloud·Self-hosting·Documentation·Dify edition overview Dify Cloud·Self-hosting·Documentation·Dify edition overview

图 1

图 1

文章分类:Agent 与智能体
文章子分类:应用实践

Dify 是一款开源的 LLM 应用开发平台,它将 AI Workflow、RAG Pipeline、Agent、模型管理、可观测性以及 Backend-as-a-Service(BaaS)能力整合在一个直观的界面中,帮助开发者快速把原型推进到生产环境。无论是想零配置体验的 Cloud 版本、需要私有化部署的 Community Edition,还是需要企业级支持的组织,都能找到合适的使用形态。


1. Dify 平台定位与技术概览

图 2 图 2

Dify 的核心定位是面向 LLM 应用的开源开发平台,覆盖从原型到生产的完整生命周期。平台把构建 AI 应用所需的多种能力做了模块化封装:

  • AI Workflow:在可视化画布上编排复杂流程;
  • RAG Pipeline:从文档解析、文本提取到检索召回的完整链路;
  • Agent:支持基于 LLM Function Calling 与 ReAct 范式的智能体;
  • 模型管理:统一接入 GPT、Mistral、Llama3 以及 OpenAI API 兼容模型;
  • 可观测性:集成 Opik、Langfuse、Arize Phoenix 等工具;
  • BaaS:所有能力都对应 API,方便嵌入现有业务。

使用形态上,Dify 提供 Dify CloudCommunity Edition(社区版,可自托管)企业版,以及面向 AWS 用户的 AWS Marketplace 镜像


2. 核心能力:工作流、RAG 与 Agent

图 3 图 3

在明确平台定位之后,下面来看 Dify 最常被使用的三大核心能力:可视化工作流、RAG 与 Agent。

2.1 可视化 AI Workflow

Dify 提供了一个可视化画布(Visual Canvas),开发者可以在上面拖拽节点、连接逻辑,快速构建并调试复杂的 AI 工作流。它适合把大模型调用、条件分支、知识检索、工具调用等环节组合成可复用的 Pipeline。

2.2 完整的 RAG Pipeline

RAG(Retrieval-Augmented Generation,检索增强生成)能力覆盖了从文档接入到最终检索的全流程,开箱即支持 PDF、PPT 等常见文档格式的文本提取。典型流程包括:

  1. 上传文档;
  2. 文档解析与文本提取;
  3. 文本分块与向量化;
  4. 检索召回并注入 Prompt;
  5. 由 LLM 生成最终回答。

2.3 Agent 与工具生态

在 Dify 中,Agent 可以基于 LLM Function CallingReAct 范式构建。平台内置了 50 余种工具,例如 Google Search、DALL·E、Stable Diffusion、WolframAlpha 等,也支持接入自定义工具,满足个人或企业的差异化需求。


3. 模型管理与 Prompt 工程

3.1 广泛的模型支持

Dify 支持接入数十家推理服务商与自托管方案中的专有或开源 LLM,包括:

  • GPT 系列
  • Mistral
  • Llama3
  • 任意 OpenAI API 兼容模型

完整模型提供商列表可参考 Dify 官方文档中的 Model Providers

3.2 Prompt IDE

Dify 的 Prompt IDE 提供了直观的提示开发界面,支持:

  • 快速编写与迭代 Prompt;
  • 多模型性能对比;
  • 为聊天类应用添加文本转语音(Text-to-Speech)等附加功能。

4. LLMOps 与可观测性

Dify 内置了 LLMOps 能力,帮助开发者持续监控和分析应用日志、性能指标与生产数据。基于标注数据,可以不断迭代优化 Prompt、数据集和模型。

在可观测性集成方面,Dify 支持与以下工具对接:

  • Opik
  • Langfuse
  • Arize Phoenix

这些工具可以用于追踪调用链路、评估输出质量、定位线上问题。


5. 部署与运维实践

从核心能力过渡到实际落地,下面介绍如何快速启动 Dify、通过 API 调用,以及面向生产环境的部署方案。

5.1 最小本地启动步骤

Dify 官方推荐通过 Docker Compose 快速启动。最小系统要求为:

  • CPU ≥ 2 核
  • RAM ≥ 4 GiB

执行步骤如下:

# 1. 进入 Dify 代码仓库的 docker 目录
cd dify/docker

# 2. 复制默认环境变量文件
cp .env.example .env

# 3. 后台启动所有服务
#    -d 表示以 detached 模式运行,容器在后台执行
docker compose up -d

启动完成后,访问 http://localhost/install 完成初始化即可进入 Dify 控制台。

注:若需要自定义配置,可编辑 docker/.env,修改后重新执行 docker compose up -d。高级环境变量按主题拆分在 docker/envs/ 目录下。

5.2 通过 Python 调用 Dify API

Dify 的所有能力都提供了对应的 API。下面是一个最小可运行的 Python 示例,用于向一个 Dify Chat 应用发送消息并流式读取回复。

import requests
import json
import os

# 1. 配置
API_BASE = "https://your-dify-instance.com/v1"  # 自托管时替换为 http://localhost/v1
API_KEY = os.environ.get("DIFY_API_KEY", "your-app-api-key")
USER_ID = "user-001"  # 业务侧用户唯一标识

# 2. 请求体
payload = {
    "inputs": {"topic": "AI Agent"},  # 应用定义的输入变量
    "query": "如何用 Dify 搭建一个个人 AI Agent?",  # 用户当前问题
    "response_mode": "streaming",     # 流式返回
    "conversation_id": "",            # 首次对话留空
    "user": USER_ID,
}

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json",
}

# 3. 发起请求
response = requests.post(
    f"{API_BASE}/chat-messages",
    headers=headers,
    json=payload,
    stream=True,
)

# 4. 处理流式输出
for line in response.iter_lines():
    if line:
        text = line.decode("utf-8")
        # SSE 格式以 "data:" 开头
        if text.startswith("data:"):
            data = json.loads(text[5:])
            event = data.get("event")
            if event == "message":
                print(data.get("answer", ""), end="", flush=True)
            elif event == "error":
                print(f"\n[Error] {data}")

关键参数说明:

  • API_BASE:Dify 实例地址,Cloud 版为 https://api.dify.ai/v1,自托管默认本地为 http://localhost/v1
  • API_KEY:在 Dify 应用详情页获取的 API Secret Key
  • response_modeblocking 表示一次性返回完整结果,streaming 表示流式返回;
  • user:业务侧用户唯一标识,用于会话隔离与审计。

5.3 高可用与生产部署

对于需要高可用的场景,Dify 社区提供了多种部署方案:

方案说明
Kubernetes / Helm Chart社区贡献的 Helm Chart,支持在 K8s 上部署
Terraform一键部署到 Azure、Google Cloud 等云平台
AWS CDK基于 EKS 或 ECS 的 AWS 部署示例
阿里云计算巢 / DMS阿里云一键部署方案
Grafana + PostgreSQL将 Dify 的 PostgreSQL 作为数据源接入 Grafana,监控应用、租户、消息等维度指标

例如,通过社区贡献的 Grafana Dashboard,可以监控应用维度的请求量、延迟、消息数等指标。


6. Backend-as-a-Service 与开源生态

6.1 BaaS 能力

Dify 的每项功能都对应一组 API,开发者无需从头搭建 LLM 应用后端,即可将 Dify 嵌入现有业务逻辑。典型场景包括:

  • 在自有产品中集成 Chatbot;
  • 通过 API 触发工作流或 Agent;
  • 将 RAG 能力接入客服、知识库系统。

6.2 版本与使用场景

  • Dify Cloud:零配置体验,Sandbox 计划包含 200 次免费 GPT-4 调用;
  • Community Edition:自托管开源版本,源码可定制;
  • 企业版:面向组织的额外功能与商业支持;
  • AWS Marketplace:Dify Premium 镜像,可在 AWS VPC 中一键部署。

6.3 社区与贡献

Dify 拥有活跃的开源社区,主要参与渠道包括:

  • GitHub Discussions:反馈与提问;
  • GitHub Issues:Bug 反馈与功能提案;
  • Discord:与社区交流应用实践;
  • i18n 翻译项目:帮助将 Dify 翻译成更多语言。

总结

Dify 通过整合 Workflow、RAG、Agent、模型管理、LLMOps 与 BaaS,为个人开发者和团队提供了一个从原型到生产的 LLM 应用开发平台。借助 Docker Compose 可以快速本地启动,结合官方 API 又能方便地嵌入自有系统。对于需要生产化部署的团队,Kubernetes、Terraform、AWS CDK 以及阿里云等方案也提供了灵活的扩展路径。


原文来源langgenius/dify GitHub README

相关文章

Agent 与智能体

AI Agent 完整指南:从概念到生产级系统

AI Agent完整指南:从概念到生产级系统的架构设计、工具调用、规划推理与多Agent协作。

阅读更多
Agent 与智能体

AutoGen 多 Agent 协作架构解析

AutoGen是面向下一代LLM应用的多智能体对话开发框架。文章介绍其核心架构、内置智能体类型、对话机制、可扩展性及典型应用场景,并总结其在代码生成、复杂推理、内容创作等领域的优势与局限。

阅读更多