距离上次推出的 v0.4.0 大版本的三周后,我们又再次迎来了重大的更新 — v0.5.0!在这个最新版本中,我们隆重推出了 AI Agent 能力。
人类在解决实际的复杂问题过程中,会通过理解信息、分析解决问题的步骤、做出决策、借助工具采取行动、观察变化、再接着做出下一个决策和动作,以此来完成复杂任务。大型语言模型具备强大的自然语言理解能力和推理能力,让人们对它可替代人类解决复杂问题的实际应用充满了期待。
此前,OpenAI 推出的 GPTs 和 Assistants API 为大家提供基于 OpenAI 系列模型探索 AI Agent 的能力,在 OpenAI 的生态中,产生了无限的创意和想象。现在,Dify 在应用编排中新增了 Agent 模式,可以基于不同的 LLMs 作为基础的自然语言理解和推理模型(目前 Dify 已支持市面上所有流行的 LLMs ),并提供一系列工具让 LLM 根据需要来调用,解决多步骤的复杂问题场景,帮助开发者构建更具想象力的 GPTs 和 Agent Assistants(智能助手)。
OpenAI Assistants API 为开发者提供了在 OpenAI 模型生态内构建更高级 AI Assistants 的潜力。而 Dify 作为一个强调开放性的 LLM 应用开发平台,我们支持了市面上所有的 LLMs ,包括所有的开源模型,而不是局限于 OpenAI 的模型,为你构建不同情景的 AI Agent 提供更多选择。其次,作为一个开源产品,你可以在本地部署完全属于你企业的 AI 应用开发平台,更方便将 AI 的能力集成到你现有的业务流程中,包括将企业内部 API 封装成为可调用的工具。这对于有严格数据保护策略要求的企业尤为重要。我们在《Dify.AI: Open-source Assistants API based on any LLM》一文中有过详细的讨论。
《Dify.AI: Open-source Assistants API based on any LLM》:
https://dify.ai/blog/openai-assistants-api-vs-dify-self-hosting-flexible-ai-solutions
我们上面描述到人类是如何一步步解决复杂问题的,而 AI Agent 就是我们希望让 AI 能模仿人类独立一步步做出决策、使用工具解决问题并给出最终的结果。在 Dify 中,目前基于主流的 CoT(Chain-of-thought) 推理策略来实现 AI Agent 的逐步迭代解决问题能力,通过可视化的界面几分钟内即可构建出一个会思考、独立解决问题的 Agent Assistant 。
例如,我们问“特朗普的妻子今年几岁?”,LLM 本身的知识无法回答当前时间特朗普妻子的年纪,我们提供了两个工具 【 Wikipedia_search】【current_time】,它会将问题拆分思考并解决:
构建带 AI Agent 能力的 Assistant 并达到理想的效果对于你所选择的基础推理模型能力有着较高的要求,CoT(思维链)推理能力是大参数量 LLM 涌现的能力,我们推荐使用 100B 或以上的 LLM 作为 Agent 推理的基础模型。
针对不同的模型厂商支持的推理框架不同,我们提供了 Function Calling(函数调用)和 ReAct 两种推理模式。已支持 Function Calling 的模型系列拥有效果更佳、更稳定的表现,尚未支持 Function Calling 的模型系列,我们提供通用的 ReAct 方式调用。
在 Dify 已支持的模型厂商中,已支持 Function Calling 的有:OpenAI、 ChatGLM、 Tongyi、MiniMax、文心一言。
Agent 工作过程中,可供调用的工具是其中关键部分。工具为 LLM 提供了额外的知识来源和技能来完成推理过程。
除了已被关联的知识库会作为被调用的工具之外,在该版本中首发提供了 11 个第一方实用工具,并将持续增加:
在 Agent 模式下,你可以为你的 Agent Assistants 开启这些工具以供 LLM 选择调用。我们为工具之间的相互协同做了良好的适配,包括一个共享变量池,使得不同工具可以轻松获取其他工具的调用结果。例如,当你使用 DALL·E 生成一张图片结果,理论上另一个视频生成的工具可以利用图片结果作为视频的素材。
在下方视频的演示例子中,我们开启了包含 DALL·E 和 Vectorizer.AI 在内的工具,让 Agent 为你设计 Logo 并且导出矢量图。
在这个例子中,AI Agent 通过多轮问答的方式一步步了解用户的需求,比如说用户的风格、想传达的信息和偏好。在了解用户需求之后,他会按照你的要求使用 DALL·E 生成你的设计,用户可以提供修改反馈,并让它根据你的反馈迭代,随后调用 Vectorizer.AI 转换成 SVG 格式的 Logo,方便你随时将这个 Logo 投入使用。
在企业现实业务流程中,我们希望智能助手能实时获取企业的数据、知识库,或者调用企业内的其他工具来解决业务问题。所以,除了前面提到的内置工具外,同时支持开发者使用自定义的 API 接入工具(目前支持从 OpenAPI / Swagger 和 OpenAI Plugin 规范文件导入)。这意味着你可以通过调整外部工具的 API 以符合这一标准,将它们集成到 Dify 中。一旦你制作了一个自定义工具,你的团队也可以使用它。
此外,我们还很欢迎开发者通过代码的方式贡献实用的工具,以实现 AI Agent 更强大的功能,如果你有兴趣,查看我们的贡献文档。
贡献文档:
https://github.com/langgenius/dify/blob/48d5628fd4e4045ce39e978d4fd4c522c34f8ec1/api/core/tools/README.md
为了适应这次大的能力升级和更好地传达 Dify 的产品设计理念,我们在产品功能的入口上作了一些调整,但这不会改变你已经创建的应用表现:
尝试构建一个 AI Agent,你可以在 Dify 创建一个全新的 Assistant 开始,并切换到 Agent 模式,或者从已有的聊天应用的提示词编排页面中将它切换到 Agent 模式。可以阅读我们的文档开始你的旅程。
帮助文档:
https://docs.dify.ai/v/zh-hans/guides/application-design/prompt-engineering/agent-assistant
文章来自于微信公众号 “Dify”,作者 “Dify.AI”
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】FASTGPT是基于LLM的知识库开源项目,提供开箱即用的数据处理、模型调用等能力。整体功能和“Dify”“RAGFlow”项目类似。很多接入微信,飞书的AI项目都基于该项目二次开发。
项目地址:https://github.com/labring/FastGPT
【开源免费】Semantic Search on Wikipedia是一个索引数百万维基百科文章的AI搜索引擎。该项目开源免费,通过维基百科数据创建了一个语义搜索引擎和一个RAG聊天机器人。
项目地址:https://github.com/upstash/wikipedia-semantic-search?tab=readme-ov-file
在线使用:https://wikipedia-semantic-search.vercel.app/
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0