Dify实战:从零构建AI应用,可视化编排LLM工作流与RAG知识库

📅 2026/7/25 21:33:39 👁️ 阅读次数 📝 编程学习
Dify实战:从零构建AI应用,可视化编排LLM工作流与RAG知识库

如果你正在寻找一个能快速搭建 AI 应用的工具,但被市面上各种复杂的 SDK、API 调用和模型适配搞得头大,那么这篇文章就是为你准备的。

过去几个月,我观察到一个明显的趋势:越来越多的开发者和产品经理,不再满足于仅仅调用 ChatGPT 的 API 来做个聊天机器人。他们想的是,如何把大语言模型(LLM)的能力,像搭积木一样,快速、低成本地集成到自己的业务流程、内部系统或面向用户的产品中。这个需求催生了“LLM 应用开发平台”这个赛道,而Dify正是这个赛道里,一个由中国团队开源、功能全面且极具竞争力的选手。

很多人第一眼看到 Dify,可能会觉得它“又是一个类似 LangChain 的框架”。这是一个典型的误区。LangChain 更像是一个强大的“工具箱”,提供了丰富的连接器和链式编排能力,但它要求开发者有较强的编程功底,从零开始构建应用逻辑。而 Dify 的定位更偏向于一个“可视化、低代码的应用工厂”。它的核心价值在于:通过图形化的工作流编排和统一的 API 层,极大地降低了将 LLM 能力产品化的门槛。你不需要写复杂的代码来处理对话状态、上下文管理、知识库检索,甚至模型切换,Dify 已经把这些“脏活累活”做成了可视化的模块。

这篇文章不会只告诉你 Dify 是什么,我会带你深入它的内部,搞清楚三个关键问题:

  1. 它到底解决了什么核心痛点?是降低开发成本,还是简化运维,或是别的?
  2. 它宣称的“几百个LLM全支持”是怎么实现的?背后是简单的 API 包装,还是有更深层的设计?
  3. 它适合谁,不适合谁?个人开发者、创业团队、还是大厂内部项目?

更重要的是,我会通过一个完整的实战示例,手把手带你从零搭建一个具备“联网搜索”和“知识库问答”能力的智能助手,并拆解其中的关键配置和容易踩坑的细节。读完本文,你不仅能理解 Dify 的设计哲学,更能立刻动手,用它来构建你的第一个 AI 应用。

1. Dify 的核心定位:它到底解决了什么问题?

在深入技术细节之前,我们必须先厘清 Dify 要解决的真正问题。否则,你很容易把它当成又一个“玩具”或“又一个管理面板”。

AI 应用开发,尤其是基于大语言模型的开发,目前普遍存在几个棘手的痛点:

  • 集成复杂度高:每个模型提供商(OpenAI、Anthropic、国内各大厂)的 API 接口、参数、计费方式都不尽相同。想让应用支持多个模型,需要写大量的适配代码。
  • 工程化挑战大:一个可用的 AI 应用远不止调用completions接口那么简单。你需要处理上下文管理(记住之前的对话)、知识库检索(让模型回答特定领域问题)、文件解析(处理用户上传的 PDF、Word)、工作流编排(先检索,再总结,最后生成报告)等。这些功能每一个实现起来都不简单。
  • 迭代与评估困难:如何测试不同提示词(Prompt)的效果?如何对比不同模型在相同任务上的表现?如何收集用户反馈来优化应用?这些在传统开发中缺乏好用的工具。
  • 运维与监控缺失:如何监控 Token 消耗、API 调用延迟和错误率?如何管理不同环境(开发、测试、生产)的配置?

Dify 的解决方案是提供一个“全栈式”的平台。它试图将上述所有环节打包,提供一个统一的抽象层:

  1. 可视化编排:通过拖拽连接不同的节点(如 LLM、知识库检索、代码执行、条件判断)来构建应用逻辑,无需从零写代码。
  2. 统一模型层:在 Dify 后台配置好各类模型的 API Key 和端点,在前端构建应用时,可以像选择下拉菜单一样轻松切换模型,无需关心底层 API 差异。
  3. 内置核心能力:开箱即用地提供了对话应用、文本生成应用、知识库(基于向量数据库的检索增强生成,RAG)、工作流等核心应用类型。
  4. 运营与观测:提供了应用日志、对话历史、成本统计、效果评测等后台功能。

所以,Dify 解决的核心问题是“AI 应用产品化的工程效率”。它最适合的场景是:当你有一个明确的想法,想快速做出一个可交互、可迭代、可运营的 AI 功能原型甚至产品时。它大幅缩短了从“想法”到“可运行服务”的路径。

2. 核心概念与架构拆解

要用好 Dify,需要理解它的几个核心概念,这能帮助你在后续配置时做出正确选择。

2.1 应用类型(Application Type)

Dify 主要支持两种应用构建模式:

  • 对话型应用(Chat Application):类似于 ChatGPT,支持多轮对话。Dify 会自动帮你管理对话历史,将其作为上下文传递给模型。适合构建客服机器人、智能助手等。
  • 文本生成型应用(Completion Application):单次请求,单次响应。输入一段提示词和内容,模型生成一段文本。适合构建文本润色、内容摘要、代码生成等场景。
  • 工作流(Workflow):这是 Dify 更强大的功能。你可以将 LLM 调用、知识库检索、条件判断、变量赋值、HTTP 请求等操作作为节点,通过拖拽连线的方式构建复杂的自动化流程。适合处理需要多步骤推理或外部数据查询的任务。

2.2 模型供应商与模型

这是实现“几百个LLM全支持”的关键。Dify 的模型层是一个抽象。

  • 供应商(Provider):如 OpenAI、Azure OpenAI、Anthropic、Cohere、国内的通义千问、文心一言、智谱 AI、月之暗面(Kimi)等。你需要在 Dify 后台配置供应商的 API 密钥和基础 URL。
  • 模型(Model):在某个供应商下的具体模型,如gpt-4-turbo-previewclaude-3-sonnet-20240229qwen-max。Dify 预置了大量模型配置,你通常只需要提供 API Key。

其技术原理:Dify 内部维护了一个模型适配器。当你在应用里选择使用gpt-4时,Dify 会将你的请求参数(Prompt、温度等)转换成 OpenAI API 要求的格式,然后发起调用。对于其他供应商,也是类似的转换。这相当于为你统一了调用接口。

2.3 知识库(Knowledge Base)

这是实现 RAG(检索增强生成)的核心组件。

  • 工作原理:你上传文档(TXT、PDF、Word、Excel、PPT、Markdown),Dify 会使用嵌入模型(Embedding Model)将文档切片并转换成向量,存入向量数据库(默认是内置的 Chroma,也支持连接外部的 Milvus、PGVector 等)。
  • 检索流程:当用户提问时,Dify 先将问题转换成向量,然后在知识库中搜索最相关的文本片段,并将这些片段作为“上下文”和原始问题一起发送给 LLM,让 LLM 生成基于知识的回答。
  • 关键配置:文本分割器(如何切分文档)、嵌入模型(用什么模型生成向量)、检索方式(相似度/全文关键词/混合搜索)。

2.4 提示词编排(Prompt Orchestration)

Dify 提供了强大的提示词编辑器,支持变量插值。例如,你可以写一个提示词模板:“请根据以下上下文回答问题:{{context}}。问题是:{{question}}”。在应用运行时,{{context}}{{question}}会被实际的值动态替换。这比硬编码提示词灵活得多。

2.5 架构概览

一个简化的 Dify 架构如下:

[用户前端/API] -> [Dify 后端服务] -> [模型适配层] -> [外部 LLM API] |-> [向量数据库] <- [知识库文档处理管道] |-> [关系数据库] (存储应用配置、对话历史等)

后端使用 Python(FastAPI),前端是 React,部署相对简单。

3. 环境准备与部署

Dify 提供了多种部署方式,这里我们以最常用的Docker Compose 部署为例,这也是官方推荐的生产环境可用方式。

前置条件

  • 一台服务器或本地开发机(Linux/macOS/Windows WSL2 推荐)。
  • 已安装 Docker 和 Docker Compose。
  • 服务器建议至少 2 核 CPU,4 GB 内存。如果运行知识库等重度功能,需要更多资源。
  • 准备一个可用的 OpenAI API Key(或其他你计划使用的模型 API Key)用于测试。

部署步骤

  1. 获取部署文件: 访问 Dify 的 GitHub 仓库 Release 页面,下载最新版本的docker-compose.yaml文件,或者直接克隆仓库。

    # 创建一个工作目录 mkdir dify && cd dify # 从官方仓库获取 docker-compose 文件 (以最新版本为例,请检查仓库更新) wget https://github.com/langgenius/dify/releases/latest/download/docker-compose.yaml # 下载环境变量示例文件 wget https://github.com/langgenius/dify/releases/latest/download/.env.example -O .env
  2. 配置环境变量: 编辑.env文件,这是配置 Dify 的关键。你需要关注以下几个核心配置:

    # 编辑 .env 文件 vim .env
    # 设置一个安全的密钥,用于加密 SECRET_KEY=your-secret-key-please-change-this # 指定 Dify 对外的访问地址,如果是本地测试,可以是 http://localhost CONSOLE_API_URL=http://your-server-ip-or-domain CONSOLE_WEB_URL=http://your-server-ip-or-domain # 数据库配置(使用内置 PostgreSQL) DB_USERNAME=postgres DB_PASSWORD=your-db-password DB_HOST=db DB_PORT=5432 DB_DATABASE=dify # 向量数据库配置(使用内置 Chroma) VECTOR_STORE=chroma CHROMA_DATA_PATH=/data/chroma # 存储配置(使用本地存储,生产环境建议改为 S3 等对象存储) STORAGE_TYPE=local STORAGE_LOCAL_PATH=/data/storage # 邮件配置(用于用户注册/通知,可选) # MAIL_TYPE=smtp # MAIL_HOST=smtp.gmail.com # MAIL_PORT=587 # ...

    重要:请务必将SECRET_KEYDB_PASSWORD等默认值修改为强密码。

  3. 启动 Dify 服务: 使用 Docker Compose 启动所有服务。

    # 在包含 docker-compose.yaml 和 .env 的目录下执行 docker-compose up -d

    这个命令会拉取镜像并启动多个容器,包括后端 API、前端 Web、PostgreSQL、Redis、Chroma 等。首次启动可能需要几分钟。

  4. 访问与初始化

    • 在浏览器中打开http://your-server-ip-or-domain
    • 首次访问会进入初始化页面,你需要设置管理员账号(邮箱和密码)。
    • 登录后,你就进入了 Dify 的控制台。

4. 核心功能实战:构建一个“联网搜索+知识库”智能助手

现在,我们通过构建一个功能相对复杂的助手来体验 Dify 的核心能力。这个助手将具备:

  1. 回答实时性问题时,能自动联网搜索(使用 Serper 或 Tavily 等搜索 API)。
  2. 回答特定领域问题(如公司内部文档)时,能从我们上传的知识库中查找答案。
  3. 根据问题类型,智能选择使用搜索还是知识库。

我们将使用工作流(Workflow)功能来实现。

4.1 第一步:配置模型供应商

在构建应用前,我们需要先“喂”给 Dify 一些 LLM 的“通行证”。

  1. 登录 Dify 控制台,点击左侧导航栏的“模型供应商”->“添加模型供应商”
  2. 选择OpenAI。在配置页面填入:
    • 名称OpenAI-Prod(可自定义)
    • API Key:你的 OpenAI API Key
    • API Base URL:如果你用的是官方接口,留空即可;如果使用第三方代理,填入对应的地址。
  3. 点击“保存”。现在 Dify 就可以调用 OpenAI 的模型了。
    • (可选)你可以用同样的方式添加 Anthropic、通义千问等供应商。

4.2 第二步:配置工具 - 联网搜索能力

Dify 支持将外部 API 封装成“工具(Tool)”,在工作流中调用。这里我们以Serper(一个 Google 搜索 API)为例。

  1. 你需要先去 Serper 注册一个账号,获取免费的 API Key。

  2. 在 Dify 控制台,点击“工具”->“添加工具”

  3. 选择“自定义工具”->“API”

  4. 按照以下示例填写:

    • 工具名称Web_Search
    • 请求方法POST
    • 请求 URLhttps://google.serper.dev/search
    • 请求头:添加一项,HeaderX-API-KEYValue你的 Serper API Key(可以从变量中选择{{secret}}类型并命名,更安全)。
    • 请求体:选择JSON,内容为:
      { "q": "{{query}}" }
    • 参数定义:添加一个参数,变量名query描述搜索查询词类型string必填
    • 响应解析:这是一个关键且容易出错的地方。你需要告诉 Dify 如何从 Serper 返回的 JSON 中提取出我们想要的“搜索结果摘要”。点击“添加解析规则”。
      • 解析目标文本
      • 解析方式JSON->jq查询
      • jq 查询.organic[0:3] | map(\"Title: \" + .title + \"\\nLink: \" + .link + \"\\nSnippet: \" + .snippet) | join(\"\\n\\n\")
      • (这个 jq 查询的意思是:提取organic数组的前3个结果,并将每个结果的标题、链接和摘要片段拼接成一段文本。)
  5. 点击“保存”。现在,我们就有了一个名为Web_Search的工具,它可以在工作流中接收一个query参数,并返回搜索结果的文本摘要。

4.3 第三步:创建并配置知识库

  1. 点击左侧“知识库”->“创建知识库”
  2. 输入名称,如公司产品手册
  3. 在知识库详情页,点击“上传文件”,上传你的产品文档(支持 PDF、Word 等格式)。Dify 会自动进行文本提取、分割和向量化处理。
  4. 处理完成后,你可以点击“文档”查看分割后的文本片段,确保信息提取正确。

4.4 第四步:创建工作流(核心)

这是最体现 Dify 可视化编排能力的部分。

  1. 点击左侧“工作流”->“创建工作流”
  2. 给工作流起名,如智能问答助手
  3. 进入工作流编辑器,你会看到一个空的画布,左侧是节点列表。

我们来搭建这个工作流的逻辑

  • 开始节点:代表用户输入的问题。
  • 判断节点:我们需要判断用户的问题是“实时性/通用性”问题,还是“特定领域”问题。这里用一个简单的规则:如果问题中包含“今天”、“最新”、“股价”、“天气”等关键词,则走搜索分支;否则,走知识库分支。
    • 从左侧拖拽一个“IF/ELSE”节点到画布。
    • 在条件设置中,我们可以使用一个技巧:用“代码”节点来判断。先拖一个“代码”节点(Python),将其连接到开始节点后。在代码节点中编写简单逻辑:
      # 输入变量是 start_node 输出的 question question = inputs['question'].lower() realtime_keywords = ['今天', '最新', '股价', '天气', '新闻'] # 检查是否包含任何实时性关键词 is_realtime = any(keyword in question for keyword in realtime_keywords) # 输出一个布尔值 print({'is_realtime': is_realtime})
    • 将代码节点的输出is_realtime连接到 IF/ELSE 节点的条件端口。
  • 搜索分支(IF)
    • 拖拽我们之前创建的“工具”节点Web_Search到 IF 分支下。
    • 将开始节点的question输出,连接到Web_Search工具的query输入。
    • 拖拽一个“LLM”节点(比如选择gpt-4模型)到Web_Search之后。
    • 编写这个 LLM 节点的提示词,将搜索到的信息整合成答案:
      你是一个有帮助的助手。请根据以下联网搜索到的信息,回答用户的问题。 搜索信息: {{search_result}} 用户问题: {{question}} 请用中文给出清晰、准确的回答。如果搜索信息不足以回答问题,请如实告知。
    • Web_Search节点的输出,作为变量search_result填入提示词。将开始节点的question作为变量question填入。
  • 知识库分支(ELSE)
    • 拖拽一个“知识库检索”节点到 ELSE 分支下。
    • 在节点配置中,选择我们创建的知识库公司产品手册
    • 将开始节点的question输出,连接到该节点的query输入。
    • 拖拽一个“LLM”节点到“知识库检索”节点之后。
    • 编写提示词,实现 RAG:
      请严格根据以下上下文信息回答问题。如果上下文信息中没有相关答案,请说“根据现有资料,我无法回答这个问题”,不要编造信息。 上下文: {{context}} 问题: {{question}} 答案:
    • 将“知识库检索”节点的输出content,作为变量context填入。
  • 结束节点
    • 拖拽一个“结束”节点。
    • 将两个分支的 LLM 节点的输出,都连接到这个结束节点。Dify 会自动根据条件判断,将其中一个分支的结果作为最终输出返回给用户。

最终,你的工作流看起来应该像一个有判断、有分支的流程图。点击右上角的“保存”,然后可以点击“测试”按钮,输入不同的问题来验证逻辑是否正确。

4.5 第五步:发布为 API 或 Web 应用

工作流测试无误后,就可以发布了。

  1. 在工作流编辑页面,点击右上角“发布”
  2. 发布后,你会获得一个唯一的 API 端点(Endpoint)和 API Key。
  3. 你可以:
    • 直接使用 API:通过 HTTP POST 调用这个端点,与你的智能助手交互。
    • 嵌入到网站:Dify 提供了嵌入 iframe 的代码片段。
    • 创建 Web App:在“应用”页面,你可以基于这个工作流创建一个带有聊天界面的 Web 应用,并分享链接给他人使用。

5. 关键配置详解与最佳实践

5.1 模型配置的注意事项

  • API 密钥管理:强烈建议在“模型供应商”配置中使用“加密”方式存储 API Key,而不是明文写在环境变量里。Dify 支持从 Vault 等密钥管理服务读取。
  • 模型参数调优:在 LLM 节点中,可以调整Temperature(创造性)、Top PMax Tokens(最大生成长度)等参数。对于知识库问答,通常建议降低Temperature(如 0.1)以获得更确定、更忠于上下文的回答。
  • 回退策略:Dify 支持配置模型回退。例如,主模型使用gpt-4,当它不可用时,自动切换到gpt-3.5-turbo。这在生产环境中能提高可用性。

5.2 知识库优化的核心

知识库的效果直接决定 RAG 应用的质量。

  • 文本分割策略:Dify 提供了按字符、按标点分割等方式。对于技术文档,按“句子”或“段落”分割通常比固定字符数更好。可以尝试不同的分割器,观察检索效果。
  • 嵌入模型选择:Dify 默认使用text-embedding-ada-002,也支持配置 OpenAI 的其他嵌入模型或开源模型(如BGEM3E)。对于中文场景,使用针对中文优化的嵌入模型(如BGE-zh)效果会显著提升。你需要在环境变量中配置自定义嵌入模型的端点。
  • 检索方式:Dify 支持“向量相似度检索”、“全文关键词检索”和“混合检索”。对于专业术语多的文档,“混合检索”往往能结合两者的优点。
  • 预处理文档:上传前,尽量清理文档中的无关内容(页眉、页脚、广告),保持结构清晰。复杂的表格和图片中的文字可能无法被很好提取。

5.3 工作流设计原则

  • 节点职责单一:每个节点只做一件事。例如,一个节点负责检索,一个节点负责判断,一个节点负责调用 LLM。这样便于调试和复用。
  • 善用变量:在不同节点间传递数据时,使用清晰的变量名。Dify 的变量系统非常灵活。
  • 错误处理:在工作流中,可以为关键节点(如 LLM 调用、工具调用)添加“错误处理”分支,当节点执行失败时,跳转到备用流程或返回友好的错误信息。
  • 添加日志:在调试复杂工作流时,可以在关键节点后添加“代码”节点,打印中间变量的值,方便排查问题。

5.4 生产环境部署建议

  • 数据库与存储:Docker Compose 默认使用内置的 PostgreSQL 和 Chroma。对于生产环境,建议将数据挂载到持久化卷,并考虑使用外部的、更强大的数据库(如 PostgreSQL for metadata, Weaviate/Qdrant for vector)。
  • 性能与扩展:API 服务是无状态的,可以通过增加容器副本数来水平扩展。向量数据库检索可能是瓶颈,需要根据知识库大小和并发量选择合适的规格。
  • 安全
    • 务必修改默认的SECRET_KEY和数据库密码。
    • 通过 Nginx 等反向代理配置 HTTPS。
    • 合理设置 API 调用速率限制和权限控制(Dify 的企业版功能更完善)。
  • 监控:关注 Docker 容器的资源使用情况(CPU、内存)。Dify 控制台提供了基本的 Token 消耗和调用次数统计,对于更细粒度的监控,需要结合日志系统。

6. 常见问题与排查思路

问题现象可能原因排查方式解决方案
应用启动失败,数据库连接错误1..env中数据库密码配置错误。
2. PostgreSQL 容器未成功启动。
1. 检查docker-compose logs db查看数据库日志。
2. 确认.envDB_PASSWORDdocker-compose.yaml中对应服务的环境变量一致。
1. 修正.env文件中的密码。
2. 运行docker-compose down -v清理数据卷后重新up -d
上传文件到知识库一直“处理中”1. 嵌入模型服务不可用或 API Key 错误。
2. 文本分割过程出现异常。
1. 在“模型供应商”中检查嵌入模型(如 OpenAI)的配置状态。
2. 查看后端日志docker-compose logs backend,搜索错误信息。
1. 检查并更正嵌入模型的 API Key。
2. 尝试上传一个简单的 TXT 文件测试。
工作流中 LLM 节点返回空或错误1. 模型供应商配额不足或 API Key 失效。
2. 提示词中的变量未正确连接或为空。
1. 在 Dify 控制台的“日志与审计”中查看该次调用的详细请求和响应。
2. 在工作流测试时,使用“调试”模式,查看每个节点的输入输出。
1. 检查模型供应商的余额和状态。
2. 确保上游节点(如知识库检索、工具调用)的输出正确传递到了 LLM 节点的提示词变量中。
知识库检索结果不相关1. 文本分割策略不合适,导致语义片段破碎。
2. 嵌入模型不适合当前语种或领域。
3. 检索返回的片段数量(Top K)设置太小。
1. 在知识库的“文档”页面,查看文档被分割成的具体片段是否合理。
2. 尝试不同的分割方式。
3. 在知识库检索节点中,增加“召回数量”。
1. 调整知识库处理设置中的“分割方式”和“分割长度”。
2. 考虑使用针对性的嵌入模型。
3. 适当增加 Top K 值,并在提示词中要求模型“根据最相关的上下文回答”。
Web 搜索工具调用失败1. 外部 API Key 无效或过期。
2. 请求参数格式或解析规则(jq)写错。
1. 在“工具”配置页面,使用“测试”功能,输入参数看原始返回。
2. 查看后端日志中该工具调用的 HTTP 请求和响应详情。
1. 更新有效的 API Key。
2. 使用更简单的 jq 查询(如.organic[0].snippet)先确保能拿到数据,再逐步完善解析规则。
访问前端页面缓慢或白屏1. 服务器资源不足。
2. 浏览器缓存问题。
3. 网络问题。
1. 使用docker stats命令查看各容器资源占用。
2. 打开浏览器开发者工具,查看 Console 和 Network 标签页的错误信息。
1. 为服务器升级配置。
2. 清理浏览器缓存,或尝试无痕模式。
3. 检查防火墙和安全组设置,确保端口开放。

7. 总结:Dify 的适用边界与未来展望

经过以上的深入探索和实战,我们可以对 Dify 做一个清晰的定位总结。

Dify 非常适合:

  • 快速原型验证:产品经理或创业者,需要快速验证一个 AI 想法,Dify 能在几小时内搭建出可交互的演示。
  • 内部工具开发:企业内需要开发一些基于文档的智能问答、数据查询、报告生成等工具,Dify 能极大降低开发成本,让非核心开发人员也能参与构建。
  • 轻量级对外服务:为网站或客户提供一个功能明确的智能客服或文档助手,Dify 提供的 API 和嵌入方式足够使用。
  • 作为 LLM 应用的中台:技术团队可以用 Dify 统一管理模型密钥、知识库和基础工作流,为其他业务系统提供稳定的 AI 能力 API。

Dify 可能不是最佳选择:

  • 超高性能、高并发场景:虽然可以扩展,但作为一体化平台,其性能极限可能不如从零开始精心设计的微服务架构。
  • 需要深度定制复杂逻辑:如果业务逻辑极其复杂,需要大量自定义代码和状态管理,直接使用 LangChain 或 LlamaIndex 等框架可能更灵活。
  • 对数据隐私和部署有极端要求:虽然可以本地部署,但若要求所有组件(包括大模型)完全内网私有化,则需要解决私有模型的接入问题,这可能超出 Dify 开箱即用的范围。

Dify 代表了 LLM 应用开发“平民化”和“工程化”的一个重要方向。它把原本分散的、需要专业知识的功能模块,整合成了一个可视化的、可运营的系统。对于大多数中小型团队和个人开发者而言,它显著降低了 AI 应用的门槛。

它的开源属性也意味着社区可以不断为其贡献新的模型适配器、工具节点和插件。随着生态的丰富,Dify 有能力成为一个更强大的 AI 应用操作系统。对于开发者来说,现在正是深入学习和尝试这类平台的好时机,无论你是想提升个人效率,还是为公司探索 AI 落地场景,掌握像 Dify 这样的工具,都能让你在 AI 浪潮中多一份主动权。建议将本文作为入门手册收藏,在实际搭建过程中,多利用其“测试”和“调试”功能,逐步构建出符合你业务需求的智能应用。