Skip to main content
函数调用允许模型选择结构化的工具调用,由你的应用来执行。模型本身并不会运行函数,它会返回函数名和参数,由你的代码运行该函数,然后再把结果返回给模型。 当模型需要实时数据、执行应用操作、查询数据库或进行确定性计算时,可以使用函数调用。

基本工具定义

使用与 OpenAI 兼容的 tools 数组来定义工具:

执行工具

当模型选择了一个工具时,检查 message.tool_calls,解析其参数,执行你的应用函数,然后把结果作为 tool 消息发回。
Python

选择模型

函数调用的支持因模型而异。可在 文本模型 页面或通过 Models API 查找具备 supportsFunctionCalling 能力的模型。
请将工具参数视为不可信输入。在将其用于数据库查询、shell 命令、支付等有副作用的操作之前,务必先进行校验。

设计建议

  • 让工具名和描述简短、直接。
  • 使用 JSON Schema,让模型更容易生成合法的参数。
  • 优先使用输入清晰、职责单一的小工具,而不是包含大量可选行为的一个大工具。
  • 返回简洁的工具结果,让最终回答有足够的上下文但不会浪费 token。

相关资源