Dify入门教程,搭建 AI 应用与知识库

文章资讯2小时前发布 52dhw
2 0 0

搭建 AI 应用与知识库官网:https://github.com/langgenius/dify

一、Dify 是什么?

Dify 是一个开源的大语言模型应用开发平台,主要用于帮助用户搭建 AI 聊天机器人、智能体(AI Agent)、知识库问答系统以及各种自动化工作流。

简单来说,如果你想开发一个能够回答问题、读取企业文档、调用外部工具,甚至完成一系列复杂任务的 AI 应用,但又不想从头编写大量代码,那么 Dify 就是一个值得了解的工具。

传统的 AI 应用开发通常需要处理模型接口、提示词、数据存储、知识检索、业务逻辑和前端交互等多个环节。对于没有太多开发经验的人来说,这些工作存在一定门槛。

Dify 将这些能力整合到一个可视化平台中,用户可以通过配置模型、拖拽工作流节点、上传知识库资料等方式,逐步构建自己的 AI 应用。

例如,你可以使用 Dify:

  • 搭建一个能够回答产品问题的 AI 客服。
  • 将 PDF、Word 等文档制作成 AI 知识库。
  • 创建能够调用外部工具的 AI 智能体。
  • 搭建自动处理文本、分类信息和生成内容的工作流。
  • 将 AI 应用通过 API 接入自己的网站或其他软件。

Dify 并不是一个新的 AI 大模型,而是一个负责连接和管理大模型、数据、工具及业务流程的应用开发平台。

它支持接入多种商业及开源模型,也支持通过 Docker 在自己的服务器上部署。对于想要学习 AI 应用开发、搭建私有知识库或开发 AI 产品的用户来说,具有较高的实用价值。

二、Dify 有哪些主要功能?

Dify 的功能比较丰富,但对于初学者来说,重点了解以下几个方面就足够了。

1. 可视化 AI 工作流

工作流是 Dify 的核心功能之一。

它可以将一个复杂的任务拆分成多个独立步骤,再按照预设逻辑连接起来,让 AI 按照指定流程完成任务。

例如,想要搭建一个自动生成文章的工具,可以设计这样的流程:

  1. 用户输入文章主题。
  2. AI 根据主题生成文章大纲。
  3. 大模型根据大纲撰写正文。
  4. 另一个节点负责检查文章内容。
  5. 最后输出完整文章。

整个过程可以通过可视化节点进行配置,不需要从头编写完整的后端程序。

Dify 还支持条件判断、循环、变量处理和多个模型节点协作,适合搭建具有一定复杂度的 AI 自动化任务。

2. AI Agent 智能体

AI Agent 是 Dify 的另一项重要能力。

普通聊天机器人通常以回答问题为主,而智能体可以根据任务需求,判断应该调用哪些工具,并结合工具返回的信息完成工作。

例如,可以搭建一个能够辅助处理信息的智能体:

  • 根据用户的问题判断任务类型。
  • 调用计算工具处理数字。
  • 使用外部 API 获取数据。
  • 根据返回结果整理信息。
  • 最后生成完整回答。

Dify 支持配置智能体、工具和相关技能,也可以连接 Marketplace 中的插件、MCP 服务及自定义 API。

对于希望探索 AI 自动化和智能体应用的用户来说,这项功能非常实用。

需要注意,智能体的执行能力取决于模型、工具权限和具体配置,并不是接入 Dify 后就能自动完成所有任务。

3. RAG 知识库

RAG 是检索增强生成技术,也是 Dify 在实际业务中非常重要的应用场景。

简单来说,就是先让 AI 从指定的资料中查找相关信息,再根据找到的内容回答问题。

例如,一家公司拥有大量产品说明书、售后政策和内部操作文档,可以将这些资料上传到 Dify 知识库。

用户提问时,系统会检索相关文档片段,再将检索结果提供给大模型,让 AI 根据企业自己的资料回答问题。

常见用途包括:

  • 企业内部知识库。
  • 产品说明书问答。
  • 网站智能客服。
  • 员工制度查询。
  • 技术文档助手。
  • 教育资料问答。

Dify 支持文档导入、文本切分、索引处理、向量检索等环节,也提供知识库相关的 API,方便其他程序调用。

4. 多种大语言模型接入

Dify 不要求用户只能使用某一家 AI 模型服务。

它支持接入多种商业和开源大语言模型,以及自托管模型服务。

用户可以根据自己的需求选择合适的模型,例如 GPT、Claude、DeepSeek、Gemini 或其他兼容接口的模型。

不同模型的能力、价格、响应速度和上下文长度可能存在差异。

通过 Dify 的模型管理功能,可以统一配置模型服务,并在应用开发过程中选择适合的模型。

需要注意,具体能否使用某个模型,取决于 Dify 当前支持的模型提供商、接口兼容情况和服务商的实际可用性。

5. Prompt 提示词管理

提示词决定了 AI 如何理解任务,以及应该以什么方式回答问题。

Dify 提供提示词配置和调试能力,可以为不同应用设置系统提示词、用户输入模板以及相关参数。

例如,制作一个 AI 写作助手时,可以要求模型:

  • 使用自然、易读的中文。
  • 不要重复表达相同观点。
  • 根据用户提供的主题组织内容。
  • 对不确定的信息明确说明。
  • 输出符合指定格式的结果。

还可以通过测试不同提示词和模型,比较生成效果,逐步优化应用表现。

6. 插件和 MCP 扩展

Dify 支持通过插件和外部工具扩展应用能力。

用户可以从 Dify Marketplace 选择需要的工具,也可以根据实际需求接入自定义 API 和 MCP 服务。

例如,可以为智能体配置搜索、信息处理和其他外部服务,让 AI 不再局限于生成文字,而是能够获取外部信息并执行特定操作。

不过,插件和 MCP 工具可能涉及第三方账号授权、API Key 和数据访问权限,使用前需要确认来源及安全性。

7. API 接口与应用发布

Dify 不只是一个供用户在网页中体验 AI 的平台,还支持将创建好的应用通过 API 接入其他程序。

例如,你可以在 Dify 中搭建一个 AI 客服,再将它接入自己的网站。

用户在网站中提问,网站后端向 Dify 发送请求,Dify 调用配置好的模型和知识库,最后将回答返回给网站。

此外,还可以根据应用类型,通过 Dify 提供的发布能力分享应用或进行嵌入。

这使得 Dify 不仅适合个人学习,也适合开发者进行 AI 产品原型验证和业务系统集成。

8. 应用监控与运行分析

AI 应用上线后,并不意味着开发工作就结束了。

用户可能会提出各种不同的问题,模型也可能出现回答不准确、调用失败或响应缓慢等情况。

Dify 提供应用运行日志和监控分析能力,可以帮助开发者了解应用的调用情况、执行过程和运行表现。

结合用户反馈及相关评估数据,还可以持续调整提示词、知识库和模型配置,逐步改善应用效果。

三、Dify 怎么使用?

对于刚接触 Dify 的用户,建议先使用官方云服务体验基本功能。如果后续需要更多控制权,再考虑自行部署。

1. 注册并进入 Dify

首先访问 Dify 官方平台:

https://cloud.dify.ai/

注册账号并登录,即可进入平台。

Dify 提供云端服务,不需要用户自己购买服务器、安装 Docker 或配置数据库,就可以开始体验 AI 应用开发。

如果希望自己掌握数据和部署环境,也可以选择下载开源项目进行本地或服务器部署。

2. 配置大模型

进入 Dify 后,首先需要配置一个可用的大语言模型。

在模型供应商设置中,选择需要使用的模型服务商,然后按照服务商的要求填写 API Key 等信息。

例如,使用某个大模型服务时,通常需要:

  1. 前往对应模型服务商的官方网站。
  2. 注册账号并开通相应的 API 服务。
  3. 创建 API Key。
  4. 返回 Dify 的模型供应商设置页面。
  5. 填写 API Key 和相关配置信息。
  6. 保存并测试模型是否正常连接。

模型配置成功后,创建 AI 应用时就可以选择对应模型。

需要注意,Dify 本身不等于大模型服务。使用第三方模型通常需要单独申请 API,并根据服务商的规则支付调用费用。

3. 创建第一个 AI 应用

模型配置完成后,就可以开始创建应用。

进入应用页面,选择创建应用,根据实际用途选择合适的应用类型。

常见选择包括:

  • 聊天助手: 适合创建能够持续对话的 AI 助手。
  • Agent: 适合需要调用工具、处理任务的智能体。
  • 工作流: 适合按照固定步骤执行任务的自动化应用。
  • 聊天流: 适合需要结合多轮对话和工作流逻辑的应用。

初学者建议先创建一个简单的聊天助手。

创建应用后,可以设置应用名称、描述和系统提示词。

例如,制作一个 AI 编程助手,可以设置:

你是一名专业的编程助手,请使用清晰易懂的中文回答用户的编程问题。对于复杂问题,尽可能提供分步骤说明和示例代码。如果不确定答案,请明确指出。

配置完成后,选择已经接入的模型,就可以开始测试。

4. 创建自己的知识库

如果希望 AI 能够根据自己的资料回答问题,就需要创建知识库。

进入 Dify 的知识库页面,选择创建知识库,然后上传需要使用的文件。

根据资料类型和业务需求,可以导入 PDF、TXT、Markdown、Word 等支持的文档格式,具体支持范围以当前版本为准。

上传文件后,还需要配置文档处理方式。

主要包括:

  • 文本分段: 将较长的文档拆分成适合检索的小段。
  • 索引方式: 选择适合数据和检索需求的索引配置。
  • 嵌入模型: 将文本转换成向量表示,供向量检索使用。
  • 检索设置: 根据实际情况调整召回数量、检索策略等参数。

配置完成后,启动文档处理和索引任务。

等待知识库处理完成,就可以在知识库页面测试检索效果。

需要注意,知识库不是简单地上传文件就能保证回答准确。文档质量、切分方式、索引配置和检索效果都会影响最终结果。

5. 将知识库接入 AI 应用

创建知识库后,还需要将它连接到具体的 AI 应用。

例如,想要制作一个能够回答公司产品问题的智能客服,可以按照以下思路配置:

  1. 创建一个聊天应用。
  2. 设置应用的角色和回答规则。
  3. 在应用工作流中添加知识检索节点,或使用对应的知识库配置功能。
  4. 选择之前创建的知识库。
  5. 将检索到的资料传递给大语言模型。
  6. 设置模型根据检索内容回答用户问题。
  7. 测试不同类型的问题,检查回答是否准确。

完成后,用户就可以直接向这个 AI 助手提问。

例如:

用户:产品出现故障应该如何申请售后?

AI:根据知识库中已经上传的售后政策,整理相关申请流程和注意事项。

如果知识库中没有相关信息,建议设置合理的兜底回答,避免 AI 随意编造答案。

6. 测试和优化应用

应用初步搭建完成后,不建议马上对外发布。

应该先通过测试功能检查实际效果。

可以重点测试:

  • 普通问题能否正常回答。
  • 模型是否遵守系统提示词。
  • 知识库能否找到相关内容。
  • 回答是否出现明显错误。
  • 多轮对话是否能够正常进行。
  • 外部工具和 API 是否正常运行。

如果发现回答质量不理想,可以调整提示词、模型、知识库切分和检索参数,再进行测试。

7. 发布应用并接入其他网站

确认应用运行正常后,就可以使用 Dify 的发布功能。

根据具体应用类型,可以选择适合的发布方式,例如:

  • 通过应用访问地址提供使用入口。
  • 将聊天应用嵌入网站。
  • 使用 API 将应用接入自己的程序。
  • 在支持的场景下通过工作流或其他集成方式调用。

如果需要通过 API 集成,通常需要在应用的 API 访问页面获取接口地址和 API Key。

开发者可以在自己的网站后端调用接口,再将生成结果展示给用户。

特别注意:API Key 应当保存在服务端,不要直接写在公开网页的 JavaScript 代码中,否则可能被其他人获取并滥用。

四、Dify 如何自行部署?

如果不希望使用云端服务,或者需要在自己的服务器上管理应用和数据,可以选择部署 Dify 开源版本。

官方提供 Docker Compose 部署方式,适合没有复杂定制需求的用户。

1. 准备部署环境

部署之前,需要准备一台能够正常运行 Docker 的电脑或服务器。

官方当前文档给出的基本要求包括:

  • CPU:至少 2 核。
  • 内存:至少 4GB。
  • Docker:需要正常运行的 Docker 环境。
  • Docker Compose:2.35.0 或更高版本。
  • Git:用于获取项目代码。
  • OpenSSL:用于生成 Agent 本地沙箱所需的安全令牌。

这些是基础部署要求,不代表适合所有生产场景。实际运行还需要考虑并发用户数量、知识库规模、模型调用和数据存储需求。

Windows 用户可以通过 WSL 2 配合 Docker Desktop 部署;macOS 用户可以使用 Docker Desktop;Linux 用户可以安装 Docker Engine 和 Docker Compose。

2. 下载 Dify 项目

打开终端,执行:

git clone https://github.com/langgenius/dify.git

下载完成后,进入项目的 Docker 目录:

cd dify/docker

3. 配置环境变量

复制官方提供的环境变量模板:

cp .env.example .env

然后生成 Agent 本地沙箱所需的随机令牌:

openssl rand -hex 32

将生成的内容填写到 .env 文件中的:

DIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKEN=

等号后面填写刚才生成的随机字符串。

不要将真实密钥公开分享,也不要直接使用示例密钥部署生产环境。

4. 启动 Dify

完成基础配置后,在 docker 目录中执行:

docker compose up -d

检查容器运行状态:

docker compose ps --all

如果相关服务已经正常启动,就可以继续进行初始化。

5. 进入管理页面

打开浏览器,访问:

http://localhost/install

按照页面提示创建管理员账号。

初始化完成后,访问:

http://localhost

即可进入 Dify 管理界面,开始配置模型、创建应用和搭建知识库。

如果部署在远程服务器上,需要将 localhost 替换为服务器对应的 IP 地址或域名,并根据实际端口和网络配置访问。

以上是基础部署流程,正式部署还需要进一步配置数据库、Redis、沙箱、插件服务、HTTPS 和其他安全参数。

官方部署文档:https://docs.dify.ai/en/self-host/deploy/quick-start/docker-compose

五、哪些人适合使用 Dify?

Dify 的使用范围比较广,不同技术水平的用户都可以根据实际需求选择使用。

1. AI 应用开发者

如果你希望快速开发 AI 聊天机器人、智能客服或其他 AI 应用,Dify 可以帮助你减少基础架构和工作流开发方面的重复工作。

2. Python 和后端开发者

开发者可以利用 Dify 快速搭建 AI 应用原型,再通过 API、插件和自定义服务将其接入已有业务系统。

如果需要更复杂的业务逻辑,也可以在 Dify 外部编写程序,与平台进行协作。

3. 企业和团队

企业可以利用 Dify 搭建内部知识库、智能客服、文档处理工具和业务辅助系统。

特别是拥有大量内部文档的团队,可以通过 RAG 知识库,让员工更方便地查询企业资料。

4. AI Agent 学习者

如果想了解智能体如何调用工具、执行工作流和处理复杂任务,可以通过 Dify 进行实践。

它提供了比较直观的可视化操作环境,有利于理解 AI Agent 的基本工作原理。

5. 产品经理和创业者

对于想要开发 AI 产品,但暂时没有完整技术团队的创业者来说,Dify 可以帮助快速验证产品想法。

例如,先搭建一个 AI 客服原型,测试用户需求和实际效果,再决定是否投入更多资源进行独立开发。

6. 内容创作者和普通 AI 爱好者

如果你经常需要进行文章整理、资料查询、文本分类和内容生成,也可以利用 Dify 搭建符合自己需求的 AI 工具。

不过,涉及复杂流程、API 接入和服务器部署时,仍然需要一定的学习成本。

六、使用 Dify 需要注意什么?

Dify 虽然能够降低 AI 应用开发门槛,但在实际使用过程中,有一些问题需要特别注意。

1. 开源不代表所有服务免费

Dify 的开源版本可以自行部署,但不代表使用过程中产生的所有费用都免费。

例如:

  • 第三方大模型 API 可能收费。
  • 云服务器需要支付租赁费用。
  • 向量数据库及其他外部服务可能产生费用。
  • Dify Cloud 和企业版本有各自的服务计划及使用限制。

如果只是想学习和测试,可以先了解官方云服务的当前套餐,或者在本地部署开源版本。

2. 注意开源许可证限制

Dify 使用的是经过修改的 Apache License 2.0 许可证,并附带额外条件,并非完全不受限制的标准 Apache 2.0 协议。

其中需要特别关注两项规定:

  • 未获得 Dify 书面授权,不得使用项目源码运营多租户环境。
  • 使用 Dify 前端时,不得移除或修改控制台及应用中的 Logo 和版权信息。

如果打算将 Dify 用于商业项目、提供 SaaS 服务或进行二次开发,建议提前阅读官方 LICENSE 文件,确认自己的使用方式符合许可要求。

许可证地址:

https://github.com/langgenius/dify/blob/main/LICENSE

3. 注意 API Key 和密钥安全

Dify 需要连接大模型、数据库和其他外部服务,使用过程中会涉及各种 API Key 和访问凭据。

不要将这些密钥直接放在公开代码、网页前端或可以被其他人访问的工作流配置中。

建议使用环境变量、安全配置和适当的权限管理,并定期检查密钥使用情况。

4. 不要随意暴露管理后台

如果将 Dify 部署在公网服务器上,需要做好安全配置。

正式部署前,应重点检查:

  • 管理员账号是否使用强密码。
  • 数据库和 Redis 是否使用独立密码。
  • Agent 沙箱和代码执行服务是否配置安全密钥。
  • 向量数据库是否启用了身份验证。
  • 插件服务的密钥是否正确配置。
  • 是否启用了 HTTPS。
  • 数据库、Redis 和内部服务是否被不必要地暴露到公网。

尤其不要将未经安全配置的管理后台直接开放给所有互联网用户。

5. AI 回答不一定完全准确

即使接入了知识库,AI 也可能出现理解错误、检索偏差或生成虚假信息的情况。

如果用于法律、医疗、金融或其他重要业务,不能将 AI 输出直接当作最终结论。

建议设置明确的回答规则,对重要信息进行人工审核,并为知识库中没有答案的问题设置合理的兜底机制。

6. 注意知识库资料的质量

知识库的回答效果与上传资料有很大关系。

如果文件内容过时、存在大量重复信息、格式混乱,或者文档切分不合理,都可能影响检索结果。

建议定期更新知识库,清理无效资料,并通过实际问题测试检索效果。

7. 关注系统资源和运行成本

Dify 由多个服务组件共同组成,部署后会占用一定的 CPU、内存和磁盘资源。

如果知识库规模较大,或者同时有很多用户访问,可能需要增加服务器资源。

另外,Agent 和工作流可能涉及多次模型调用,任务越复杂,消耗的 Token 和运行时间也可能越多。

因此,建议在正式使用之前进行充分测试,并设置合理的调用限制。

8. 注意版本升级和数据备份

Dify 项目持续更新,新版本可能包含功能改进、安全修复和配置变化。

升级之前建议:

  • 查看官方 Release 更新说明。
  • 备份数据库和重要文件。
  • 保留当前环境变量配置。
  • 了解版本升级要求。
  • 在测试环境验证后再更新生产环境。

不要直接删除旧容器和数据目录来解决升级问题,否则可能导致知识库、应用配置等数据丢失。

七、Dify 常见问题

Dify 是免费的吗?

Dify 提供开源版本,可以自行部署和使用,但需要遵守项目许可证。

第三方模型 API、服务器和其他外部服务可能产生额外费用。Dify Cloud 也有独立的套餐和使用限制。

Dify 需要编程基础吗?

基本的 AI 应用创建、提示词配置和知识库搭建,可以通过可视化界面完成,不要求用户具备专业编程能力。

但如果需要自定义插件、复杂 API 集成和服务器部署,掌握一定的 Python、Docker 和后端开发知识会更有帮助。

Dify 支持 DeepSeek 和 GPT 吗?

Dify 支持多种大模型服务,包括 GPT、DeepSeek 等模型服务商的接入方式。

具体支持的模型和接入方法,需要以当前模型供应商列表及服务商提供的 API 兼容情况为准。

Dify 可以搭建自己的 AI 知识库吗?

可以。

用户可以上传文档,经过文本处理、切分和索引后,将知识库连接到 AI 应用,让模型根据检索到的资料回答问题。

Dify 可以接入自己的网站吗?

可以。

Dify 提供应用发布、网页嵌入和 API 接口等能力,可以根据具体需求将创建的 AI 应用接入自己的网站或其他软件。

Dify 和 ChatGPT 有什么区别?

ChatGPT 是面向用户的 AI 助手产品,用户主要通过对话使用现成的 AI 能力。

Dify 则是一个 AI 应用开发平台,主要帮助用户连接不同模型、知识库和外部工具,创建属于自己的 AI 应用。

两者的定位不同,Dify 不能直接替代 ChatGPT,但可以利用接入的大模型构建类似聊天助手的应用。

Dify 可以部署在自己的服务器上吗?

可以。

Dify 提供开源版本和 Docker Compose 部署方式,用户可以在自己的服务器或本地环境中搭建平台。

自行部署需要负责服务器维护、数据备份、安全配置和版本更新等工作。

八、总结

Dify 是一个功能比较全面的开源 AI 应用开发平台,将大语言模型、知识库、智能体、工作流、插件和 API 集成等能力整合在一起。

它最大的优势在于降低了 AI 应用开发的门槛,让用户不必从零开始编写整个 AI 应用,就可以通过可视化配置完成不少常见开发任务。

对于想要搭建企业知识库、AI 客服、自动化工作流或智能体应用的个人和团队来说,Dify 是一个值得尝试的项目。

如果只是想日常使用 AI 聊天服务,直接使用现成的 AI 产品会更加简单;但如果希望自己搭建、管理和扩展 AI 应用,那么 Dify 就具有更大的发挥空间。

© 版权声明

相关文章

暂无评论

none
暂无评论...