当前位置: 首页 > java >正文

Dify工作流节点-Agent

定义

Agent 节点是 Dify Chatflow/Workflow 中用于实现自主工具调用的组件。它通过集成不同的 Agent 推理策略,使大语言模型能够在运行时动态选择并执行工具,从而实现多步推理。

配置步骤

添加节点

在 Dify Chatflow/Workflow 编辑器中,从组件栏拖拽 Agent 节点至画布。

选择 Agent 策略

在节点配置面板中,点击 Agent 策略

从下拉菜单选择所需的 Agent 推理策略。Dify 内置了 Function Calling 和 ReAct 两种策略,可在 Marketplace → Agent 策略分类中安装使用。

1. Function Calling

通过将用户指令映射到预定义函数或工具,LLM 先识别用户意图,再决定调用哪个函数并提取所需参数。它的核心是调用外部函数或工具,属于一种明确的工具调用机制。

优点:

  • 精确: 对于明确的任务,可以直接调用相应的工具,无需复杂的推理过程。
  • 易于集成外部功能: 可以将各种外部 API 或工具封装成函数供模型调用。
  • 结构化输出: 模型输出的是结构化的函数调用信息,方便下游节点处理。

  1. ReAct (Reason + Act)

ReAct 策略使 Agent 交替进行思考和行动:LLM 首先思考当前状态和目标,然后选择并调用合适的工具,工具的输出结果又将引导 LLM 进行下一步的思考和行动,如此循环,直到问题解决。

优点:

  • 有效利用外部信息: 能够有效地利用外部工具获取信息,解决仅靠模型自身无法完成的任务。
  • 可解释性较好: 思考和行动的过程是交织的,可以一定程度上追踪 Agent 的推理路径。
  • 适用范围广: 适用于需要外部知识或需要执行特定操作的场景,例如问答、信息检索、任务执行等。

开发者可以向公开仓库贡献 Agent 策略插件,经过审核后将在 Marketplace 上架,供其他用户安装使用。

配置节点参数

选择 Agent 策略后,配置面板会显示对应的配置项。Dify 官方内置的 Function Calling 和 ReAct 策略的配置项包括:

  1. 模型: 选择驱动 Agent 的大语言模型。
  2. 工具: 工具的使用方式由 Agent 策略定义,点击 ”+” 添加并配置 Agent 可调用的工具。
    • 搜索: 在下拉框中选择已安装的工具插件。
    • 授权: 填写 API 密钥等授权信息后启用工具。
    • 工具描述和参数设置: 提供工具描述,帮助 LLM 理解工具用途并选择调用,同时设置工具的功能参数。
  3. 指令: 定义 Agent 的任务目标和上下文。支持使用 Jinja 语法引用上游节点变量。
  4. 查询: 接收用户输入。
  5. 最大迭代次数: 设定 Agent 的最大执行步数。
  6. 输出变量: 提示节点输出的数据结构。

查看日志

Agent 节点执行过程中将生成详细日志。显示节点执行的总体信息,包括输入和输出、token 开销、耗时和状态。点击 “详情” 查看 Agent 策略执行的每一轮输出信息。

记忆

启用记忆开关可以为 Agent 提供对话上下文记忆能力。通过调整记忆窗口滑块,你可以控制 Agent 能够“记住”的对话历史消息数量。这使 Agent 能够理解和引用先前的交流内容,从而提供连贯且上下文相关的回答,大幅提升多轮对话体验。

例如,当用户在后续消息中使用代词(如“它”、“这个”或“他们”)时,启用了记忆功能的 Agent 能够理解这些代词所指代的前文实体,无需用户重复提及完整信息。

http://www.xdnf.cn/news/15549.html

相关文章:

  • 二分查找算法(一)
  • 玩转Docker | 使用Docker部署vnStat网络流量监控服务
  • Python编程基础(六)| 用户输入和while循环
  • 算法精讲--正则表达式(二):分组、引用与高级匹配技术
  • GENERALIST REWARD MODELS: FOUND INSIDE LARGELANGUAGE MODELS
  • 7.17 滑动窗口 |assign |memo |pii bfs
  • 【Linux】如何使用nano创建并编辑一个文件
  • 使用token调用Spring OAuth2 Resource Server接口错误 insufficient_scope
  • Redis1:高并发与微服务中的键值存储利器
  • 第四章 OB SQL调优
  • OJ题目里面的复杂图形的输出类型的汇总展示(巧妙地利用对称性offset偏移量)
  • 轻松将文件从 iPhone 传输到 Mac
  • 牛客:HJ26 字符串排序[华为机考][map]
  • 暑期算法训练.2
  • ArcGISPro应用指南:使用ArcGIS Pro创建与优化H3六边形网格
  • PHP 社区正在讨论变更许可证,预计 PHP 9.0 版本将完全生效
  • 基于MATLAB的决策树DT的数据分类预测方法应用
  • 【Unity】Mono相关理论知识学习
  • SQL中对字符串字段模糊查询(LIKE)的索引命中情况
  • 第3章 Excel表格格式设置技巧
  • Win11专业工作站版安装配置要求
  • [NOIP][C++] 树的重心
  • Word 文档合并利器:基于 org.docx4j 的 Java 实现全解析
  • Java线程创建与运行全解析
  • GraphQL与REST在微服务接口设计中的对比分析与实践
  • Windows 启动后桌面黑屏,其他程序正常运行
  • Java接口:小白如何初步认识Java接口?
  • 一点点dd
  • WPF 加载和显示 GIF 图片的完整指南
  • 聚焦AI与物流核心技术:2025智慧物流论坛及长三角快递物流展会9月上海开幕