Kimi K3 長上下文 API 工作流程快速入門

Kimi K3 長上下文 API 工作流程快速入門

Kimi K3 可透過 Novita AI 的無伺服器 API 使用,模型 ID 為 moonshotai/kimi-k3,提供 OpenAI 相容的聊天端點、1,048,576 個代幣的上下文視窗,以及其模型頁面上列出的 1,048,576 個代幣最大輸出設定。本快速入門將說明如何進行身分驗證、發送第一個請求、解析回應,以及規劃 Kimi K3 的代幣定價,然後再將其連接到更大的應用程式。

何時使用本快速入門

當您想從已經支援 OpenAI API 格式的應用程式中測試 Kimi K3 時,請使用本指南。對於長上下文軟體工程、文件分析、研究與推理等工作流程而言,這是一個實用的起點,這類請求可能包含比典型聊天提示更大量的上下文。

Kimi K3 的 Novita 模型頁面描述了一個 2.8 兆參數的模型,具有原生視覺理解能力和 1M 代幣的上下文視窗。同一頁面列出了文字、圖片和影片輸入,以及文字輸出,還有無伺服器存取、結構化輸出、推理和函式呼叫。請將這些視為需要根據您預期的請求格式來驗證的功能,而不是假設每個 OpenAI SDK 功能在所有模型上都有相同的行為。

這不是基準測試比較。目標是讓一個經過身分驗證的請求成功運作,然後提供足夠的操作細節,讓您判斷 Kimi K3 是否適合您的工作負載。

步驟 1:取得您的 Novita API 金鑰

建立或選擇一個 Novita AI 帳戶,開啟您的 API 金鑰設定,然後建立一個用於伺服器端使用的金鑰。請將金鑰遠離前端套件、公開儲存庫、在團隊外部共用的筆記本,以及 shell 歷史記錄。

在執行任一範例之前,將金鑰設定為環境變數:

export NOVITA_API_KEY="your_api_key_here"

當您的帳戶設定支援時,請使用專案或臨時金鑰。在公開示範或任何疑似暴露後,請輪換金鑰。

步驟 2:確認模型 ID 和端點

將連線詳細資訊放在一起,以免顯示名稱意外取代實際的模型識別碼:

欄位
模型 ID moonshotai/kimi-k3
基礎 URL https://api.novita.ai/openai/v1
聊天完成端點 https://api.novita.ai/openai/v1/chat/completions
上下文視窗 1,048,576 個代幣
最大輸出設定 1,048,576 個代幣
輸入能力 文字、圖片、影片
輸出能力 文字
存取類型 無伺服器 API

Kimi K3 模型頁面 是確認可用性、當前限制、能力與定價的唯一來源。在部署前請再次檢查,因為模型配置和價格可能會變動。

步驟 3:發送您的第一個請求

從一個簡短的純文字請求開始。一個小提示可以更容易區分身分驗證或路由問題與應用程式層級的提示問題。

例如,要求 Kimi K3 回傳一個簡短的實作檢查清單:

列出為串流 API 用戶端加入重試機制時的三個最大風險。每個風險回傳一句話。

將第一個 max_tokens 值設定得保守一些。只有在基本請求、回應解析和錯誤處理都能正確運作之後,大的輸出配額才有用。

步驟 4:讀取回應

符合 OpenAI 相容格式的回應會將助手的文字放在 choices[0].message.content 中(標準的非串流聊天完成)。如果您需要請求追蹤或成本核算,請在應用程式中保留回應中繼資料和使用量欄位。

對於生產環境的整合,請至少記錄:

  • 模型 ID 和請求時間戳記。
  • 供應商請求 ID(當用戶端或回應標頭回傳時)。
  • 提示和完成的代幣使用量。
  • 重試次數和 HTTP 狀態。
  • 請求是使用純文字還是多模態內容。

一旦第一個呼叫成功,請測試與您實際工作負載相似的提示:長原始碼檔案、多份文件、工具架構或結構化回應合約。一個成功的簡短提示可以驗證連線能力,但無法驗證生產品質。

步驟 5:檢查定價、限制與常見錯誤

Novita 模型頁面列出了 Kimi K3 的無伺服器定價:每百萬輸入代幣 3 美元 每百萬快取讀取代幣 0.30 美元 ,以及 每百萬輸出代幣 15 美元。您的估算應包含請求的兩端、重試次數,以及您重複發送的上下文數量。

該頁面也列出了下列請求速率層級:

層級 每分鐘請求數 每分鐘代幣數
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
  • 使用 https://api.novita.ai/openai 作為 SDK 基礎 URL,而用戶端預期的是帶有版本號的 .../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。如果請求使用了圖片、影片、工具或結構化輸出,請移除這些欄位,然後逐一加回。

請求速度慢或受到速率限制

測量提示和輸出代幣數量,減少不必要的重複上下文,並為可重試的回應加入有界限的指數退避。請檢查您帳戶的當前速率層級,而不是假設模型頁面表格中的最高層級。

回應不完整

檢查完成原因和使用量資料。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 個代幣的上下文視窗和 1,048,576 個代幣的最大輸出設定。請在部署前檢查該頁面以取得更新資訊。

Kimi K3 可以免費呼叫嗎?

此處並未聲稱可免費存取。模型頁面列出了基於代幣的無伺服器定價,因此在發送大型請求之前,請先檢查您帳戶和模型當前的顯示定價。

我應該從多模態請求開始嗎?

不需要。請先從一個小的純文字請求開始,這樣身分驗證、端點選擇、回應解析和錯誤處理都容易驗證。在該路徑穩定之後,再加入多模態輸入。

推薦文章

來源