이 문서에서는 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 로그를 보는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 로그 뷰어(
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의 기본 데이터 단위입니다. 다음 섹션에는 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 프롬프트의 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": [
{
"path": "{/path/to/../current-file.go",
"segments": [
{
"content": "...Prefix Text..."
},
{
"content": "...Suffix Text..."
}
],
"state": ["EDITED"]
},
{
"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 또는 다른 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 |
로그 항목 페이로드입니다. 응답을 생성하는 데 사용된 모든 소스 인용은 이 객체에 attribution_context 로 포함됩니다. |
LogEntry.logName |
로그를 식별합니다. |
다음 단계
- Google Cloud에서 로그를 보고 분석하고 모니터링하는 방법을 알아보세요.
- Google Cloud를 위한 Gemini 사용량 모니터링을 자세히 알아보세요.