OpenAI 协议
tool_choice
| 值 | 行为 |
|---|---|
"auto"(默认) | 模型自主决定 |
"none" | 强制不调用工具 |
"required" | 必须调用某个工具 |
{"type": "function", "function": {"name": "x"}} | 指定调用某个工具 |
parallel_tool_calls
新模型默认支持并行调用多个工具,响应中tool_calls 是数组,需逐个执行后一次性回传。
若需禁用并行,设置 parallel_tool_calls: false。
Claude 协议
tool_choice(Claude)
Gemini 协议
协议互通
通过 OpenPAI 的 OpenAI 兼容端点 调用 Claude / Gemini 模型时, OpenPAI 会自动将 Anthropic / Google 的工具调用结构转换为 OpenAI 的tools / tool_calls,
反向亦然。你 无需 关心协议差异,只需选择一套写法即可。
最佳实践
详细 description
工具的
description 越具体,模型越能正确决定何时调用与传什么参数。严格 schema
使用
required 与 additionalProperties: false,避免模型乱传字段。错误优雅处理
工具执行失败时,把错误信息以
tool_result 形式回传,模型可重试或换策略。并行调用
多个相互独立的工具一次调用并行执行,降低延迟。