Amazon Bedrockは、Kimi K3についてインド国内での推論(in-country inference)をサポートするようになりました。Amazon Bedrockのインド国内での推論は、グローバル推論とUSベースの推論に加わるもので、厳格なデータレジデンシー要件のために進められなかったローカルのワークロードを進められるようにします。Kimi K3は、Moonshot AIが提供するマルチモーダルなオープンウェイトの基盤モデル(FM)です。Moonshot AIは、Kimi K3についてリリース時にフロンティアレベルのコーディング能力と汎用的なエージェント知能を達成したと報告しています。

Ultrahumanなどの顧客は、Amazon BedrockのKimi K3を使用して、本番環境においてすでに効果を得ています。UltrahumanアプリのAIヘルス&ウェルネスアシスタント「Jade」は、各ユーザー自身のRingとグルコースのデータを使用して平易な言葉で質問に答えており、1日あたり14,000件を超える会話に対応しています。Ultrahumanは、Amazon Bedrock上のKimi K3により、すでに使用しているAPIを通じて主要なオープンウェイト(open-weight)モデルを追加でき、ヘルスデータはAWS内にとどまり、ムンバイがフォールバックのリージョンになっています。また、プロンプトキャッシュ(prompt caching)の利用により、UltrahumanはLLMのコストを80パーセント削減し、マルチターンのチャットを85パーセント高速化したと述べています。

クロスリージョン推論と推論プロファイルの選び方

Amazon Bedrock上のKimi K3は、クロスリージョン推論(cross-Region inference)の推論プロファイル(inference profile)を通じて提供されます。幅広いAWSリージョン("source")からモデルを呼び出すことができ、Amazon Bedrockはリクエストを複数の可能な宛先リージョン(destination Regions)のいずれかで安全に処理します。クロスリージョン推論はAWSによって完全マネージドで提供されます。データはリージョン間の転送中に暗号化されてAWSネットワーク上にとどまり、パブリックインターネットを経由せず、マルチリージョンの仮想プライベートクラウド(VPC)インフラを自分で設定する必要もありません。

呼び出す推論プロファイルID(inference profile ID)によって、どの宛先リージョンが対象になるかが決まります。Kimi K3のGlobal推論プロファイル(モデルID: `global.moonshotai.kimi-k3`)は、コストが最も低く、最も広く利用できるため、ほとんどのユースケースで推奨されます。Kimi K3のIndia geographic 推論プロファイル(モデルID: `in.moonshotai.kimi-k3`)は、推論処理をムンバイリージョンとハイデラバードリージョンの中にとどめる必要がある場合に選びます。利用可能な推論プロファイル、それらを呼び出せるAWSリージョン、および推論に使える宛先リージョンの最新情報は、Amazon BedrockのKimi K3モデルカード(model card)で確認できます。

画像読み取りの例、事前準備、呼び出し方法

Amazon Bedrock上のKimi K3は、多言語テキストを含む画像を直接読み取って推論できるため、別個のOCRサービスや翻訳サービスを必要としない解決策になり得ます。スキャンされたHindi文書を読み取り、構造化データを抽出し、HindiとEnglishが混ざった言語(Hinglish)でフォローアップ質問に答えるユースケースを例として考えます。このようなニーズは、know your customer(KYC)フォーム、公共料金の請求書、類似の文書をデジタル化しなければならないことが多いインドの金融サービスや公共部門のワークフローでよく見られます。

この例を試すには、AWSアカウントが必要です。また、Python 3.11以降がインストールされていること、および必要なPyPIパッケージをインストールするためのインターネット接続が必要となります。さらに、AWS Command Line Interface (AWS CLI)がインストールされ、インドの推論プロファイル経由でKimi K3モデルを呼び出すのに十分なAWS Identity and Access Management (IAM)権限を持つ認証情報が設定されている必要があります。

Amazon Bedrockは、モデルカードに詳述されているとおり、Kimi K3を呼び出すための複数のAPIをサポートしており、これらはすべてBedrock Runtimeエンドポイントの下にあります。Chat Completions APIのリクエストとレスポンスの形式は、OpenAI互換のmessages入力とassistant-message出力です。Responses APIは、OpenAI互換の入力と構造化された出力項目(structured output items)を使います。Converse APIは、サポート対象モデル間で標準化されたmessages、content blocks、および推論パラメータ(inference parameters)を使います。InvokeModel APIは、モデル固有のJSONのリクエスト本文とレスポンス本文を使います。

インドの地理的推論(India geographic inference)で`ap-south-1`(ムンバイ)リージョン経由のKimi K3を使う場合、AWSが示すIAMポリシーによって十分なアクセスが付与されます。ただし、ポリシー内の`{ACCOUNT_ID}`プレースホルダーは自分のAWSアカウントIDに置き換える必要があります。もし組織がAWSリージョン(AWS Regions)を制限している場合は、管理者にgeographic cross-Region inferenceのIAMとSCPのガイダンスを確認してもらうようAWSは勧めています。また、Responses APIのガイドには、必要なデフォルトプロジェクトへのアクセスについても記載されています。組織がリージョンを制限している場合、ソースリージョンを許可したままにし、インドの両方の宛先リージョンへのルーティングを許可するよう、AWSは案内しています。必要に応じて、プロファイル単位の例外を使うとも述べています。

Kimi K3ではOpenAI互換APIが推奨されているため、openai Python Libraryを通じて接続します。Chat Completions APIとResponses APIの両方で、ストリーミング、ツール呼び出し(tool calling)、構造化出力(structured output)などの幅広い機能がサポートされています。Amazon Bedrock上のKimi K3は画像のほか、PDFやその他さまざまなファイル形式に対応しており、入力ファイルをbase64エンコードしてモデルに直接送ることができます。OCRなど細かな部分が重要なユースケースでは、画像の`detail`パラメータを`high`に設定することを検討するとよいです。これは精度を向上させる一方で、画像あたりの入力トークンが増えるという代償を伴います。Kimi K3では、画像をテキスト入力より前に渡したときに出力品質が高くなる場合がありました。リクエスト内の順序を試すことが推奨されています。呼び出しコードの`region`(`ap-south-1` ムンバイ)は、リクエストを送るソースリージョン(source Region)を指定します。推論プロファイル`in.moonshotai.kimi-k3`により、推論はインドのリージョンのみで処理されます。

Amazon Bedrockは、APIキーを必要とする統合向けにAPIキーを生成できます。ただしAWSは、可能な限り代わりに短期間有効な認証情報(short-lived credentials)を使うことを推奨しています。AWS token generator Pythonライブラリは、標準のAWS CLI認証情報チェーンから、APIキーに似た短期トークンを生成します。AWS CLIで名前付きプロファイル(named profile)を使っている場合は、先に`AWS_PROFILE`環境変数を設定する必要がある場合があります。CLIの認証情報を設定した後、モデルを呼び出すことができます。サンプルコードはGitHubからダウンロードでき、自分の画像で試すことができます。

ヒンディー語請求書の読み取りと構造化抽出

Kimi K3は、ヒンディー語の電気料金請求書の画像を入力すると、別途のデジタル化の工程なしで、文書から直接データを取り出して質問に答えられます。デモ用に、ヒンディー語の合成の電気料金請求書の画像が生成されました。サンプル文書はすべて架空のものです。このヒンディー語の合成電気料金請求書の例では、「Bill kitne ka hai aur last date kab hai? Late hua toh kitna dena padega?」という質問に対し、モデルは合計が₹2,217.20、期限が20/10/2026、遅れた場合は₹2,261.54を支払う必要があると答えました。

静的なプロンプトを使用して多数の文書から一貫した想定フィールド群を抽出することで、一般的な質問応答にとどまらない構造化された文書処理ワークフローを作ることができます。GitHubで公開されているサンプルコードのリポジトリ全体には、エンドツーエンドのパイプラインが含まれています。このパイプラインは、手順1として、文書を元の文字体系のまま書き起こす(OCR)を行います。構造化抽出パイプラインは、設定可能なスキーマを使って主要フィールドをJSONとして抽出します。この際、日付はISO 8601(`YYYY-MM-DD`)に正規化し、デーヴァナーガリー数字(例: २८८)は西洋数字(288)に変換し、名前は英語に音訳します。構造化抽出パイプラインは、文書の短い英語の要約を書きます。また、同じ文書についてのマルチターンのフォローアップ質問に、Hinglish(ラテン文字で書かれ英語が混ざったヒンディー語)で答えます。サンプルには、KYCフォームの例と、あらゆる他の文書タイプに対してモデル自身が最も有用なフィールドを選ぶオープンエンドのスキーマフリー(schema-free)モードも含まれています。提供されるサンプル文書はすべて合成であり、名前と住所は架空で、本人確認番号はマスクされています。前述のヒンディー語の合成電気料金請求書に対して、パイプラインは構造化されたフィールドを返します。

Kimi K3は、出力構造に厳格な制約をかけるために、関数呼び出し(function calling)またはJSON Schema出力形式の指定のいずれかによる構造化出力に対応しています。構造化出力のオプションの詳細は、OpenAI互換APIについてはOpenAIのドキュメントに、ネイティブのConverse/InvokeModel APIについてはAmazon Bedrock User Guideに記載されています。これは、プロンプトで誘導するベストエフォートの生成とは異なります。

Amazon Bedrock Advanced Prompt Optimization(AdvPO)は、参照例に基づいてプロンプトテンプレートを最適化する、フルマネージドの選択肢です。信頼できる抽出を実現するために、サンプル文書に対してシステムプロンプトとスキーマを調整することが勧められています。

サービスティアとプロンプトキャッシュの使い方

Amazon Bedrockのサービスティア(service tier)では、リクエストごとに価格性能(price-performance)を制御できます。レイテンシーへの感度が低いケースでは、flexティア(flex tier)を選ぶと、デフォルトのスタンダード料金から50パーセント割引になります。レイテンシーが重要なシナリオでは、"priority" を選ぶと、より高い価格でより高いキュー優先度を要求できます。

入力プロンプトに長くてあまり変わらない内容がある用途では、Amazon Bedrockのプロンプトキャッシュの恩恵を受けられます。AWSは、静的な内容(システムプロンプトやツールの説明など)を、現在の画像や質問のような動的な部分より前の、入力の先頭に置くよう勧めています。

Amazon Bedrock上のKimi K3は、キャッシュヒット(cache hit)に対する割引料金と、明示的なキャッシュモード(explicit caching mode)の両方をサポートします。デフォルトの暗黙的キャッシュモード(implicit caching mode)では、ユーザー側の操作なしに、リクエスト間で繰り返されるプロンプトのプレフィックスを、サービスが自動的にキャッシュして再利用しようとします。

Kimi K3では、明示的モード(explicit mode)を選び、入力内のキャッシュ可能な内容に「ブレークポイント(breakpoints)」を指定することで、キャッシュヒット率、応答速度、コスト削減を高めて性能を改善できます。Amazon BedrockのResponses APIを用いた例では、入力中にキャッシュ可能な内容の「ブレークポイント」を指定する方式で明示的モードのプロンプトキャッシュを使います。

利用時の注意点とログ・メトリクスの扱い

自動抽出では、重要な判断で出力に頼る前に、自分のユースケースで出力が信頼できるかを確認する必要があります。また、重要なワークフローでは、事後検証ロジックや人によるレビューの追加を検討することが推奨されています。モデル呼び出しログ(model invocation logging)はオプトイン方式であり、プロンプトと出力を任意で含めることができますが、有効にする前にアクセス、保持、保存場所の設定を確認する必要があります。Kimi K3はトークン単位で課金されるため、コードサンプルは、クリーンアップが必要な永続的なAWSリソースをプロビジョニングしません。もし試すために新しいIAMロールまたはユーザーを作成した場合や、既存のユーザー/ロールに権限を追加した場合は、終了後にそれらを削除してください。

Kimi K3では、Amazon CloudWatchメトリクスが`AWS/Bedrock`名前空間の下に自動的に生成されます。このメトリクスにより、呼び出し率、トークン数、キャッシュ使用量、レイテンシー、エラー、スロットリングを可視化できます。ログとメトリクスは、クロスリージョン推論において別の宛先リージョンが処理した場合でも、リクエストを送信したソースリージョンに保存されます。また、AWS CloudTrailのデータイベントログを任意で有効にすると、モデル呼び出しをCloudTrailに記録できます。この場合、CloudTrailはリクエストの宛先リージョンを`additionalEventData.inferenceRegion`フィールドに記録します。

Kimi K3は、Amazon Bedrockコンソールまたは推論APIから試すことができます。詳細はモデルカードで確認でき、Amazon Bedrockに関する回答の検索やコミュニティへの質問はAWS re:Postで行えます。プロンプトキャッシュの詳細については、Amazon Bedrock User Guideのプロンプトキャッシュの項を参照できます。

Amazon Bedrock上のKimi K3は、Indic言語と英語が混在した言語を理解できるオンデマンドのインテリジェンスを提供します。現在は、`in.moonshotai.kimi-k3` 推論プロファイルを通じて、インド(AWS ムンバイおよびハイデラバードのリージョン)での国内完結のデータ処理をサポートしています。