Gemini ログを表示する

このドキュメントでは、Gemini for Google Cloud を使用するときに、ユーザー入力、コンテキスト情報、レスポンスを収集して保存する方法について説明します。Gemini for Google Cloud は、ユーザーが Gemini for Google Cloud で行った他のユーザー操作(書面によるフィードバックなど)を収集または Cloud Logging に送信しません。収集されたデータは、保存のために Cloud Logging に送信されます。このデータを確認するには、リソースタイプ cloudaicompanion.googleapis.com/Instance のログエントリを検索します。

この機能は、Vertex AI の Gemini 内でプロンプトやレスポンスをロギングしません。Vertex AI で Gemini のログを有効にするには、データアクセス監査ログを有効にするをご覧ください。

Identity and Access Management(IAM)のロールは、プリンシパルがログにアクセスする機能を制御します。事前定義ロールをプリンシパルに付与することも、カスタムロールを作成することもできます。必要な権限の詳細については、アクセス制御をご覧ください。

Cloud Logging では、お客様のコンテンツを保存時に暗号化するのがデフォルトの動作です。Logging によってログバケットに保存されたデータは、暗号鍵を使用して暗号化されます。これはエンベロープ暗号化と呼ばれるプロセスです。ロギングデータにアクセスするには、これらの鍵暗号鍵にアクセスする必要があります。この鍵は Google がお客様の代わりに管理します。

お客様の組織には、デフォルトの保存時の暗号化で提供されない規制、コンプライアンス関連の暗号化、高度な暗号化要件がある場合があります。組織の要件を満たすため、データを保護する暗号鍵を Google が管理するのではなく、お客様が鍵を管理できます。

顧客管理の暗号鍵(CMEK)の使用状況に関する具体的な情報(利点や制限など)については、顧客管理の暗号鍵をご覧ください。

制限事項

Google Cloud の Gemini によって記録されるログデータには、次のプロダクトでのユーザー操作は含まれません。
  • Gemini in BigQuery
  • Gemini in Looker
  • Google Security Operations の Gemini
  • Database Center の Google Cloud コンソールの Gemini ペイン

始める前に

Gemini for Google Cloud のロギングを有効にする

Gemini for Google Cloud ロギングを有効にするプロジェクト ID を Google Cloud サポートまたは Google Cloud の担当者に連絡してください。

Gemini for Google Cloud のログを表示する

Gemini for Google Cloud のログを表示するには、次のいずれかを行います。

Google Cloud コンソール

  1. Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。

    [ログ エクスプローラ] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。

  2. ツールバーで、Google Cloud コンソールのプロジェクトを選択します。
  3. ツールバーで [すべてのリソース] メニューを開き、リソース [Cloud AI コンパニオン インスタンス] を選択します。

Google Cloud CLI

次のコマンドを実行します。

gcloud logging read "resource.type=cloudaicompanion.googleapis.com/Instance" --project PROJECT_ID  --limit 3

サンプル ログエントリ

LogEntry は、Cloud Logging のデータの基本単位です。以降のセクションでは、Gemini for Google Cloud プラットフォーム イベントの LogEntry に含まれるフィールド(ユーザー リクエストGemini for Google Cloud レスポンスなど)の一覧を示します。

ユーザー リクエスト

次の表に、ユーザー リクエスト ログエントリに含まれるフィールドのリストを示します。

フィールド 値とメモ
LogEntry.resource.type Gemini for Google Cloud のリソースタイプ: cloudaicompanion.googleapis.com/Instance
LogEntry.resource.labels.resource_container Gemini for Google Cloud が使用されたリソース コンテナの一意の ID。
LogEntry.resource.labels.location Gemini for Google Cloud が使用されたロケーション。
LogEntry.resource.labels.instance_id Gemini for Google Cloud が使用されたリソースの一意の ID。
LogEntry.labels.method logEntry を呼び出した内容に応じて、次のいずれかになります。

CompleteTask: Gemini Code Assist や他の Gemini for Google Cloud サービスからのチャット リクエストなど。

GenerateCode: コード生成リクエスト(Gemini Code Assist 内のコード変換リクエストなど)。

CompleteCode: IDE での作業中にコードを完成させるリクエスト(Gemini Code Assist 内のインラインの提案など)。
LogEntry.labels.product Gemini for Google Cloud サービス名。Gemini for Google Cloud プロダクトが Gemini Code Assist の場合、この値は code_assist です。そうでない場合、この値は unknown です。
LogEntry.labels.request_id リクエストをレスポンス ログエントリに関連付けるための固有識別子。
LogEntry.labels.user_id このリクエストを開始したユーザーの ID。
LogEntry.jsonPayload ログエントリのペイロード。
LogEntry.logName ログを識別します。

次のサンプルは、チャット プロンプト イベントのログエントリの例を示しています。

{
  "insertId": "654581e30003b19e340bbd96",
  "resource": {
    "type": "cloudaicompanion.googleapis.com/Instance",
    "labels": {
        instance_id: "default"
        location: "global"
        resource_container: "my-project-id"
     }
  },
  "timestamp": "2023-11-03T23:27:31.242078Z",
  "labels": {
    "product": "code_assist",
    "request_id": "4ea1e265-ea5d-4d11-b3c8-39bad9c96326"
    "user_id": "my-user@example.com"
  },
  "jsonPayload" : {
    @type: "type.googleapis.com/google.cloud.cloudaicompanion.logging.v1.RequestLog"
    "taskCompletionRequest":
      input: {
        messages: [{
          author: "USER"
          content: "What are some best practices to save cost on my Google Cloud bill?"
        }]
        preamble: ""
      }
  }
  "logName": "projects/my-project-id/logs/cloudaicompanion.googleapis.com%2Frequest",
  "receiveTimestamp": "2023-11-03T23:27:31.255648319Z"
  "severity": "INFO"
}

次のサンプルは、コード生成プロンプト(コード ファイル内の Gemini for Google Cloud プロンプトチャットを使用して選択したコードを含む Gemini for Google Cloud プロンプトインライン コード提案など)の RequestLog エントリの例を示しています。

{
  "insertId": "654581e30003b19e340bbd96",
  "resource": {
    "type": "cloudaicompanion.googleapis.com/Instance",
    "labels": {
        instance_id: "default"
        location: "global"
        resource_container: "my-project-id"
     }
  },
  "timestamp": "2023-11-03T23:27:31.242078Z",
  "labels": {
    "product": "code_assist",
    "request_id": "4ea1e265-ea5d-4d11-b3c8-39bad9c96326"
    "user_id": "my-user@example.com"
  },
  "jsonPayload" : {
    @type: "type.googleapis.com/google.cloud.cloudaicompanion.logging.v1.RequestLog"
    "codeGenerationRequest":
      input: {
        prompt: "Generate some great Python for me."
      }
  }
  "logName": "projects/my-project-id/logs/cloudaicompanion.googleapis.com%2Frequest",
  "receiveTimestamp": "2023-11-03T23:27:31.255648319Z"
  "severity": "INFO"
}

Gemini for Google Cloud のレスポンス

次の表に、Gemini for Google Cloud のレスポンス フィールドと説明を示します。

フィールド 値とメモ
LogEntry.resource.type Gemini for Google Cloud のリソースタイプ: cloudaicompanion.googleapis.com/Instance
LogEntry.resource.labels.resource_container Gemini for Google Cloud が使用されたリソース コンテナの一意の ID。
LogEntry.resource.labels.location Gemini for Google Cloud が使用されたロケーション。
LogEntry.resource.labels.instance_id Gemini for Google Cloud が使用されたリソースの一意の ID。
LogEntry.labels.method logEntry を呼び出した内容に応じて、次のいずれかになります。

CompleteTask: Gemini Code Assist や他の Gemini for Google Cloud サービスからのチャット リクエストなど。

GenerateCode: コード生成リクエスト(Gemini Code Assist 内のコード変換リクエストなど)。

CompleteCode: IDE での作業中にコードを完成させるリクエスト(Gemini Code Assist 内のインラインの提案など)。
LogEntry.labels.product Gemini for Google Cloud サービス名。Gemini for Google Cloud プロダクトが Gemini Code Assist の場合、この値は code_assist です。そうでない場合、この値は unknown です。
LogEntry.labels.request_id リクエストをレスポンス ログエントリに関連付けるための固有識別子。
LogEntry.labels.user_id このリクエストを開始したユーザーの ID。
LogEntry.jsonPayload ログエントリのペイロード。
LogEntry.logName ログを識別します。

次のステップ