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

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.dtcms.com/a/282674.html

相关文章:

  • 前端上传 pdf 文件 ,前端自己解析出来 生成界面 然后支持编辑
  • 数据降维方法:PCA
  • Vue2.x封装预览PDF组件
  • 利用pdfjs实现的pdf预览简单demo(包含翻页功能)
  • 从0开始学习R语言--Day48--Calibration Curves 评估模型
  • ByteToMessageDecoder详解
  • 众趣分享 | 浅谈三维重建(空间计算)技术原理
  • STM32外设介绍5(DMA<直接存储器访问>)
  • 开源模型应用落地-qwen模型小试-Qwen3-Embedding 模型集成 vLLM 实战解析(二)
  • Python第三次作业
  • 【Node 日常使用 】
  • GitHub 趋势日报 (2025年07月15日)
  • 中望3D 2026亮点速递(1)-全新槽功能螺纹功能,减少繁琐操作
  • Oracle,PostgreSQL查看字段码值方式
  • 国内外服务器的不同之处
  • 【Qt】麒麟系统安装套件
  • 机器学习:AI 自主学习能力的来源
  • Rocky9安装Ansible
  • 网络安全(初级)(XSS-labs 1-8)
  • 【React Native】模态页Modal
  • 论文导读--PQ3D:通过分段级分组实现多模态特征融合和 MTU3D:在线查询表示学习与动态空间记忆
  • 【MAC技巧】Bash/Zsh切换失败的故障排除
  • aspect-ratio: 1 / 1样式在部分手机浏览器中失效的问题怎么解决?
  • 《R for Data Science (2e)》免费中文翻译 (第0章) --- Introduction
  • CURRENT_TIMESTAMP和NOW函数使用
  • Spring Boot 集成 Redis 并调用 Lua 脚本详解
  • multiprocessing.Pool 中的 pickle 详解
  • 文献精读:气候变化、CO2浓度提高和土地利用变化对全球陆地蒸散发的影响分析
  • C++矿井逃生游戏深度解析:迷宫生成与灯光渲染技术 | EasyX实战
  • 45. 跳跃游戏 II