Kimi K3 快速入门指南:长上下文 API 工作流

Kimi K3 快速入门指南:长上下文 API 工作流

Kimi K3 通过 Novita AI 的无服务器 API 提供,使用模型 ID moonshotai/kimi-k3,一个兼容 OpenAI 的聊天端点,1,048,576 个 token 的上下文窗口,以及在其模型页面上列出的 1,048,576 个 token 的最大输出设置。本快速入门指南将展示如何完成身份验证、发送第一个请求、解析响应,以及在将 Kimi K3 连接到更大的应用程序之前规划其 token 定价。

何时使用本快速入门指南

当你希望从已支持 OpenAI API 格式的应用程序中测试 Kimi K3 时,请使用本指南。对于长上下文软件工程、文档分析、研究和推理工作流而言,这是一个实用的起点,此类工作流中的请求可能包含比典型聊天提示多得多的上下文。

Kimi K3 的 Novita 模型页面描述了一个 2.8 万亿参数的模型,具备原生视觉理解和 1M token 的上下文窗口。同一页面还列出了文本、图像和视频输入(输出为文本),以及无服务器访问、结构化输出、推理和函数调用等功能。应将以上内容视为需根据预期请求形态进行验证的能力,而非假设每个 OpenAI SDK 功能在不同模型间行为一致。

本文并非基准测试对比。目标是让第一个经过身份验证的请求成功运行,然后提供足够的操作细节,供你判断 Kimi K3 是否适合你的工作负载。

第一步:获取你的 Novita API 密钥

创建或选择一个 Novita AI 账户,打开 API 密钥设置,并创建一个用于服务端的密钥。请尽可能将密钥保存在前端代码包、公共仓库、团队外部共享的笔记本以及 shell 历史记录之外。

在运行以下任一示例之前,将密钥设置为环境变量:

export NOVITA_API_KEY="your_api_key_here"

当你的账户设置支持时,请使用项目密钥或临时密钥。在公开演示或任何疑似泄露后,请轮换该密钥。

第二步:确认模型 ID 和端点

将连接信息放在一起,以免显示名称意外替换了实际的模型标识符:

字段
模型 ID moonshotai/kimi-k3
基础 URL https://api.novita.ai/openai/v1
聊天补全端点 https://api.novita.ai/openai/v1/chat/completions
上下文窗口 1,048,576 个 token
最大输出设置 1,048,576 个 token
输入能力 文本、图像、视频
输出能力 文本
访问类型 无服务器 API

Kimi K3 模型页面 是关于可用性、当前限制、功能和定价的权威信息来源。在部署前请再次查看,因为模型配置和价格可能会发生变化。

第三步:发送你的第一个请求

从一个简短的纯文本请求开始。一个小提示有助于将身份验证或路由问题与应用层面的提示问题区分开来。

例如,让 Kimi K3 返回一个简短的实施检查清单:

列出在流式 API 客户端中添加重试机制时的三大风险。每个风险用一句话说明。

请将第一个 max_tokens 值设置得适中。只有在基本请求、响应解析和错误处理正常工作后,较大的输出限制才有意义。

第四步:读取响应

对于标准的非流式聊天补全,兼容 OpenAI 的响应将助手的文本放置在 choices[0].message.content 中。如果你的应用程序需要请求跟踪或成本核算,请保留响应元数据和用量字段。

对于生产环境集成,至少记录以下内容:

  • 模型 ID 和请求时间戳。
  • 提供者请求 ID(当客户端或响应头返回时)。
  • 提示和补全的 token 用量。
  • 重试次数和 HTTP 状态码。
  • 请求是纯文本还是多模态内容。

首次调用成功后,请测试与你实际工作负载相似的提示:长源文件、多个文档、工具 schema 或结构化响应契约。成功的短提示验证的是连接性,而非生产质量。

第五步:查看定价、限制和常见错误

Novita 模型页面列出了 Kimi K3 的无服务器定价:每百万输入 token 3 美元 每百万缓存读取 token 0.30 美元 ** 和 ** 每百万输出 token 15 美元。你的估算应包含请求的两端、重试次数以及你重复发送的上下文量。

该页面还列出了以下请求速率层级:

层级 每分钟请求数 每分钟 token 数
T1 30 50,000,000
T2 100 50,000,000
T3 1,000 50,000,000
T4 3,000 50,000,000
T5 6,000 50,000,000

适用的层级取决于你的账户。请勿将表格视为每个项目都从 T1 开始或每个工作负载都能使用所显示的最大速率的保证。

首次集成时常见的错误包括:

  • 缺少 Authorization: Bearer 标头或设置了错误的环境变量。
  • 发送 kimi-k3 或营销名称,而非 moonshotai/kimi-k3
  • 在 SDK 基础 URL 中使用 https://api.novita.ai/openai,而客户端期望的是带版本号的 .../openai/v1 路径。
  • 发送的请求体不是有效的 JSON。
  • 设置的输出限制大于应用程序的存储或处理能力。
  • 假设多模态请求体在每个 SDK 或模型系列中完全相同。

Python 示例

在你的环境中安装 OpenAI Python 客户端,然后在设置了 NOVITA_API_KEY 的情况下运行此示例:

pip install openai
import os

from openai import OpenAI


client = OpenAI(
    api_key=os.environ["NOVITA_API_KEY"],
    base_url="https://api.novita.ai/openai/v1",
)

response = client.chat.completions.create(
    model="moonshotai/kimi-k3",
    messages=[
        {
            "role": "system",
            "content": "You are a concise engineering assistant.",
        },
        {
            "role": "user",
            "content": "List three risks when adding retries to a streaming API client.",
        },
    ],
    temperature=0.2,
    max_tokens=300,
)

print(response.choices[0].message.content)

该示例有意使用较短的补全。只有在为你的应用程序添加了适当的超时、重试、日志记录和用量跟踪之后,才应增加上下文和输出预算。

cURL 示例

无需 SDK 即可测试相同的请求:

payload='{
  "model": "moonshotai/kimi-k3",
  "messages": [
    {
      "role": "system",
      "content": "You are a concise engineering assistant."
    },
    {
      "role": "user",
      "content": "List three risks when adding retries to a streaming API client."
    }
  ],
  "temperature": 0.2,
  "max_tokens": 300
}'

curl --request POST "https://api.novita.ai/openai/v1/chat/completions" \
  --header "Authorization: Bearer $NOVITA_API_KEY" \
  --header "Content-Type: application/json" \
  --data "$payload"

关键参数

参数 控制内容 推荐的初始值
model 响应请求的托管模型 moonshotai/kimi-k3
messages 系统、用户和助手的对话轮次 一条系统消息和一条用户消息
temperature 输出的可变性 0.2(用于可重复测试)
max_tokens 最大生成输出 300,然后根据需要逐步提高
stream 输出是否增量到达 调试时保持禁用
tools 可供模型调用的函数定义 在基本聊天功能正常后添加
response_format 结构化输出要求 使用前验证返回的 JSON

对于图像或视频输入,在将其添加到应用程序之前,请先在模型和 API 文档中确认当前的请求格式。模型页面上的功能标签不能替代对你客户端库使用的确切内容结构进行测试。

故障排除

身份验证失败

检查 NOVITA_API_KEY 是否在执行请求的同一进程中设置。确认标头使用的是 Bearer,而非查询参数或其他凭据名称。

模型未找到

请使用确切的 ID moonshotai/kimi-k3。模型显示名称不能替代 API 模型 ID。

请求被拒绝

减小提示和 max_tokens 值,验证 JSON 主体,并确认端点是 /openai/v1/chat/completions。如果请求使用了图像、视频、工具或结构化输出,请移除这些字段并逐一添加回来。

请求缓慢或触发速率限制

测量提示和输出 token 数量,减少不必要的重复上下文,并为可重试的响应添加带边界的指数退避策略。请查看你账户的当前速率层级,而非假设模型页面表格中的最高层级。

响应不完整

检查完成原因 (finish_reason) 和用量数据。较小的 max_tokens 值可能导致长答案被截断;增加该值也会增加你的应用程序可能需要支付和处理的数据量。

常见问题解答

我应该为 Kimi K3 发送什么模型 ID?

请在 model 字段中发送 moonshotai/kimi-k3

OpenAI 客户端使用哪个端点?

将 SDK 基础 URL 设置为 https://api.novita.ai/openai/v1。聊天补全请求将发送至 https://api.novita.ai/openai/v1/chat/completions

Kimi K3 的上下文窗口有多大?

Novita 模型页面列出了 1,048,576 个 token 的上下文窗口和 1,048,576 个 token 的最大输出设置。部署前请查看该页面以获取更新信息。

Kimi K3 可以免费调用吗?

本文不声称可免费访问。模型页面列出了基于 token 的无服务器定价,因此在发送大型请求之前,请查看你的账户和模型当前显示的定价。

我应该从多模态请求开始吗?

不。请从一个小的纯文本请求开始,以便身份验证、端点选择、响应解析和错误处理易于验证。在该路径稳定后再添加多模态输入。

推荐阅读

来源