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

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

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 概述。要通过兼容 Anthropic 的端点将 Kimi K2.7 Code 接入 Claude Code,请参阅 如何在 Claude Code 中使用 Kimi K2.7 Code

Kimi K2.7 Code API 设置

从三个配置项开始:

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

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

将 API 密钥远离源代码管理。在 Shell 中导出以便本地开发:

export NOVITA_API_KEY="your_api_key"

如果您的应用已使用 OpenAI SDK,只需进行最小更改:将 base URL 指向 Novita AI 并将模型设置为 moonshotai/kimi-k2.7-code

Kimi K2.7 Code 定价与限制

在代码中使用确切的模型 ID。在面向用户的 UI 中,使用显示名称“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 每 1M token $0.95
输出 token 每 1M token $4.00
缓存读取输入 token 每 1M 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 密钥有效且授权标头格式正确。
  • 模型 ID 被接受,没有出现 404 或模型未找到错误。
  • 您的客户端可以解析 choices[0].message.content
  • 记录 token 使用情况,以便从第一个请求开始监控成本。

Kimi K2.7 Code Python 示例

当您设置 Novita base URL 时,OpenAI Python SDK 可与 Novita AI 配合使用。根据您自己的依赖策略固定 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 的输入模态。对于视觉输入,在用户消息中传递一个包含 text 部分和 image_url 部分的 content 数组:

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。保持初始模式较小,并在依赖生产中的严格模式之前,根据 moonshotai/kimi-k2.7-code 返回的确切响应形状测试您的解析器。

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

生产测试清单

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

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

在生产前,运行一个包含以下内容的评估集:

  • 短文本提示(延迟基线和身份验证检查)。
  • 接近预期工作规模的长上下文提示,而非最大窗口。
  • 工具调用提示,其正确行为是使用有效参数调用函数。
  • 与您的实际上传源和文件处理匹配的图像输入。
  • 失败案例:超长输入、缺少媒体 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 客户端时,将 base URL 设置为 https://api.novita.ai/openai

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

截至 2026 年 6 月 16 日,Novita AI 标价为每 1M 输入 token $0.95、每 1M 输出 token $4.00、每 1M 缓存读取输入 token $0.19。在任何采购决策之前,请在 Kimi K2.7 Code 模型页面 验证当前价格。

它是否支持图像和视频输入?

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

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

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

上下文窗口是多少?

上下文窗口为 262,144 token,最大输出为 262,144 token,如 Novita AI 模型页面所列。

推荐文章