Amazon Bedrockは、さまざまな会社のAIモデルをAPI(アプリから呼び出す仕組み)でまとめて使えるAWSのサービスです。Kimi K3はMoonshot AIが提供するモデルで、文字と画像をまとめて扱えるマルチモーダル型です。重みを公開したオープンウェイトのモデルでもあります。
Moonshot AIは、公開時点でコーディングとエージェント(自分で手順を進めるAI)の能力が最先端の水準に達したと報告しています。
Kimi K3にはこれまで、世界中で処理する「Global」と、米国内で処理する選択肢がありました。今回はそこにインド国内の推論が加わりました。データの処理場所に厳しい決まりがある業務を、インドで動かしやすくするのが狙いです。
処理先をムンバイとハイデラバードに絞る「in」プロファイル
Kimi K3は「クロスリージョン推論プロファイル」という仕組みで提供されます。利用者はAWSの多くのリージョン(AWSの拠点の地域)から呼び出せます。Bedrockは受け取った要求を、複数ある処理先リージョンのどれかで処理します。
どこで処理してよいかは、呼び出すプロファイルIDで決まります。
- Global(global.moonshotai.kimi-k3):多くの用途に推奨。費用が最も安く、使える範囲も最も広い
- インド(in.moonshotai.kimi-k3):推論処理をムンバイとハイデラバードのリージョン内にとどめる必要があるとき
AWSの公式ブログによると、リージョン間の通信は暗号化され、AWSのネットワーク内にとどまります。公開インターネットは通りません。複数リージョンにまたがるVPC(クラウド上の仮想的な社内ネットワーク)を自前で組む必要もありません。
対応リージョンの最新情報は、Kimi K3のモデルカードで確認する形です。
導入例としてUltrahumanが紹介されています。同社アプリのAIアシスタント「Jade」は、利用者自身のRingと血糖値のデータを使って質問に答えます。会話数は1日1万4,000件を超えるといいます。
同社のAditya Patawari氏(エンジニアリング担当VP)は、健康データをAWS内にとどめ、ムンバイを予備のリージョンにしていると説明しました。プロンプトキャッシュ(繰り返し使う指示文を再利用する仕組み)で言語モデルの費用を80%削減し、複数回のやり取りを85%速くしたそうです。
使い方はOpenAI互換API、権限はインド2リージョン分を許可
Kimi K3は、Bedrock Runtimeの窓口で次の4つのAPIから呼び出せます。
- Chat Completions:OpenAI互換のメッセージ形式
- Responses:OpenAI互換で、構造化された出力項目を返す
- Converse:Bedrockの対応モデル共通の形式
- InvokeModel:モデルごとのJSON形式
AWSはこのモデルではOpenAI互換のAPIを推奨しています。サンプルではopenaiのPythonライブラリを使い、接続先をムンバイ(ap-south-1)のBedrock Runtimeに向けています。ストリーミング、ツール呼び出し、構造化出力にも対応します。
認証にはAPIキーも発行できますが、AWSは短期間だけ有効な認証情報を推奨しています。専用のトークン生成ライブラリを使うと、AWS CLIの認証情報から短期のトークンを作れます。
IAM(AWSの権限管理)では、bedrock:InvokeModelとbedrock:InvokeModelWithResponseStreamなどを許可します。対象にはムンバイ(ap-south-1)とハイデラバード(ap-south-2)の両方を含めます。組織でリージョンを制限している場合は、呼び出し元のリージョンを許可したうえで、インドの2つの処理先への転送も許可する必要があります。
編集部の見方では、OpenAI互換APIで呼べるため、OpenAI向けのコードを持つ開発者は接続先とモデルIDの変更から試しやすい構成です。