Spring AI Alibaba 26|Hooks 与 Interceptors · 自定义 Hooks 和 Interceptors:ModelInterceptor
拦截和修改模型请求和响应: import com.alibaba.cloud.ai.graph.agent.interceptor.ModelInterceptor; import com.alibaba.cloud.ai.graph.ag
Spring AI Alibaba 25|Hooks 与 Interceptors · 自定义 Hooks 和 Interceptors:MessagesModelHook vs ModelHook:如何选择?
MessagesModelHook 和 ModelHook 都可以在模型调用前后执行自定义逻辑,但它们有不同的设计目标和适用场景。 核心区别 特性MessagesModelHookModelHook易用性⭐⭐⭐⭐⭐ 更简单,直接操作消息列表
Spring AI Alibaba 24|Hooks 与 Interceptors · 自定义 Hooks 和 Interceptors:ModelHook
在模型调用前后执行自定义逻辑: import com.alibaba.cloud.ai.graph.agent.hook.ModelHook; import com.alibaba.cloud.ai.graph.agent.hook.Hoo
Spring AI Alibaba 23|Hooks 与 Interceptors · 自定义 Hooks 和 Interceptors:MessagesModelHook
MessagesModelHook 是一个专门用于操作消息列表的 Hook,使用更简单,更推荐。它直接接收和返回消息列表,无需处理复杂的 OverAllState。 适用场景: 消息修剪、过滤或转换;添加系统提示或上下文消息;消息压缩和摘要
Spring AI Alibaba 22|Hooks 与 Interceptors · 内置实现
让开发者在每个步骤控制和自定义 Agent 执行。 Hooks 和 Interceptors 提供了一种更精细控制 Agent 内部行为的方式。 核心 Agent 循环涉及调用模型、让其选择要执行的工具,直到不需要调用工具时完成。 Hook
Spring AI Alibaba 21|Memory 短期记忆 · 访问记忆
你可以通过多种方式访问和修改 Agent 的短期记忆(状态): 工具 在工具中读取短期记忆 使用 ToolContext 参数在工具中访问短期记忆(状态)。 toolContext 参数从工具签名中隐藏(因此模型看不到它),但工具可以通过它
Spring AI Alibaba 20|Memory 短期记忆 · 常见模式:总结消息
如上所示,修剪或删除消息的问题在于你可能会丢失消息队列淘汰的信息。因此,一些应用程序受益于使用聊天模型总结消息历史的更复杂方法。 要在 Agent 中总结消息历史,可以使用自定义 Hook: import com.alibaba.cloud
Spring AI Alibaba 19|Memory 短期记忆 · 常见模式:删除消息
你可以从 Graph 状态中删除消息以管理消息历史。 这在你想要删除特定消息或清除整个消息历史时很有用。 要从 Graph 状态中删除消息,你可以在 Hook 中返回新的消息列表: import com.alibaba.cloud.ai.g
Spring AI Alibaba 18|Memory 短期记忆 · 概述
记忆可以让 Agent 记住之前的会话内容。对于 AI Agent,记忆至关重要,因为它让它们能够记住先前的交互、从反馈中学习并适应用户偏好。随着 Agent 处理更复杂的任务和大量用户交互,这种能力对于效率和用户满意度都变得至关重要。 短
Spring AI Alibaba 17|Tools 工具 · 在 ReactAgent 中使用工具:React Agent 远程 MCP 工具调用示例
在实际的 React Agent 应用中,我们多数情况需要接入三方平台或其他应用所提供的 MCP 工具,且目前已经有众多的 MCP 工具平台,大多数工具不需要自己手动定义,你可以通过构建 MCP Client 来使用远端 MCP Serve