Skip to main content

工具钩子

您可以使用工具钩子在调用工具之前或之后执行验证、日志记录或任何其他逻辑。 工具钩子是一个函数,它接受函数名称、函数调用和参数。可选地,您还可以访问 AgentTeam 对象。在工具钩子内部,您必须调用该函数调用并返回结果。
定义工具钩子时,使用精确的参数名称非常重要。可用的参数有 agentteamfunction_namefunction_callarguments
例如:
或者
您可以为 agents 和 teams 分配工具钩子。这些工具钩子将应用于 agent 或 team 所做的所有工具调用。 例如:
您还可以在工具钩子中访问 AgentTeam 对象。

多个工具钩子

您还可以一次性分配多个工具钩子。它们将按分配的顺序应用。
您还可以为特定的自定义工具分配工具钩子。

前置钩子和后置钩子

前置钩子和后置钩子允许您修改在工具调用之前和之后发生的事情。它们是工具钩子的替代方案。 设置 @tool 装饰器中的 pre_hook 以在工具调用之前运行一个函数。 设置 @tool 装饰器中的 post_hook 以在工具调用之后运行一个函数。 这是一个使用 pre_hookpost_hook 以及 Agent Context 的演示示例。
pre_and_post_hooks.py