Vertex AI の Mistral AI モデルは、API としてフルマネージド モデルとサーバーレス モデルを提供します。Vertex AI で Mistral AI モデルを使用するには、Vertex AI API エンドポイントにリクエストを直接送信します。Mistral AI モデルはマネージド API を使用します。インフラストラクチャをプロビジョニングしたり、管理する必要はありません。
レスポンスをストリーミングして、エンドユーザーのレイテンシを軽減できます。ストリーミング レスポンスでは、サーバー送信イベント(SSE)を使用してレスポンスを段階的にストリーミングします。
Mistral AI モデルは従量課金制です。従量課金制の料金については、Vertex AI の料金ページで Mistral AI モデルの料金をご覧ください。
利用可能な Mistral AI モデル
Vertex AI で使用できる Mistral AI のモデルは次のとおりです。Mistral AI モデルにアクセスするには、Model Garden のモデルカードに移動します。
Mistral Large(2407)
Mistral Large(2407)は、Mistral AI のテキスト生成用フラグシップ モデルです。最上位の推論機能を備え、テキストの理解、変換、コード生成などの複雑な多言語タスクに使用できます。詳細については、Mistral AI の Mistral Large(2407)に関する投稿をご覧ください。
Mistral Large(2407)は、次の点で優れています。
- 多言語対応。英語、フランス語、ドイツ語、スペイン語、イタリア語、中国語、日本語、韓国語、ポルトガル語、オランダ語、ポーランド語など、多数の言語に対応しています。
- コーディングに精通している。Python、Java、C、C++、JavaScript、Bash など、80 を超えるコーディング言語でトレーニングされています。Swift や Fortran などの言語でもトレーニングされています。
- エージェント中心。ネイティブ関数呼び出しと JSON 出力による優れたエージェント機能。
- 高度な推論。最先端の数学的推論機能。
Mistral Nemo
Mistral Nemo は、Mistral AI の費用対効果に優れた独自モデルです。低レイテンシのワークロードや、分類、カスタマー サポート、テキスト生成など、一括で実行できる単純なタスクに最適です。詳細については、Mistral AI のドキュメントをご覧ください。
Mistral Nemo は、次のようなユースケース向けに最適化されています。
- テキストの生成と分類。
- カスタマー サポートのシナリオ用のエージェントの作成。
- コードの生成、補完、レビュー、コメント。すべての主流のコーディング言語をサポートしています。
Codestral
Codestral は、コード生成タスク(Fill-In-the-Middle やコード補完など)向けに特別に設計され、最適化された生成モデルです。Codestral は 80 以上のプログラミング言語でトレーニングされているため、一般的な言語だけでなく、あまり一般的でない言語でも優れたパフォーマンスを発揮します。詳細については、Mistral AI のコード生成のドキュメントをご覧ください。
Codestral は、次のユースケース向けに最適化されています。
- コードの生成、コード補完、候補の提示、翻訳。
- コードを理解して、コードの概要と説明を提供。
- コードをリファクタリングし、バグを修正してテストケースを生成することで、コードの品質を確認。
Mistral AI モデルを使用する
Mistral AI のモデルを使用するリクエストを送信する場合は、次のモデル名を使用します。
- Mistral Large(2407)の場合は、
mistral-large@2407
を使用します。 - Mistral Nemo の場合は
mistral-nemo@2407
を使用します。 - Codestral の場合は
codestral@2405
を使用します。
モデル バージョンの違いが考えられるため、@
記号で始まる接尾辞を含むモデル バージョンを使用することをおすすめします。モデルのバージョンを指定しないと、常に最新バージョンが使用されます。モデルのバージョンが変更されたときに、ワークフローに影響が及ぶ可能性があります。
Mistral AI SDK の使用方法については、Mistral AI Vertex AI のドキュメントをご覧ください。
始める前に
Vertex AI で Mistral AI モデルを使用するには、次の操作を行う必要があります。Vertex AI を使用するには、Vertex AI API(aiplatform.googleapis.com
)を有効にする必要があります。既存のプロジェクトで Vertex AI API が有効になっている場合は、新しいプロジェクトを作成する代わりに、そのプロジェクトを使用できます。
パートナー モデルを有効にして使用するために必要な権限があることを確認します。詳細については、必要な権限を付与するをご覧ください。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
- 次のいずれかの Model Garden モデルカードに移動し、[有効にする] をクリックします。
Mistral AI モデルにストリーミング呼び出しを行う
次のサンプルでは、Mistral AI モデルへのストリーミング呼び出しを行います。
REST
環境をセットアップしたら、REST を使用してテキスト プロンプトをテストできます。次のサンプルは、パブリッシャー モデルのエンドポイントにリクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: Mistral AI モデルをサポートするリージョン。
- MODEL: 使用するモデル名。リクエスト本文で、
@
モデルのバージョン番号を除外します。 - ROLE: メッセージに関連付けられたロール。
user
またはassistant
を指定できます。最初のメッセージでは、user
ロールを使用する必要があります。Claude モデルはuser
とassistant
のターンを交互に操作します。最後のメッセージがassistant
ロールを使用する場合、そのメッセージのコンテンツの直後にレスポンス コンテンツが続きます。これを使用して、モデルのレスポンスの一部を制限できます。 - STREAM: レスポンスがストリーミングされるかどうかを指定するブール値。レスポンスのストリーミングを行うことで、エンドユーザーが認識するレイテンシを短縮できます。レスポンスをストリーミングする場合は
true
、すべてのレスポンスを一度に戻すにはfalse
に設定します。 - CONTENT:
user
またはassistant
のメッセージの内容(テキストなど)。 - MAX_OUTPUT_TOKENS: レスポンスで生成できるトークンの最大数。トークンは約 3.5 文字です。100 トークンは約 60~80 語に相当します。
レスポンスを短くしたい場合は小さい値を、長くしたい場合は大きい値を指定します。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/mistralai/models/MODEL:streamRawPredict
リクエストの本文(JSON):
{ "model": MODEL, "messages": [ { "role": "ROLE", "content": "CONTENT" }], "max_tokens": MAX_TOKENS, "stream": true }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/mistralai/models/MODEL:streamRawPredict"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/mistralai/models/MODEL:streamRawPredict" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
Mistral AI モデルに単一呼び出しを行う
次のサンプルでは、Mistral AI モデルへの単一呼び出しを行います。
REST
環境をセットアップしたら、REST を使用してテキスト プロンプトをテストできます。次のサンプルは、パブリッシャー モデルのエンドポイントにリクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: Mistral AI モデルをサポートするリージョン。
- MODEL: 使用するモデル名。リクエスト本文で、
@
モデルのバージョン番号を除外します。 - ROLE: メッセージに関連付けられたロール。
user
またはassistant
を指定できます。最初のメッセージでは、user
ロールを使用する必要があります。Claude モデルはuser
とassistant
のターンを交互に操作します。最後のメッセージがassistant
ロールを使用する場合、そのメッセージのコンテンツの直後にレスポンス コンテンツが続きます。これを使用して、モデルのレスポンスの一部を制限できます。 - STREAM: レスポンスがストリーミングされるかどうかを指定するブール値。レスポンスのストリーミングを行うことで、エンドユーザーが認識するレイテンシを短縮できます。レスポンスをストリーミングする場合は
true
、すべてのレスポンスを一度に戻すにはfalse
に設定します。 - CONTENT:
user
またはassistant
のメッセージの内容(テキストなど)。 - MAX_OUTPUT_TOKENS: レスポンスで生成できるトークンの最大数。トークンは約 3.5 文字です。100 トークンは約 60~80 語に相当します。
レスポンスを短くしたい場合は小さい値を、長くしたい場合は大きい値を指定します。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/mistralai/models/MODEL:rawPredict
リクエストの本文(JSON):
{ "model": MODEL, "messages": [ { "role": "ROLE", "content": "CONTENT" }], "max_tokens": MAX_TOKENS, "stream": false }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/mistralai/models/MODEL:rawPredict"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/mistralai/models/MODEL:rawPredict" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
Mistral AI モデルで利用可能なリージョンと割り当て
Mistral AI モデルの場合、モデルが使用可能なリージョンごとに割り当てが適用されます。割り当ては、1 分あたりのクエリ数(QPM)と 1 分あたりのトークン数(TPM)で指定されます。TPM には、入力トークンと出力トークンの両方が含まれます。
次の表に、各 Mistral AI モデルのサポートされているリージョン、デフォルトの割り当て、最大コンテキスト長を示します。
Mistral Large(2407)
リージョン | 割り当てシステム | サポートされているコンテキストの長さ |
---|---|---|
us-central1 |
60 QPM、200,000 TPM | 128,000 トークン |
europe-west4 |
60 QPM、200,000 TPM | 128,000 トークン |
Mistral Nemo
リージョン | 割り当てシステム | サポートされているコンテキストの長さ |
---|---|---|
us-central1 |
60 QPM、200,000 TPM | 128,000 トークン |
europe-west4 |
60 QPM、200,000 TPM | 128,000 トークン |
Codestral
リージョン | 割り当てシステム | サポートされているコンテキストの長さ |
---|---|---|
us-central1 |
60 QPM、200,000 TPM | 32,000 トークン |
europe-west4 |
60 QPM、200,000 TPM | 32,000 トークン |
Vertex AI の生成 AI の割り当てを引き上げる場合は、Google Cloud コンソールから割り当ての増加をリクエストできます。割り当ての詳細については、割り当てを操作するをご覧ください。