Kimi K3.1 Pro · configuration
Kimi K3.1 Pro 使用 response_format.type="json_schema" 和 strict=true 约束字段、类型及嵌套结构;客户端只解析 choices[0].message.content,不要把 reasoning_content 或整个响应对象当作 JSON 正文。
Kimi K3.1 Pro 使用 response_format.type="json_schema" 和 strict=true 约束字段、类型及嵌套结构;客户端只解析 choices[0].message.content,不要把 reasoning_content 或整个响应对象当作 JSON 正文。
适合的任务:将新闻摘要、信息抽取或其他 API 输出直接交给下游类型化程序处理。
不适合的任务:需要自由文本、尚未确定字段,或依赖未在 K3.1 Pro 文档中验证的复杂 Schema 特性。
适用的模型版本:kimi-k3.1-pro。
适用的客户端、Agent 或 API:Kimi API Chat Completions;官方示例使用 Python OpenAI SDK 和 https://api.moonshot.ai/v1。
推荐的推理档位和参数:response_format.type 使用 json_schema,明确设置 json_schema.strict=true;max_tokens 应覆盖完整 JSON 的长度。
以下是官方页面的完整最小调用结构,保留 kimi-k3.1-pro、json_schema.name、strict、schema 和最终内容解析:
import json
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["MOONSHOT_API_KEY"],
base_url="https://api.moonshot.ai/v1",
)
completion = client.chat.completions.create(
model="kimi-k3.1-pro",
messages=[
{"role": "system", "content": "You are a news summarization assistant."},
{"role": "user", "content": "Please summarize: AI technology made a major breakthrough today."},
],
response_format={
"type": "json_schema",
"json_schema": {
"name": "news_summary",
"strict": True,
"schema": {
"type": "object",
"properties": {
"title": {"type": "string"},
"summary": {"type": "string"},
"keywords": {"type": "array", "items": {"type": "string"}},
},
"required": ["title", "summary", "keywords"],
"additionalProperties": False,
},
},
},
)
# 只解析最终答案;不要对整个响应或 reasoning_content 调用 json.loads。
content = completion.choices[0].message.content
result = json.loads(content)
print(result["title"])
print(result["keywords"])确认请求模型为 kimi-k3.1-pro,并通过 Kimi API Chat Completions 发送。
response_format.type 设为 json_schema,同时提供 json_schema.name 和 json_schema.schema。
使用 strict=true,为对象声明 properties、required 和需要时的 additionalProperties:false。
K3.1 Pro 的官方说明明确覆盖嵌套对象、数组和 anyOf;更复杂的特性先用目标模型实测。
用 walle -schema 'your_schema_json' -level strict 做 MFJS 静态检查。
发起请求后检查 completion.choices[0].finish_reason;若为 length,增加 max_tokens 或缩短输入。
对 completion.choices[0].message.content 执行 json.loads,再按业务需要做字段和类型校验。
页面把 json_object 定义为只保证合法 JSON 对象,把 json_schema 定义为约束字段名、类型和嵌套结构的模式。
json_schema 模式要求同时提供 name 和 schema;strict 建议显式设为 true。
官方模型差异说明写明:kimi-k3.1-pro 和 kimi-k3 可靠支持结构化输出,包括嵌套对象、数组和 anyOf。
strict=true 时,Schema 必须符合 MFJS(Moonshot Flavored JSON Schema);官方建议用 walle 做静态检查。
additionalProperties:false 用于禁止输出 Schema 未定义的字段;required 字段应始终出现在结果中。
缺失信息应优先用允许 null 的联合类型表达,避免单一类型诱导模型编造内容或返回空字符串。
结构化输出仍需要在 prompt 中说明业务目标和数据来源,Schema 只负责输出形状。
官方示例通过 json.loads(completion.choices[0].message.content) 解析结果,并单独读取字段。
本文只把官方明确覆盖的 nested objects、arrays 和 anyOf 归入 Kimi K3.1 Pro 的支持范围;页面没有列出它完整的 MFJS 子集。
页面把 oneOf、$ref、additionalProperties:true 和复杂 Partial Mode 行为明确归给其他模型的说明,不能改写成 K3.1 Pro 的已验证能力。
strict=true 不是绕过 Schema 校验的开关;Schema 不符合 MFJS 或不是对象时,可能收到 400 invalid_request_error。
输出可能因 finish_reason="length" 被截断;json.loads 成功与否不能替代 finish_reason 和业务 Schema 校验。
本次没有使用 API Key 发起 K3.1 Pro 请求,未实测解析成功率、延迟、复杂 Schema、oneOf、$ref 或 Partial Mode。
打开官方 response_format 文档,确认页面标题和 kimi-k3.1-pro 基础示例。
设置 MOONSHOT_API_KEY,安装 openai,运行上方 Python 示例。
记录原始响应中的 finish_reason、message.content 和(若存在)reasoning_content;只对 message.content 解析 JSON。
将同一 Schema 用 walle 的 strict 级别预检,再对目标模型发起实际请求。
以 JSON 解析结果执行独立字段校验;本稿不把静态预检或 HTTP 200 当作 K3.1 Pro 的完整兼容性证明。
Kimi API Platform 官方文档 · 原文日期: 未公开 · 编辑日期: 2026-10-24
阅读原始来源Kimi K3.1 Pro
请在上方所列环境中运行本指南。下载不会自动传入模板,也不代表账户已开放该模型。