Dify,这个名字本身就蕴含着“Define(定义)+ Modify(修改)”的理念,它是一款开源的大语言模型(LLM)应用开发平台。
官网:https://dify.ai/zh
插件市场:https://marketplace.dify.ai/?language=zh-Hans
中文文档:https://docs.dify.ai/zh-hans/introduction
官方博客:https://dify.ai/blog
开源地址:https://github.com/langgenius/dify/
它将后端即服务(Backend as Service)和 LLMOps 的理念完美融合,旨在为您的团队提供从构思、开发到部署、监控的完整基础设施,帮助您打造能投产并创造真正价值的 Agentic AI 解决方案。
Dify 的目标非常明确:轻松构建并部署生产级 Agentic AI 解决方案。它提供了一站式能力:
Agentic 工作流:让AI不仅能“说”,还能“做”,自主完成复杂任务。
RAG Pipeline:高效整合您的私有知识。
丰富的集成:无缝连接各类大模型和工具。
可观测性:实时监控应用表现,确保稳定可靠。
Dify 不仅仅是一个开发工具,它更是生产就绪的企业级解决方案:
灵活扩展:从容应对不断增长的流量和变化的需求,确保您的AI应用具备可伸缩性。
稳定可靠:提供坚实可靠的基础设施,确保您拥有安心无忧的运营体验。
安全保障:具备企业级安全能力,守护您的关键数据资产,满足合规性要求。
在 GitHub 上,Dify 拥有超过103.5K 的 Star,累计下载次数达500万,并且汇聚了800多位开发者共同贡献(截止2025年6月)。Dify 也拥有不断壮大的生态环境。通过其插件市场(Marketplace),您可以在数秒内即时调用任意模型和工具,无需修改源代码。Dify 内置了构建LLM应用所需的关键技术栈,包括大模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。
DevOps,顾名思义,是“开发”(Dev)与“运维”(Ops)的结合。它不仅仅是一套工具或流程,更是一种文化和实践,旨在通过自动化软件交付过程,来加强软件开发和信息技术运维团队之间的协作。让我们快速回顾一下DevOps的核心实践:
随着大模型开发的范式逐渐普及 “Feature Extraction”(特征提取)这类工作的重要性相对下降,取而代之的是“Data retrieval and serving”(数据检索与服务),这直接指向了RAG(检索增强生成)的重要性。我们不再是为每个任务从零开始提取特征训练模型,而是更多地利用大模型,并通过检索外部知识来增强其能力。
优化方式的转变:
传统MLOps可能更侧重于模型训练和验证的自动化。
而LLMOps则更多地聚焦于提示词工程(Prompt Engineering)和检索增强生成(RAG) 的优化。对于绝大多数应用而言,我们无需微调大模型,更不需要从头构建领域大模型。这意味着LLMOps需要提供强大的提示词管理、RAG管道构建和调试工具。
数据角色的不同:
传统MLOps的数据主要用于模型训练。
LLMOps的数据更多地作为上下文信息,用于RAG检索,以提供个性化、领域化的回答,并需要特别关注数据的集成、结构化和命中率。
模型特有挑战:
LLMs特有的“幻觉”(Hallucination)问题,以及模型对齐(Alignment)的挑战,需要在LLMOps中通过内容审核(Moderation System)、人类反馈和持续监控来解决。
API成本管理:由于大型模型的调用通常是按token计费的,LLMOps需要精确的成本监控和优化策略。
复杂交互与Agent编排:LLMOps需要支持更复杂的AI Agent工作流编排,实现从意图识别到多步骤工具调用的完整链条。
LangChain是一个非常强大的开发框架,它为开发者提供了构建大语言模型应用的组件和工具链。而Dify.AI,则是一个更偏向于平台型的产品,它融合了Backend as a Service(后端即服务)和LLMOps的理念。
通过这些对比,我们可以清晰地看到:
LangChain是一个为开发者提供高度灵活性和代码控制力的强大框架,适合那些希望从底层开始构建、需要精细控制每个细节的团队。
Dify.AI则是一个开箱即用、功能全面、且易于上手的平台。它将LLM应用开发的复杂性进行高度封装和可视化,特别适合那些希望快速构建、部署和运营生产级LLM应用,并希望降低开发门槛,让更多非技术人员参与其中的个人、初创企业和中大型企业。
Dify主要提供两大类服务:云服务(Cloud Service)和自托管(Self-Hosted),每种方案下又细分为不同的版本和套餐,以满足从个人开发者到大型企业的各种需求。
云服务(Cloud Service)- 便捷高效,即开即用。Dify的云服务提供了多个层级,让您无需自行部署和维护基础设施,即可快速启动AI应用开发:
SANDBOX (免费沙盒版):提供核心功能的免费试用,包含200条消息额度,支持多种LLM,1个团队工作区,5个应用和50个知识文档等,非常适合个人开发者或初期探索。
PROFESSIONAL (专业版):面向独立开发者和小型团队,每月5000条消息额度,支持更多知识文档和数据存储,并提供优先文档处理和日志记录等。
TEAM (团队版):专为中型团队设计,提供更高的消息额度、知识文档和并发请求限制,是专业版的扩展。
Dify 的后端是整个平台的“大脑”,负责处理核心逻辑和数据流。
编程语言与框架:
Python + Flask:Dify 的后端服务主要使用 Python 语言开发,并基于轻量级的 Flask 框架构建了高效的 RESTful API 接口。这种组合使得开发快速而灵活。
Celery:为了处理数据导入、模型训练等耗时的异步任务,Dify 引入了 Celery,它是一个强大的分布式任务队列管理系统。这极大地提升了复杂工作流的执行效率和系统的响应速度。
数据库与存储:
PostgreSQL:作为核心关系型数据库,PostgreSQL 负责存储 Dify 的应用数据、用户信息以及各种结构化内容,确保数据的可靠性和一致性.
Redis:作为内存数据库,Redis 主要用于缓存和会话管理,有效优化了高频访问场景的性能,提升了用户体验。
Weaviate:这是 Dify 在 RAG(检索增强生成)管道中的关键组件。Weaviate 是一个向量搜索引擎,它能够高效地存储和检索海量的文本向量,从而为 LLM 提供精准的上下文信息,是 Dify 知识库能力的核心。
在 Dify 中,一个“应用”是指基于 GPT 等大语言模型构建的实际场景应用。通过创建应用,你可以将智能 AI 技术应用于特定的需求。它既包含了开发 AI 应用的工程范式,也包含了具体的交付物。
https://docs.dify.ai/zh-hans/guides/application-orchestrate/readme
Dify 中提供了五种应用类型:
聊天助手:基于 LLM 构建对话式交互的助手
文本生成应用:面向文本生成类任务的助手,例如撰写故事、文本分类、翻译等
Agent:能够分解任务、推理思考、调用工具的对话式智能助手
对话流:适用于定义等复杂流程的多轮对话场景,具有记忆功能的应用编排方式
工作流:适用于自动化、批处理等单轮生成类任务的场景的应用编排方式
开发者可以将企业内部文档、FAQ、规范信息等内容上传至知识库进行结构化处理,供后续 LLM 查询。相比于 AI 大模型内置的静态预训练数据,知识库中的内容能够实时更新,确保 LLM 可以访问到最新的信息,避免因信息过时或遗漏而产生的问题。
LLM 接收到用户的问题后,将首先基于关键词在知识库内检索内容。知识库将根据关键词,召回相关度排名较高的内容区块,向 LLM 提供关键上下文以辅助其生成更加精准的回答。
开发者可以通过此方式确保 LLM 不仅仅依赖于训练数据中的知识,还能够处理来自实时文档和数据库的动态数据,从而提高回答的准确性和相关性。
在 Dify 中,知识库(Knowledge)是一系列文档(Documents)的集合,一个文档内可能包含多组内容分段(Chunks),知识库可以被整体集成至一个应用中作为检索上下文使用。文档可以由开发者或运营人员上传,或由其它数据源同步。
插件是 Dify 平台的扩展模块,让你可以轻松地接入第三方模型与工具,显著提升应用能力。通过插件系统,你的 AI 应用能够更好地”看”、“听”、“说”、“画”、“计算”、“推理”,并连接外部 API,执行真实世界的操作。
工具使用户可以在 Dify 上创建更强大的 AI 应用,如你可以为智能助理型应用(Agent)编排合适的工具,它可以通过任务推理、步骤拆解、调用工具完成复杂任务。
方便将你的应用与其他系统或服务连接,与外部环境交互,如代码执行、对专属信息源的访问等。
https://docs.dify.ai/zh-hans/development/backend/sandbox/README
DifySandbox 是一个轻量、快速、安全的代码运行环境,支持多种编程语言,包括 Python、Nodejs 等,用户在 Dify Workflow 中使用到的如 Code 节点、Template Transform 节点、LLM 节点的 Jinja2 语法、Tool 节点的 Code Interpreter 等都基于 DifySandbox 运行,它确保了 Dify 可以运行用户代码的前提下整个系统的安全性。
多语言支持:DifySandbox 基于 Seccomp,这是一个系统层级的解决方案,从而确保了可以支持多种编程语言,目前支持了 Python 与 Nodejs。
系统安全:使用白名单策略,只允许运行特定的系统调用,从而确保不会出现意外的绕过。
文件系统隔离:用户代码将运行在一个独立的隔离的文件系统中。
网络隔离:
DockerCompose:独立网络 Sandbox 网络,并使用代理容器进行网络访问,确保内网系统的安全,同时提供了灵活的代理配置方案。
K8s:直接使用 Egress 配置网络隔离策略即可。
这是一本面向零基础、非IT技术背景读者的Agent开发实战指南。本书以Dify为Agent开发平台,采用案例教学的方式手把手教你如何用Dify开发Agent。无须编程,你也可以开发功能丰富的Agent。
本书采用“方法总结—工具操作—项目实战”的结构循序渐进展开介绍,共9章。
本书选取了发票识别与处理、长文档处理、本地知识问答、人才招聘这4个典型的业务场景,用6个典型的项目案例,手把手演示了从需求分析、运行流程、节点设计到运行效果的全链路Agent开发过程,并总结了每个案例的开发经验,为你提供了开发类似功能的Agent的思路。
尊敬的博文视点用户您好: 欢迎您访问本站,您在本站点访问过程中遇到任何问题,均可以在本页留言,我们会根据您的意见和建议,对网站进行不断的优化和改进,给您带来更好的访问体验! 同时,您被采纳的意见和建议,管理员也会赠送您相应的积分...
时隔一周,让大家时刻挂念的《Unity3D实战核心技术详解》终于开放预售啦! 这本书不仅满足了很多年轻人的学习欲望,并且与实际开发相结合,能够解决工作中真实遇到的问题。预售期间优惠多多,实在不容错过! Unity 3D实战核心技术详解 ...
如题 ...
读者评论