热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >Kimi_K3工具调用怎么配置?

Kimi_K3工具调用怎么配置?

来源:互联网 更新时间:2026-07-25 08:10

Kimi K3 的 Chat Completions API 原生支持工具调用(Tool Calling),但要求请求中必须显式传入符合 OpenAI 格式的 tools 数组并设置 tool_choice,否则模型默认返回纯文本响应。该功能自 2026 年 7 月起已在 Kimi API 中可用,支持函数定义、参数校验和工具结果回传。

工具调用的核心配置要求

要正确触发 Kimi K3 的工具调用模式,需在请求中同时满足以下条件:

  • 传入 tools 数组,每个元素使用 OpenAI 兼容的 JSON Schema 格式,字段名必须为 typefunctionnamedescriptionparameterspropertiesrequired 等标准键,不得替换为中文或自定义键。
  • 设置 tool_choice"auto" 或指定函数名。若设为 null 或省略,模型不会进入工具调用状态。
  • 避免使用 "array" 类型的顶层 parameters 以及 "anyOf" / "oneOf" 复合结构。Kimi K3 不支持这些类型,遇到时会静默降级为文本响应且不报错。

以下是一个正确的工具定义示例:

{
  "type": "function",
  "function": {
    "name": "get_weather",
    "description": "查询指定城市天气",
    "parameters": {
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "description": "城市名称"
        }
      },
      "required": ["city"]
    }
  }
}

响应解析与 follow-up 请求构造

成功触发工具调用后,Kimi K3 的响应体中一定包含 tool_calls 数组,每个元素包含 idfunction.namefunction.arguments(JSON 字符串,需手动解析为对象)。若响应中只有 content 字段,说明工具未被调用,需回溯检查 tools 是否传入、schema 是否合规、model 是否为 kimi-k3

构造 follow-up 请求时,需将原始 messages 数组追加两条消息:

  • 第一条:role="assistant"content=nulltool_calls 为原始响应中的数组。
  • 第二条:role="tool"content 为工具执行结果,tool_call_id 必须与原始 tool_calls[0].id 完全一致(大小写和符号均不可错),否则返回 400 错误。

与 Codex 等框架的兼容层方案

Codex 默认使用 Responses 协议,而 Kimi K3 只响应 Chat Completions 协议中的 tools 字段。因此需要在本地部署兼容层(如 CC Switch 或自建 proxy)完成协议转换:

  1. 兼容层接收 Codex 的 Responses-style 请求,提取其中的 functions 字段。
  2. 将其重构成 OpenAI-style tools 数组,并注入到转发给 Kimi API 的 Chat Completions 请求中。
  3. 接收 Kimi 响应后,若含 tool_calls,则将其映射回 Responses 协议的 function_call 字段,再返回给 Codex。

需注意:不要在 Codex 的 config.toml 中直接设置 wire_api = "responses" 配合 base_url = "https://api.moonshot.cn/v1",这会导致 Codex 向 Kimi 发送 /v1/responses 请求,而 Kimi 不存在该路径,必然返回 404。

本文信息基于原始资料记录时的状态,模型版本、产品功能、API 行为可能继续变化,实际情况以月之暗面最新公开信息为准。

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc