Kimi K2.7 Code API 快速入门 — Novita AI

Kimi K2.7 Code API 快速入门 — Novita AI

Kimi K2.7 Code 已在 Novita AI 上线,模型 ID 为 moonshotai/kimi-k2.7-code,采用兼容 OpenAI 的 chat/completions 端点,上下文窗口为 262,144 个 token,支持文本、图像和视频输入。本快速入门涵盖开发者所需的配置:身份验证、发送首次请求、使用视觉输入、添加函数调用以及了解定价。如需更全面地了解定位与用例,请参阅 Kimi K2.7 Code on Novita AI 概览

Kimi K2.7 Code API 配置

首先准备三项配置信息:

项目
API 密钥 创建 Novita AI API 密钥并存储在环境变量中,例如 NOVITA_API_KEY
兼容 OpenAI 的基础 URL https://api.novita.ai/openai
聊天补全端点 POST https://api.novita.ai/openai/v1/chat/completions
模型 ID moonshotai/kimi-k2.7-code

Novita AI 文档索引 列出了兼容 OpenAI 的基础 URL,聊天补全 API 参考 文档了完整的请求与响应字段。

请勿将 API 密钥纳入版本控制。在本地开发环境中,将其导出为 shell 变量:

export NOVITA_API_KEY="your_api_key"

如果你的应用已使用 OpenAI SDK,只需将基础 URL 指向 Novita AI 并将模型设为 moonshotai/kimi-k2.7-code 即可,改动极小。

Kimi K2.7 Code 定价与限制

在代码中使用确切的模型 ID。在面向用户的界面中,请使用显示名称“Kimi K2.7 Code”。

字段 当前 Novita 值
显示名称 Kimi K2.7 Code
API 模型 ID moonshotai/kimi-k2.7-code
模型系列 MoonshotAI
架构 MoE,总参数 1T,激活参数 32B
端点系列 chat/completionsanthropic
输入模态 文本、图像、视频
输出模态 文本
上下文窗口 262,144 个 token
最大输出 token 数 262,144 个 token
功能 函数调用、结构化输出、推理

截至 2026 年 6 月 16 日,Novita 为 moonshotai/kimi-k2.7-code 列出的 token 价格如下:

Token 类型 标价
输入 token 每百万 token $0.95
输出 token 每百万 token $4.00
缓存读取输入 token 每百万 token $0.19

定价、可用性和速率限制可能会发生变化。在生产环境上线或做出任何成本承诺前,请查看 Kimi K2.7 Code 模型页面Novita AI 定价页面

Kimi K2.7 Code cURL 示例

先发送一个纯文本请求,以确认身份验证、模型路由和响应解析是否正常,然后再添加视觉或工具调用。

curl "https://api.novita.ai/openai/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${NOVITA_API_KEY}" \
  -d '{
    "model": "moonshotai/kimi-k2.7-code",
    "messages": [
      {
        "role": "system",
        "content": "You are a concise code review assistant."
      },
      {
        "role": "user",
        "content": "List three common mistakes when implementing retry logic in Python."
      }
    ],
    "max_tokens": 512,
    "temperature": 0.2
  }'

成功响应返回标准的聊天补全格式:一个 choices 数组、包含 content 的消息、模型/创建时间元数据,以及一个包含提示、补全和总 token 计数的 usage 对象。

使用此冒烟测试来验证:

  • API 密钥有效且 Authorization header 格式正确。
  • 模型 ID 被接受,未返回 404 或模型未找到错误。
  • 你的客户端能够解析 choices[0].message.content
  • Token 使用情况已记录,以便从第一次请求开始监控成本。

Kimi K2.7 Code Python 示例

Novita AI 兼容 OpenAI Python SDK——只需设置 Novita 的基础 URL 即可使用。请根据你自身的依赖管理策略锁定 SDK 版本。

import os
from openai import OpenAI

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

response = client.chat.completions.create(
    model="moonshotai/kimi-k2.7-code",
    messages=[
        {"role": "system", "content": "You are a concise code review assistant."},
        {
            "role": "user",
            "content": "Review this Python function for off-by-one errors and missing edge cases:\n\ndef get_items(lst, start, end):\n    return lst[start:end]",
        },
    ],
    max_tokens=512,
    temperature=0.2,
)

print(response.choices[0].message.content)
print("Tokens used:", response.usage.total_tokens)

对于较长的编码代理会话,请显式设置 max_tokens。Kimi K2.7 Code 最多支持 262,144 个输出 token,但生产环境中的代理应在每次交互时预算 token 用量,并在多步运行中监控累计成本。

图像与视频输入

Novita 将文本、图像和视频列为 Kimi K2.7 Code 的输入模态。对于视觉输入,在用户消息中传递一个 content 数组,包含 text 部分和 image_url 部分:

import os
from openai import OpenAI

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

response = client.chat.completions.create(
    model="moonshotai/kimi-k2.7-code",
    messages=[
        {"role": "system", "content": "You are a UI code review assistant."},
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Describe any accessibility issues visible in this UI screenshot and suggest CSS fixes.",
                },
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/screenshot.png"},
                },
            ],
        },
    ],
    max_tokens=512,
)

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

多模态集成的实用顺序:

  1. 首先确认纯文本冒烟测试通过。
  2. 添加一个图像输入,任务需清晰可验证,例如从 UI 截图中提取标签。
  3. 针对实际工作负载,验证响应质量和响应格式。
  4. 单独测试视频输入——从短视频片段开始,确认请求格式,并衡量延迟和 token 成本,然后再将视频纳入生产环境路径。

不要假设每个兼容 OpenAI 的多模态负载都能被 Novita 托管的模型以完全相同的方式接受。在正式发布前,请根据当前的 Novita AI 文档 或控制台中针对 moonshotai/kimi-k2.7-code 的示例,验证确切的图像和视频负载格式。

函数调用与结构化输出

Kimi K2.7 Code 通过 tools 参数支持函数调用,并通过 response_format 支持结构化输出。这两项均在 Novita AI 模型页面上被列为支持的功能。

当模型应选择工具并返回结构化参数而不是以自然语言回答时,请使用函数调用:

import os
from openai import OpenAI

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

tools = [
    {
        "type": "function",
        "function": {
            "name": "file_search",
            "description": "Search the repository for files matching a pattern.",
            "parameters": {
                "type": "object",
                "properties": {
                    "pattern": {
                        "type": "string",
                        "description": "Glob pattern to match, e.g. '**/*.py'",
                    },
                    "directory": {
                        "type": "string",
                        "description": "Root directory to search within.",
                    },
                },
                "required": ["pattern"],
            },
        },
    }
]

response = client.chat.completions.create(
    model="moonshotai/kimi-k2.7-code",
    messages=[
        {"role": "system", "content": "You are a repository analysis assistant."},
        {
            "role": "user",
            "content": "Find all Python files in the src directory that might contain database migration logic.",
        },
    ],
    tools=tools,
    tool_choice="auto",
    temperature=0.1,
)

message = response.choices[0].message
if message.tool_calls:
    for call in message.tool_calls:
        print(f"Tool: {call.function.name}")
        print(f"Arguments: {call.function.arguments}")
else:
    print(message.content)

对于结构化输出,当你需要无需工具调用即可获得经过验证的 JSON 响应时,请使用带 json_schemaresponse_format。在依赖生产环境中的严格模式之前,请保持早期 schema 尽量精简,并针对 moonshotai/kimi-k2.7-code 返回的确切响应格式测试你的解析器。

Kimi K2.7 Code 的交错推理架构意味着它会在返回结果之前对多步任务进行推理。对于每次交互中涉及多个工具调用的代理式编码工作流,请在将生产流量路由到实际任务集之前,测试工具选择、参数质量和响应延迟。

生产测试清单

Kimi K2.7 Code 对输入、输出和缓存读取 token 分别定价。成本特征因工作负载而异:

  • 长上下文代码审查:输入 token 数量大,成本占据主导。
  • 代码生成代理:输出 token 用量随响应长度和交互次数增加而扩展。
  • 重复上下文工作流:当稳定的系统提示、工具 schema 或仓库摘要跨多次调用重复出现时,适用缓存读取定价。

在生产环境上线前,对以下内容运行评估集:

  • 短纯文本提示(延迟基线和身份验证检查)。
  • 接近预期工作规模(而非最大窗口)的长上下文提示。
  • 正确行为是使用有效参数调用函数的工具调用提示。
  • 与你实际上传来源和文件处理方式一致的图像输入。
  • 失败场景:过大的输入、缺少媒体 URL、无效 API 密钥以及超时行为。

功能列表描述的是可用性。在真实工作负载上进行评估,才能告诉你延迟、token 用量、工具参数质量和输出正确性是否满足生产标准。

常见问题解答

Kimi K2.7 Code 是否可以通过 Novita AI 使用?

是的。Novita AI 将 Kimi K2.7 Code 列为 Serverless LLM,API 模型 ID 为 moonshotai/kimi-k2.7-code

正确的模型 ID 是什么?

在所有 API 调用中使用 moonshotai/kimi-k2.7-code

我应该使用哪个端点?

使用兼容 OpenAI 的聊天补全端点:POST https://api.novita.ai/openai/v1/chat/completions。使用 OpenAI SDK 客户端时,将基础 URL 设为 https://api.novita.ai/openai

Kimi K2.7 Code 的费用是多少?

截至 2026 年 6 月 16 日,Novita AI 标价为:每百万输入 token $0.95,每百万输出 token $4.00,每百万缓存读取输入 token $0.19。在进行任何采购决策前,请通过 Kimi K2.7 Code 模型页面 核实当前价格。

它支持图像和视频输入吗?

Novita 将文本、图像和视频列为输入模态。关于确切的负载格式,请在正式发布多模态功能前,通过当前的 Novita 文档或测试调用进行验证。

Kimi K2.7 Code 支持函数调用吗?

支持。在聊天补全请求中使用 tools 参数。Novita 将函数调用和结构化输出列为支持的功能。

上下文窗口是多少?

根据 Novita AI 模型页面,上下文窗口为 262,144 个 token,最大输出为 262,144 个 token。

推荐阅读