DeepSeek モデル

Vertex AI の DeepSeek モデルは、API としてフルマネージド モデルとサーバーレス モデルを提供します。Vertex AI で DeepSeek モデルを使用するには、Vertex AI API エンドポイントにリクエストを直接送信します。DeepSeek モデルはマネージド API を使用します。インフラストラクチャをプロビジョニングしたり、管理する必要はありません。

レスポンスをストリーミングして、エンドユーザーのレイテンシを軽減できます。ストリーミング レスポンスでは、サーバー送信イベント(SSE)を使用してレスポンスを段階的にストリーミングします。

使用可能な DeepSeek モデル

Vertex AI で使用できる DeepSeek のモデルは次のとおりです。DeepSeek モデルにアクセスするには、Model Garden のモデルカードに移動します。

DeepSeek-V3.1

DeepSeek-V3.1 は、思考モードと非思考モードの両方をサポートするハイブリッド モデルです。以前のバージョンと比較して、このアップグレードでは、ハイブリッド思考モード、ツール呼び出し、思考効率が改善されています。

DeepSeek R1(0528)

DeepSeek R1(0528)は、DeepSeek R1 モデルの最新バージョンです。DeepSeek-R1 と比較して、推論の深さと推論機能が大幅に向上しています。DeepSeek R1(0528)は、クリエイティブな文書作成、一般的な質問応答、編集、要約など、幅広いタスクに優れています。

考慮事項

  • 本番環境に対応した安全性を確保するには、DeepSeek R1(0528)を Model Armor と統合します。これにより、LLM のプロンプトとレスポンスがさまざまなセキュリティと安全性のリスクについてスクリーニングされます。

DeepSeek R1(0528)モデルカードに移動

DeepSeek モデルを使用する

curl コマンドを使用すると、次のモデル名を使用して Vertex AI エンドポイントにリクエストを送信できます。

  • DeepSeek-V3.1 の場合は、deepseek-v3.1-maas を使用します。
  • DeepSeek R1(0528)の場合は、deepseek-r1-0528-maas を使用します。

始める前に

Vertex AI で DeepSeek モデルを使用するには、次の操作を行う必要があります。Vertex AI を使用するには、Vertex AI API(aiplatform.googleapis.com)を有効にする必要があります。既存のプロジェクトで Vertex AI API が有効になっている場合は、新しいプロジェクトを作成する代わりに、そのプロジェクトを使用できます。

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. 次のいずれかの Model Garden モデルカードに移動し、[有効にする] をクリックします。
  9. DeepSeek モデルにストリーミング呼び出しを行う

    次のサンプルでは、DeepSeek モデルに対してストリーミング呼び出しを行います。

    REST

    環境をセットアップしたら、REST を使用してテキスト プロンプトをテストできます。次のサンプルは、パブリッシャー モデルのエンドポイントにリクエストを送信します。

    リクエストのデータを使用する前に、次のように置き換えます。

    • LOCATION: DeepSeek モデルをサポートするリージョン。
    • MODEL: 使用するモデル名
    • ROLE: メッセージに関連付けられたロール。user または assistant を指定できます。最初のメッセージでは、user ロールを使用する必要があります。Claude モデルは userassistant のターンを交互に操作します。最後のメッセージが assistant ロールを使用する場合、そのメッセージのコンテンツの直後にレスポンス コンテンツが続きます。これを使用して、モデルのレスポンスの一部を制限できます。
    • CONTENT: user または assistant のメッセージの内容(テキストなど)。
    • MAX_OUTPUT_TOKENS: レスポンスで生成できるトークンの最大数。1 トークンは約 4 文字です。100 トークンは約 60~80 語に相当します。

      レスポンスを短くしたい場合は小さい値を、長くしたい場合は大きい値を指定します。

    • STREAM: レスポンスがストリーミングされるかどうかを指定するブール値。レスポンスのストリーミングを行うことで、エンドユーザーが認識するレイテンシを短縮できます。レスポンスをストリーミングする場合は true、すべてのレスポンスを一度に戻すには false に設定します。

    HTTP メソッドと URL:

    POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions

    リクエストの本文(JSON):

    {
      "model": "deepseek-ai/MODEL",
      "messages": [
        {
          "role": "ROLE",
          "content": "CONTENT"
        }
      ],
      "max_tokens": MAX_OUTPUT_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/endpoints/openapi/chat/completions"

    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/endpoints/openapi/chat/completions" | Select-Object -Expand Content

    次のような JSON レスポンスが返されます。

    DeepSeek モデルに非ストリーミング呼び出しを行う

    次のサンプルでは、DeepSeek モデルに対して非ストリーミング呼び出しを行います。

    REST

    環境をセットアップしたら、REST を使用してテキスト プロンプトをテストできます。次のサンプルは、パブリッシャー モデルのエンドポイントにリクエストを送信します。

    リクエストのデータを使用する前に、次のように置き換えます。

    • LOCATION: DeepSeek モデルをサポートするリージョン。
    • MODEL: 使用するモデル名
    • ROLE: メッセージに関連付けられたロール。user または assistant を指定できます。最初のメッセージでは、user ロールを使用する必要があります。Claude モデルは userassistant のターンを交互に操作します。最後のメッセージが assistant ロールを使用する場合、そのメッセージのコンテンツの直後にレスポンス コンテンツが続きます。これを使用して、モデルのレスポンスの一部を制限できます。
    • CONTENT: user または assistant のメッセージの内容(テキストなど)。
    • MAX_OUTPUT_TOKENS: レスポンスで生成できるトークンの最大数。1 トークンは約 4 文字です。100 トークンは約 60~80 語に相当します。

      レスポンスを短くしたい場合は小さい値を、長くしたい場合は大きい値を指定します。

    • STREAM: レスポンスがストリーミングされるかどうかを指定するブール値。レスポンスのストリーミングを行うことで、エンドユーザーが認識するレイテンシを短縮できます。レスポンスをストリーミングする場合は true、すべてのレスポンスを一度に戻すには false に設定します。

    HTTP メソッドと URL:

    POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions

    リクエストの本文(JSON):

    {
      "model": "deepseek-ai/MODEL",
      "messages": [
        {
          "role": "ROLE",
          "content": "CONTENT"
        }
      ],
      "max_tokens": MAX_OUTPUT_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/endpoints/openapi/chat/completions"

    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/endpoints/openapi/chat/completions" | Select-Object -Expand Content

    次のような JSON レスポンスが返されます。

    DeepSeek モデルで利用可能なリージョンと割り当て

    DeepSeek モデルの場合、モデルが使用可能なリージョンごとに割り当てが適用されます。割り当ては、1 分あたりのクエリ数(QPM)で指定されます。

    モデル リージョン 割り当て コンテキストの長さ
    DeepSeek-V3.1
    us-west2
    163,840
    DeepSeek R1(0528)
    us-central1
    • QPM: 1000
    163,840

    Vertex AI の生成 AI の割り当てを引き上げる場合は、 Google Cloud コンソールで割り当ての引き上げをリクエストできます。割り当ての詳細については、割り当てを操作するをご覧ください。