Skip to main content
Kimiは月の暗面が提供するAIモデルシリーズです。現在推奨されているkimi-k3は、長期プログラミング、エージェント、複雑な推論、知識作業に向けて設計されており、OpenAI互換のChat Completions APIを通じて呼び出すことができます。 この文書では、Kimi Chat Completion APIの操作の使用フローについて説明します。これを利用することで、公式Kimiの対話機能を簡単に使用できます。

申請フロー

Kimi Chat Completion APIを使用するには、まずAce Data CloudコンソールにアクセスしてAPIトークンを取得し、保管しておきます。 まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。完了後、現在のページに自動的に戻ります。 1つのAPIトークンでプラットフォームのすべてのサービスを呼び出すことができ、各サービスごとに個別に申請する必要はありません。 初回申請時には無料のクレジットが付与され、無料で体験できます。クレジットが不足した場合は、コンソールで一般残高をチャージできます。
📘 完全な文書:Kimi Chat Completion API →

基本使用

次に、画面上に対応する内容を入力します。以下のように:

このインターフェースを初めて使用する際には、少なくとも3つの内容を入力する必要があります:authorizationはドロップダウンリストから直接選択できます;modelはKimiモデルを選択するためのもので、kimi-k3の使用を推奨します;messagesは対話メッセージの配列であり、各メッセージにはrolecontentが含まれています。roleuserassistantsystemtoolをサポートしています。 また、右側には対応する呼び出しコードが生成されていることに注意してください。コードをコピーして直接実行することも、直接「Try」ボタンをクリックしてテストすることもできます。

以下は、reasoning_effort: maxを使用して得られた実際のK3応答(未使用の拡張フィールドは省略)です:
返された結果には複数のフィールドがあり、以下のように説明されます:
  • id:この対話タスクを生成するためのIDで、今回の対話タスクを一意に識別します。
  • model:選択したKimi公式モデル。
  • choices:Kimiが質問に対して提供した回答情報。
  • usage:今回の問答に対するトークンの統計情報。
その中でchoicesはKimiの回答情報を含んでおり、その中のchoicesはKimiの具体的な回答情報を示しています。以下のように確認できます。

choicesの中のcontentフィールドにはKimiの具体的な返信内容が含まれています。K3はまた、推論プロセスを示すためにreasoning_contentを返すこともあります。

K3 推論強度

kimi-k3は常に推論を有効にしています。リクエストボディの最上位はreasoning_effortフィールドをサポートしており、現在唯一サポートされている値はmaxです。このフィールドを省略した場合も同様にmaxが使用されます。standardhighまたは他の文字列は一部の互換性のある上流で緩やかに受け入れられる可能性がありますが、推論の動作が変わることは保証されていないため、依存しないでください。
OpenAI SDKを使用する場合は、このフィールドを直接渡すことができます:
複数回の対話やツール呼び出しの際には、前回の完全なassistantメッセージをmessagesに返送してください。reasoning_contenttool_callsを含めてください。

公式参考

  • Thinking Effort:Kimi K3が常に推論を有効にしていることを説明し、現在reasoning_effortの唯一のサポート値はmaxです。
  • Model Parameter Reference:K3とK2シリーズの推論パラメータ、コンテキストウィンドウ、ツール呼び出しの違いを比較します。
  • Create Chat Completion:Moonshot公式のChat Completionsリクエスト、応答、およびOpenAPIフィールド定義。

ストリーミング応答

このインターフェースはストリーミング応答もサポートしており、ウェブページとの接続に非常に便利で、ウェブページで逐次表示効果を実現できます。 ストリーミングで応答を返したい場合は、リクエストヘッダー内のstreamパラメータをtrueに変更します。 変更は以下のように行いますが、呼び出しコードもストリーミング応答をサポートするために対応する変更が必要です。

streamtrueに変更すると、APIは対応するJSONデータを行ごとに返します。コードレベルで逐次結果を取得するために、相応の変更を行う必要があります。 Pythonのサンプル呼び出しコード:
以下は、同じ実際のK3 Maxストリーミング応答の開始、推論、本文、終了、および使用量データブロックの抜粋です:
見ることができるように、応答の中には多くの data があり、data の中の choices は最新の回答内容であり、上記の内容と一致しています。choices は新たに追加された回答内容であり、結果に基づいてシステムに接続することができます。同時に、ストリーミング応答の終了は data の内容によって判断され、内容が [DONE] の場合、ストリーミング応答の回答がすべて終了したことを示します。返された data の結果には複数のフィールドがあり、以下のように説明されています:
  • id、今回の対話タスクを生成するための ID で、今回の対話タスクを一意に識別するために使用されます。
  • model、選択された Kimi の公式モデル。
  • choices、Kimi が質問に対して提供する回答情報。
JavaScript もサポートされており、例えば Node.js のストリーミング呼び出しコードは以下の通りです:
Java のサンプルコード:
他の言語は別に自分で書き換えることができ、原理は同じです。

多輪対話

もし多輪対話機能を接続したい場合は、messages フィールドに複数の質問をアップロードする必要があります。複数の質問の具体的な例は以下の画像のようになります:

Python のサンプル呼び出しコード:
複数の質問をアップロードすることで、多輪対話を簡単に実現できます。以下はそのリクエストで得られた実際の K3 Max の応答(未使用の拡張フィールドは省略):
choices に含まれる情報は基本的な使用内容と一致しており、これは Kimi が複数の対話に対して返信した具体的な内容を含んでいます。これにより、複数の対話内容に基づいて対応する質問に答えることができます。

エラーハンドリング

API を呼び出す際にエラーが発生した場合、API は対応するエラーコードと情報を返します。例えば:
  • 400 token_mismatched:不正なリクエスト、パラメータが不足しているか無効である可能性があります。
  • 400 api_not_implemented:不正なリクエスト、パラメータが不足しているか無効である可能性があります。
  • 401 invalid_token:未認証、無効または不足している認証トークン。
  • 429 too_many_requests:リクエストが多すぎます、レート制限を超えています。
  • 500 api_error:内部サーバーエラー、サーバーで何かがうまくいかなかった。

エラー応答の例

結論

この文書を通じて、Kimi Chat Completion API を使用して通常の対話、ストリーミング応答、多輪対話を実現し、reasoning_effort を通じて K3 の推論強度を制御する方法を理解しました。