作为我们文档重组的一部分,此页面正在逐步淘汰。
点击此卡片跳转到包含最新信息的更新版本。
如果您在新的文档中发现任何差异或需要改进的地方,请使用页面底部的“报告问题”按钮。
manifest.yaml
文件内新增 plugins.agent_strategies
字段,并且也需要定义 Agent 供应商,示例代码如下
manifest
文件内部分无关的字段。如需了解 Manifest 的详细格式,请参考 Manifest 文档。
agent.yaml
文件并填写基础的 Agent 供应商信息。
function_calling.yaml
策略文件。
function_calling.yaml
文件:
Tool
标准格式,定义了 model
tools
query
max_iterations
等一共四个参数,以便于实现最基础的 Agent 策略。该代码的含义是可以允许用户选择模型和需要使用的工具,配置最大迭代次数并最终传入一个 query 后开始执行 Agent。
model-selector
,tool 类型参数为特殊的 array[tools]。
在参数中获取到的形式可以通过 SDK 中内置的 AgentModelConfig
和 list[ToolEntity]
进行转换。
session.model.invoke()
函数调用模型。可以从 model 中获取所需的传入参数。
invoke model 的方法签名示例代码:
model_config
,prompt 信息 prompt_messages
和工具信息 tools
。
其中prompt_messages
参数可以参考以下示例代码调用;而tool_messages
则需要进行一定的转换。
请参考 invoke model 使用方法的示例代码:
self.session.tool.invoke()
进行调用。invoke tool 的方法签名示例代码:
provider_type
, provider
, tool_name
, parameters
。其中 tool_name
和parameters
在 Function Calling 中往往都由 LLM 生成。使用 invoke tool 的示例代码:
self.session.tool.invoke()
函数的输出是一个 Generator,代表着同样需要进行流式解析。
解析方法请参考以下函数:
AgentLogMessage
,该 Message 表示日志中树的一个节点。