跳转到主要内容
Chat 接口提供 response_format、tools 和 tool_choice 字段。先确认目标模型支持需要的能力,再在应用中解析和校验结果。

JSON 输出

以下示例要求使用支持 JSON 模式的模型。先按 SDK 接入 安装依赖,设置 APIONE_API_KEY 和 APIONE_MODEL,再保存为 json_output.py 并运行 python json_output.py。
json_object 请求 JSON 输出,应用仍需检查结束原因、解析结果、校验字段和取值范围。仅在提示词中写“返回 JSON”,不能代替 Schema 约束。

JSON Schema

response_format 也可以携带 json_schema。支持的 Schema 子集和严格模式依模型而异,先查看目标模型参数,再决定约束方式。不要假设换模型后原 Schema 仍能使用。

工具调用流程

  1. 在 tools 中声明允许调用的函数及参数;需要指定选择方式时使用 tool_choice,并确认模型支持。
  2. 读取 choices[].message.tool_calls,其中可能有多个调用,普通正文可能为空。
  3. 保留这一轮 assistant 消息。应用校验工具名、解析参数,并检查用户权限;外部写操作按业务规则确认后执行。
  4. 将每个工具的结果作为 role: "tool" 的消息回传,用 tool_call_id 对应原调用的 id。
  5. 带上更新后的消息历史再次请求模型,读取最终回答;应用应限制工具循环次数。
APIONE 返回工具调用请求,函数由应用执行。不要将未经校验的模型生成 URL、SQL 或命令直接交给执行器。

兼容问题

出现 unsupported_parameter 时,先删除可选参数,验证最小对话请求,再逐个恢复。切换模型时重新确认 JSON、工具和流式能力。完整字段见 APIONE Chat 参考。