Gemini 로그 보기

이 문서에서는 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의 기본 저장 데이터 암호화가 제공하지 않는 규제 요건, 규정 준수 관련 요건, 고급 암호화 요건이 있을 수 있습니다. 조직 요구사항을 충족하기 위해 데이터를 보호하는 암호화 키를 Google에서 관리하는 대신 사용자 키를 직접 관리할 수 있습니다.

장점 및 제한사항을 포함하여 고객 관리 암호화 키(CMEK) 사용에 대한 자세한 내용은 고객 관리 암호화 키를 참조하세요.

제한사항

Google Cloud의 Gemini에서 기록한 로그 데이터에는 사용자가 다음 제품과 상호작용한 정보가 포함되지 않습니다.
  • Gemini in BigQuery
  • Looker의 Gemini
  • Google Security Operations의 Gemini
  • 데이터베이스 센터용 Google Cloud 콘솔의 Gemini 창

시작하기 전에

Google Cloud를 위한 Gemini 로깅 사용 설정

Google Cloud를 위한 Gemini 로깅을 사용 설정하려는 프로젝트 ID를 포함하여 Google Cloud 지원팀 또는 Google Cloud 담당자에게 문의하세요.

Google Cloud를 위한 Gemini 로그 보기

Google Cloud를 위한 Gemini 로그를 보려면 다음 중 하나를 수행합니다.

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의 기본 데이터 단위입니다. 다음 섹션에는 Google Cloud를 위한 Gemini 플랫폼 이벤트의 LogEntry에 있는 필드 목록(예: 사용자 요청, 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 또는 다른 Google Cloud를 위한 Gemini 서비스의 채팅 요청입니다.

GenerateCode: 예를 들어 Gemini Code Assist 내 코드 변환 요청과 같이 코드를 생성해 달라는 요청입니다.

CompleteCode: 예를 들어 Gemini Code Assist 내 인라인 추천과 같이 IDE에서 작업할 때 코드를 완성해 달라는 요청입니다.
LogEntry.labels.product Google Cloud를 위한 Gemini 서비스 이름입니다. Google Cloud를 위한 Gemini 제품이 Gemini Code Assist이면 이 값은 code_assist입니다. 그 외의 경우 이 값은 unknown입니다.
LogEntry.labels.request_id 요청을 응답 로그 항목과 연결하는 고유 식별자입니다.
LogEntry.labels.user_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 프롬프트, 채팅을 사용하여 선택한 코드로 Google Cloud를 위한 Gemini 프롬프트, 인라인 코드 추천을 포함한 모든 코드 생성 프롬프트의 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"
}

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 또는 다른 Google Cloud를 위한 Gemini 서비스의 채팅 요청입니다.

GenerateCode: 예를 들어 Gemini Code Assist 내 코드 변환 요청과 같이 코드를 생성해 달라는 요청입니다.

CompleteCode: 예를 들어 Gemini Code Assist 내 인라인 추천과 같이 IDE에서 작업할 때 코드를 완성해 달라는 요청입니다.
LogEntry.labels.product Google Cloud를 위한 Gemini 서비스 이름입니다. Google Cloud를 위한 Gemini 제품이 Gemini Code Assist이면 이 값은 code_assist입니다. 그 외의 경우 이 값은 unknown입니다.
LogEntry.labels.request_id 요청을 응답 로그 항목과 연결하는 고유 식별자입니다.
LogEntry.labels.user_id 이 요청을 시작한 사용자의 식별자입니다.
LogEntry.jsonPayload 로그 항목 페이로드입니다.
LogEntry.logName 로그를 식별합니다.

다음 단계