跳转至

🛠️ 工具调用(Tools)概览

工具调用(Tools)用于让模型在生成回答时**调用外部能力**,典型场景包括:

  • 联网搜索:获取最新信息,并在回答中给出引用来源
  • 自定义函数(Function Calling):让模型调用你自己的业务 API / 数据库 / 内部服务

本平台对工具调用采用与 OpenAI 接口一致的参数设计,常用有两种接入方式:

  • OpenAI Responses:适合使用 内置工具(例如网络搜索)
  • OpenAI Chat Completions:适合使用 自定义函数工具

✅ 快速示例:GPT 联网搜索(推荐用 Responses)

使用 tools 启用内置网络搜索工具 web_search_preview,模型会在需要时自动发起搜索并完成回答。

curl https://api-cs-al.naci-tech.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "tool_choice": "auto",
    "tools": [
      { "type": "web_search_preview", "search_context_size": "medium" }
    ],
    "input": "帮我搜索并总结:2026 年最新的 TypeScript 版本有什么关键变化?"
  }'

✅ 快速示例:自定义函数(Chat Completions)

当你希望模型调用自己的后端函数(例如查询订单、查天气、检索库存)时,使用 tools: [{type:"function", ...}] 定义函数 schema。

curl https://api-cs-al.naci-tech.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "messages": [
      { "role": "user", "content": "帮我查一下订单 20240227001 的状态" }
    ],
    "tool_choice": "auto",
    "tools": [
      {
        "type": "function",
        "function": {
          "name": "get_order_status",
          "description": "查询订单状态",
          "parameters": {
            "type": "object",
            "properties": {
              "order_id": { "type": "string", "description": "订单号" }
            },
            "required": ["order_id"]
          }
        }
      }
    ]
  }'

模型如果决定调用函数,会在返回结果里给出 tool_calls(包含函数名与 JSON 参数)。你需要在业务侧执行该函数,并把结果作为 “tool message” 回传给模型,让模型完成最终自然语言回答。

📚 按模型查看