このドキュメントでは、Google Cloudで Gemini を使用するときに、ユーザー入力、コンテキスト情報、レスポンスを収集して保存する方法について説明します。 Google Cloud の Gemini は、 Google Cloudの Gemini でユーザーが行った他のユーザー操作(書面によるフィードバックなど)を収集または 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
- Google Cloud コンソールの Database Center の Gemini ペイン
始める前に
-
Gemini for Google Cloud のログを表示するために必要な権限を取得するには、プロジェクトに対する ログ閲覧者 (
roles/logging.viewer
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。 Google Cloud のロギングで Gemini を有効にする前に、Cloud Logging の料金と Google Cloud の Gemini の料金を確認します。
Google Cloud ロギング用に Gemini を有効にする
Google Cloud のロギングで Gemini を有効にするプロジェクト ID を Google Cloud サポートまたは Google Cloud の担当者に連絡します。
Google Cloud の Gemini ログを表示する
Google Cloud の Gemini ログを表示するには、次のいずれかを行います。
Google Cloud コンソール
-
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。
- ツールバーで、 Google Cloud コンソール プロジェクトを選択します。
- ツールバーで [すべてのリソース] メニューを開き、リソース [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 レスポンスなど、Gemini for Google Cloud プラットフォーム イベントの LogEntry
にあるフィールドの一覧を示します。
ユーザー リクエスト
次の表に、ユーザー リクエスト ログエントリに含まれるフィールドのリストを示します。
フィールド | 値とメモ |
---|---|
LogEntry.resource.type |
Google Cloudの Gemini のリソースタイプ: cloudaicompanion.googleapis.com/Instance 。 |
LogEntry.resource.labels.resource_container |
Google Cloud の Gemini が使用されたリソース コンテナの一意の ID。 |
LogEntry.resource.labels.location |
Google Cloud の Gemini が使用されたロケーション。 |
LogEntry.resource.labels.instance_id |
Google Cloud の Gemini が使用されたリソースの一意の 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 |
Google Cloud の Gemini サービス名。 Google Cloud の Gemini プロダクトが Gemini Code Assist の場合、この値は code_assist です。 Google Cloud の Gemini プロダクトが Gemini Cloud Assist の場合、この値は cloud_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"
}
次のサンプルは、自動インライン コード提案プロンプトと、コード ファイル内の Google Cloud の Gemini プロンプトの RequestLog
エントリの例を示しています。
インライン コード候補のプロンプトデータは codeCompletionRequest
オブジェクトを使用します(次の例を参照)。手動でトリガーされた生成では codeGenerationRequest
が使用されます。
{
"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"
"codeCompletionRequest": {
"input_data_context": {
"additional_context": {
"files": [
{
"language": "go",
"path": "{/path/to/../current-file.go",
"segments": [
{
"content": "...Prefix Text..."
},
{
"content": "...Suffix Text..."
}
],
"state": ["EDITED"]
},
{
"language": "go",
"path": "/path/to/../recent-file.go",
"segments": [
{
"content": "...File Text..."
}
],
"state": ["RECENTLY_OPENED"]
}
]
}
}
}
}
"logName": "projects/my-project-id/logs/cloudaicompanion.googleapis.com%2Frequest",
"receiveTimestamp": "2023-11-03T23:27:31.255648319Z"
"severity": "INFO"
}
Google Cloud レスポンス用の Gemini
次の表に、 Google Cloud の Gemini レスポンス フィールドと説明を示します。
フィールド | 値とメモ |
---|---|
LogEntry.resource.type |
Google Cloudの Gemini のリソースタイプ: cloudaicompanion.googleapis.com/Instance 。 |
LogEntry.resource.labels.resource_container |
Google Cloud の Gemini が使用されたリソース コンテナの一意の ID。 |
LogEntry.resource.labels.location |
Google Cloud の Gemini が使用されたロケーション。 |
LogEntry.resource.labels.instance_id |
Google Cloud の Gemini が使用されたリソースの一意の 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 |
Google Cloud の Gemini サービス名。 Google Cloud の Gemini プロダクトが Gemini Code Assist の場合、この値は code_assist です。 Google Cloud の Gemini プロダクトが Gemini Cloud Assist の場合、この値は cloud_assist です。そうでない場合、この値は unknown です。 |
LogEntry.labels.request_id |
リクエストをレスポンス ログエントリに関連付けるための固有識別子。 |
LogEntry.labels.user_id |
このリクエストを開始したユーザーの ID。 |
LogEntry.jsonPayload |
ログエントリのペイロード。回答の生成に使用されたソースの引用は、このオブジェクトに attribution_context として含まれます。 |
LogEntry.logName |
ログを識別します。 |
次のステップ
- Google Cloudでログを表示、分析、モニタリングする方法を学習します。
- Google Cloudで Gemini の使用状況をモニタリングする方法の詳細を確認する。