요청 및 응답 로깅 및 공유

Gemini Enterprise Agent Platform은 Gemini 및 지원되는 파트너 모델의 요청 및 응답 샘플을 로깅할 수 있습니다. 로그는 보기 및 분석을 위해 BigQuery 테이블에 저장됩니다. 또한 Agent Platform은 특정 고급 AI 모델의 요청-응답 로그를 특정 MaaS 파트너와 공유하여 해당 MaaS 파트너에 대한 의무를 이행하는 데 도움을 줄 수 있습니다.

이 페이지에서는 기본 파운데이션 모델과 미세 조정된 모델의 요청-응답 로그를 구성하는 방법을 설명합니다.

로깅에 지원되는 API 메서드

요청-응답 로그는 generateContent 또는 streamGenerateContent을 사용하는 모든 Gemini 모델에서 지원됩니다.

rawPredict 또는 streamRawPredict를 사용하는 다음 파트너 모델도 지원됩니다.

  • Anthropic Claude

기본 파운데이션 모델의 요청-응답 로그

REST API 또는 Python SDK를 사용하여 기본 파운데이션 모델의 요청-응답 로그를 구성할 수 있습니다. 로깅 구성이 적용되는 데 몇 분 정도 걸릴 수 있습니다.

요청-응답 로깅 사용 설정

기본 파운데이션 모델의 요청-응답 로그를 사용 설정하는 방법을 알아보려면 다음 탭 중 하나를 선택하세요.

Anthropic 모델의 경우 로깅 구성에 REST만 지원됩니다. 게시자를 anthropic으로 설정하고 모델 이름을 지원되는 Claude 모델 중 하나로 설정하여 REST API를 통해 로깅 구성을 사용 설정합니다.

Python SDK

이 메서드를 사용하여 PublisherModelConfig를 만들거나 업데이트할 수 있습니다.

# Specify the preview version of GenerativeModel
import vertexai
from vertexai.preview.generative_models import(
    GenerativeModel,
    )

PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION"

vertexai.init(project=PROJECT_ID, location=LOCATION)

publisher_model = GenerativeModel("gemini-2.5-flash")

# Set logging configuration
publisher_model.set_request_response_logging_config(
    enabled=True,
    sampling_rate=1.0,
    bigquery_destination="bq://PROJECT_ID.DATASET_NAME.TABLE_NAME",
    enable_otel_logging=True
    )

REST API

setPublisherModelConfig를 사용하여 PublisherModelConfig를 만들거나 업데이트합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • ENDPOINT_PREFIX: 모델 리소스의 리전이며 뒤에 -이 이어집니다. 예를 들면 us-central1-입니다. 전역 엔드포인트를 사용하는 경우 비워 둡니다. 요청-응답 로깅은 모델에서 지원하는 모든 리전에서 지원됩니다.
  • PROJECT_ID: 프로젝트 ID입니다.
  • LOCATION: 모델 리소스의 리전입니다. 전역 엔드포인트를 사용하는 경우 global을 입력합니다.
  • PUBLISHER: 게시자 이름입니다. 예를 들면 google입니다.
  • MODEL: 파운데이션 모델 이름입니다. 예를 들면 gemini-2.0-flash-001입니다.
  • SAMPLING_RATE: 스토리지 비용을 줄이기 위해 0 또는 1 사이의 숫자를 설정하여 로깅할 요청의 비율을 정의할 수 있습니다. 예를 들어 값이 1이면 모든 요청이 로깅되고 값이 0.1이면 요청의 10%가 로깅됩니다.
  • BQ_URI: 로깅에 사용할 BigQuery 테이블의 URI입니다. 예를 들면 bq://PROJECT_ID.DATASET_NAME.TABLE_NAME입니다. 전역 엔드포인트(LOCATION가 global로 설정됨)를 사용하는 경우 기존 BigQuery 데이터 세트(예: bq://PROJECT_ID.DATASET_NAME 또는 bq://PROJECT_ID.DATASET_NAME.TABLE_NAME)를 지정해야 합니다. 리전 엔드포인트를 사용하고 프로젝트 ID(bq://PROJECT_ID)만 지정하면 publishers_PUBLISHER_models_MODEL_ENDPOINT_ID라는 이름으로 데이터 세트가 생성됩니다. 여기서 PUBLISHER 및 MODEL는 BigQuery 이름 지정 규칙을 따릅니다. 테이블 이름을 지정하지 않으면 request_response_logging이라는 이름의 테이블이 생성됩니다.

HTTP 메서드 및 URL:

POST https://ENDPOINT_PREFIXaiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig

JSON 요청 본문:

{
  "publisherModelConfig": {
     "loggingConfig": {
       "enabled": true,
       "samplingRate": SAMPLING_RATE,
       "bigqueryDestination": {
         "outputUri": "bq://BQ_URI"
       },
       "enableOtelLogging": 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://ENDPOINT_PREFIXaiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig"

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://ENDPOINT_PREFIXaiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

로깅 구성 가져오기

REST API를 사용하여 파운데이션 모델의 요청-응답 로깅 구성을 가져옵니다. 요청-응답 로깅은 setPublisherModelConfig를 사용하여 PublisherModelConfig 리소스를 구성할 때까지 기본적으로 사용 중지됩니다.

REST API

fetchPublisherModelConfig를 사용하여 요청-응답 로깅 구성을 가져옵니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • LOCATION: 모델 리소스의 위치입니다.
  • PUBLISHER: 게시자 이름입니다. 예를 들면 google입니다.
  • MODEL: 파운데이션 모델 이름입니다. 예를 들면 gemini-2.0-flash-001입니다.

HTTP 메서드 및 URL:

GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:fetchPublisherModelConfig

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

다음 명령어를 실행합니다.

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:fetchPublisherModelConfig"

PowerShell

다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:fetchPublisherModelConfig" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

지정된 위치의 모델에 요청-응답 로깅이 구성되지 않은 경우 요청은 404 NOT_FOUND 오류를 반환합니다. 이 오류는 PublisherModelConfig 리소스가 없고 요청-응답 로깅이 기본 사용 중지 상태임을 나타냅니다. 요청-응답 로깅이 이전에 구성되었다가 사용 중지된 경우 응답은 loggingConfig 필드에 "enabled": false를 반환합니다. 모델에 MaaS 파트너와의 요청-응답 로그 공유가 구성된 경우 응답에 dataSharingEnabledProvider 필드도 포함됩니다(MaaS 파트너와 요청 및 응답 공유 참조).

로깅 중지

REST API 또는 Python SDK를 사용하여 파운데이션 모델의 요청-응답 로깅을 중지합니다.

Python SDK

# Specify the preview version of GenerativeModel
import vertexai
from vertexai.preview.generative_models import(
    GenerativeModel,
    )

PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION"

vertexai.init(project=PROJECT_ID, location=LOCATION)

publisher_model = GenerativeModel("gemini-2.5-flash")

# Disable logging
publisher_model.set_request_response_logging_config(
    enabled=False,
    sampling_rate=1.0,
    bigquery_destination="bq://PROJECT_ID.DATASET_NAME.TABLE_NAME"
    )

REST API

setPublisherModelConfig를 사용하여 로깅을 중지합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • LOCATION: 모델 리소스의 위치입니다.
  • PUBLISHER: 게시자 이름입니다. 예를 들면 google입니다.
  • MODEL: 파운데이션 모델 이름입니다. 예를 들면 gemini-2.0-flash-001입니다.

HTTP 메서드 및 URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig

JSON 요청 본문:

{
  "publisherModelConfig": {
     "loggingConfig": {
       "enabled": 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig"

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/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

미세 조정된 모델의 요청-응답 로그

REST API 또는 Python SDK를 사용하여 미세 조정된 모델의 요청-응답 로그를 구성할 수 있습니다.

요청-응답 로그 사용 설정

미세 조정된 모델의 요청-응답 로그를 사용 설정하는 방법을 알아보려면 다음 탭 중 하나를 선택하세요.

Python SDK

이 메서드를 사용하여 엔드포인트의 요청-응답 로깅 구성을 업데이트할 수 있습니다.

# Specify the preview version of GenerativeModel
import vertexai
from vertexai.preview.generative_models import(
    GenerativeModel,
    )

PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION"

vertexai.init(project=PROJECT_ID, location=LOCATION)

tuned_model = GenerativeModel(f"projects/{PROJECT_ID}/locations/{LOCATION}/endpoints/ENDPOINT_ID")

# Set logging configuration
tuned_model.set_request_response_logging_config(
    enabled=True,
    sampling_rate=1.0,
    bigquery_destination=f"bq://{PROJECT_ID}.DATASET_NAME.TABLE_NAME",
    enable_otel_logging=True,
    )

REST API

projects.locations.endpoints.create를 사용해 엔드포인트를 만들거나 projects.locations.endpoints.patch를 사용하여 기존 엔드포인트를 패치할 때만 요청-응답 로깅을 사용 설정할 수 있습니다.

요청과 응답은 엔드포인트 수준에서 로깅되므로 동일한 엔드포인트에 있는 배포된 모델로 전송된 요청이 로깅됩니다.

엔드포인트를 만들거나 패치할 때 엔드포인트 리소스의 predictRequestResponseLoggingConfig 필드를 다음 항목으로 채웁니다.

  • enabled: True로 설정하여 요청-응답 로깅을 사용 설정합니다.

  • samplingRate: 스토리지 비용을 줄이기 위해 0과 1 사이의 숫자를 설정하여 로깅할 요청의 비율을 정의할 수 있습니다. 예를 들어 값이 1이면 모든 요청이 로깅되고 값이 0.1이면 요청의 10%가 로깅됩니다.

  • BigQueryDestination: 로깅에 사용할 BigQuery 테이블입니다. 프로젝트 ID만 지정하면 ENDPOINT_DISPLAYNAMEENDPOINT_ID라는 이름으로 데이터 세트가 생성됩니다. 여기서 ENDPOINT_DISPLAY_NAME은 BigQuery 이름 지정 규칙을 따릅니다. 테이블 이름을 지정하지 않으면 request_response_logging이라는 이름의 테이블이 생성됩니다.

  • enableOtelLogging: 기본 요청-응답 로깅 외에 OpenTelemetry(OTEL) 로깅도 사용 설정하려면 true로 설정합니다.

BigQuery 테이블 스키마를 보려면 로깅 테이블 스키마를 참조하세요.

다음은 구성 예시입니다.

{
  "predictRequestResponseLoggingConfig": {
    "enabled": true,
    "samplingRate": 0.5,
    "bigqueryDestination": {
      "outputUri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME"
    },
    "enableOtelLogging": true
  }
}

로깅 구성 가져오기

REST API를 사용하여 미세 조정된 모델의 요청-응답 로깅 구성을 가져옵니다.

REST API

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • LOCATION: 엔드포인트 리소스의 위치입니다.
  • MODEL: 파운데이션 모델 이름입니다. 예를 들면 gemini-2.0-flash-001입니다.
  • ENDPOINT_ID: 엔드포인트의 ID입니다.

HTTP 메서드 및 URL:

GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

다음 명령어를 실행합니다.

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID"

PowerShell

다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

로깅 구성 중지

엔드포인트의 요청-응답 로깅 구성을 중지합니다.

Python SDK

# Specify the preview version of GenerativeModel
import vertexai
from vertexai.preview.generative_models import(
    GenerativeModel,
    )

PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION"

vertexai.init(project=PROJECT_ID, location=LOCATION)

tuned_model = GenerativeModel(f"projects/{PROJECT_ID}/locations/{LOCATION}/endpoints/ENDPOINT_ID")

# Disable logging
tuned_model.set_request_response_logging_config(
    enabled=False,
    sampling_rate=1.0,
    bigquery_destination="bq://PROJECT_ID.DATASET_NAME.TABLE_NAME"
    )

REST API

{
"predictRequestResponseLoggingConfig": {
  "enabled": false
}
}

로깅 테이블 스키마

BigQuery에서 로그는 다음 스키마를 사용하여 기록됩니다.

필드 이름 유형 참고
엔드포인트 STRING 조정된 모델이 배포되는 엔드포인트의 리소스 이름입니다.
deployed_model_id STRING 엔드포인트에 배포된 조정된 모델의 배포된 모델 ID입니다.
logging_time TIMESTAMP 로깅이 수행되는 시간입니다. 이는 응답이 반환되는 시간입니다.
request_id NUMERIC API 요청을 기반으로 자동 생성된 정수 요청 ID입니다.
request_payload 문자열 파트너 모델 로깅 및 Agent Platform 엔드포인트 요청-응답 로그와의 하위 호환성을 위해 포함됩니다.
response_payload 문자열 파트너 모델 로깅 및 Agent Platform 엔드포인트 요청-응답 로그와의 하위 호환성을 위해 포함됩니다.
모델 STRING 모델 리소스 이름입니다.
model_version STRING 모델 버전입니다. Gemini 모델의 경우 'default'인 경우가 많습니다.
api_method STRING generateContent, streamGenerateContent, rawPredict, streamRawPredict
full_request JSON 전체 GenerateContentRequest
full_response JSON 전체 GenerateContentResponse
메타데이터 JSON 호출의 메타데이터로, 요청 지연 시간이 포함됩니다.
otel_log JSON OpenTelemetry 스키마 형식의 로그입니다. 로깅 구성에서 otel_logging가 사용 설정된 경우에만 사용할 수 있습니다.

BigQuery Write API 10MB 행 한도보다 큰 요청-응답 쌍은 기록되지 않습니다.

MaaS 파트너와 요청 및 응답 공유

특정 고급 AI 모델의 경우 일부 MaaS 파트너는 잠재적인 악용을 모니터링할 수 있도록 프롬프트 및 대답 로그를 조작 방지 방식으로 신뢰 및 안전팀과 공유해야 합니다. 예를 들어 Anthropic Advanced AI 사용에는 Anthropic의 서비스별 약관 F항이 적용됩니다. dataSharingEnabledProvider 기능이 활성화되어 있는 동안 고급 AI 안전 부록에 따라 로깅된 요청 및 응답이 MaaS 파트너와 실시간으로 공유됩니다.

다음 섹션에서 설명하는 대로 setPublisherModelConfig API를 사용하여 조작 방지 요청-응답 로그 공유를 사용 설정할 수 있습니다.

지원되는 모델

다음 표에는 요청 및 응답 공유를 지원하는 MaaS 파트너 및 모델이 나와 있습니다.

지원되는 MaaS 파트너 지원되는 모델
Anthropic
  • Claude Mythos 프리뷰
  • Claude Mythos 5
  • Google Cloud 기반 Anthropic의 Claude Fable 5

MaaS 파트너와 모델이 일치해야 합니다. 요청-응답 로그는 모델을 게시한 MaaS 파트너와만 공유할 수 있습니다.

기본 요건

데이터 공유를 사용 설정하려면 먼저 Google이 이 프로젝트의 고급 AI 안전 부록에 대한 동의를 받아야 합니다. 부록에 대한 자세한 내용은 고급 AI 안전을 참조하세요.

요청-응답 로그 공유를 사용하기 위해 BigQuery에 요청-응답 로깅을 사용 설정할 필요는 없습니다.

제한사항

VPC 서비스 제어로 보호되는 프로젝트는 기본적으로 MaaS 파트너와 데이터를 공유할 수 없습니다. VPC 서비스 제어 이그레스 규칙 구성은 지원되지 않습니다. VPC 서비스 제어로 보호되는 프로젝트에 데이터 공유를 사용 설정하려면 지원 케이스를 제출하세요.

데이터 공유 사용 설정

파운데이션 모델에 요청-응답 로그 공유를 사용 설정하려면 setPublisherModelConfig을 사용하여 PublisherModelConfig 리소스의 dataSharingEnabledProvider 필드를 모델 게시자의 대문자 이름(예: ANTHROPIC)으로 설정합니다.

REST API

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • ENDPOINT_PREFIX: 모델 엔드포인트 위치에 적합한 프리픽스입니다. 다음 값을 사용합니다.
    • global 엔드포인트의 경우 aiplatform를 사용합니다.
    • us 또는 eu과 같은 멀티 리전 엔드포인트의 경우 aiplatform.LOCATION.rep을 사용합니다.
    • us-central1과 같은 리전 엔드포인트의 경우 LOCATION-aiplatform를 사용합니다.
  • PROJECT_ID: 프로젝트 ID입니다.
  • LOCATION: 모델 엔드포인트의 위치입니다. 예를 들면 global, us, eu, us-central1입니다.
  • PUBLISHER: 모델 게시자의 이름(소문자) 예를 들면 anthropic입니다.
  • MODEL: 파운데이션 모델 이름입니다. 예를 들면 claude-fable-5입니다.
  • MAAS_PARTNER: 공유를 사용 설정하려면 이 필드를 모델 게시자 이름으로 설정합니다(대문자). MaaS 파트너는 MODEL의 PUBLISHER의 대문자 버전이어야 합니다. 예를 들면 ANTHROPIC입니다. 이 필드를 MODEL_PROVIDER_UNSPECIFIED로 설정하면 데이터 공유가 사용 중지됩니다.

HTTP 메서드 및 URL:

POST https://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig

JSON 요청 본문:

{
  "publisherModelConfig": {
    "dataSharingEnabledProvider": "MAAS_PARTNER"
  }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

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://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig"

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://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig" | Select-Object -Expand Content

성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.

공유 구성 가져오기

fetchPublisherModelConfig를 사용하여 파운데이션 모델의 데이터 공유 구성을 가져옵니다. 이는 기본 파운데이션 모델의 로깅 구성을 가져오는 데 사용되는 것과 동일한 API 메서드이며 전체 PublisherModelConfig 리소스를 반환합니다.

REST API

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • ENDPOINT_PREFIX: 모델 엔드포인트 위치에 적합한 프리픽스입니다. 다음 값을 사용합니다.
    • global 엔드포인트의 경우 aiplatform를 사용합니다.
    • us 또는 eu과 같은 멀티 리전 엔드포인트의 경우 aiplatform.LOCATION.rep을 사용합니다.
    • us-central1과 같은 리전 엔드포인트의 경우 LOCATION-aiplatform를 사용합니다.
  • PROJECT_ID: 프로젝트 ID입니다.
  • LOCATION: 모델 엔드포인트의 위치입니다. 예를 들면 global, us, eu, us-central1입니다.
  • PUBLISHER: 모델 게시자의 이름(소문자) 예를 들면 anthropic입니다.
  • MODEL: 파운데이션 모델 이름입니다. 예를 들면 claude-fable-5입니다.

HTTP 메서드 및 URL:

GET https://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:fetchPublisherModelConfig

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

다음 명령어를 실행합니다.

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:fetchPublisherModelConfig"

PowerShell

다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:fetchPublisherModelConfig" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "loggingConfig": {},
  "dataSharingEnabledProvider": "ANTHROPIC"
}

응답에는 다음 필드가 포함됩니다.

  • loggingConfig: BigQuery의 요청-응답 로깅 구성입니다. 요청-응답 로깅이 구성되지 않은 경우 이 객체는 비어 있습니다({}). loggingConfig의 필드에 대한 자세한 내용은 요청-응답 로깅 사용 설정 및 로깅 구성 가져오기를 참조하세요.
  • dataSharingEnabledProvider: 요청-응답 로그 공유가 사용 설정된 MaaS 파트너입니다(예: ANTHROPIC). 데이터 공유가 사용 중지된 경우 이 필드는 MODEL_PROVIDER_UNSPECIFIED로 설정되거나 응답에서 생략됩니다.

지정된 위치의 모델에 요청-응답 로깅이나 데이터 공유가 구성되지 않은 경우 요청은 404 NOT_FOUND 오류를 반환합니다. 이는 PublisherModelConfig 리소스가 존재하지 않고 두 설정 모두 기본 사용 중지 상태임을 나타냅니다.

데이터 공유 사용 중지

파운데이션 모델의 요청-응답 로그 공유를 사용 중지하려면 setPublisherModelConfig를 사용하여 dataSharingEnabledProvider를 MODEL_PROVIDER_UNSPECIFIED로 설정합니다(모델 게시자의 대문자 이름 이외의 유효한 제공업체 값은 해당 모델의 데이터 공유를 사용 중지함).

REST API

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • ENDPOINT_PREFIX: 모델 엔드포인트 위치에 적합한 프리픽스입니다. 다음 값을 사용합니다.
    • global 엔드포인트의 경우 aiplatform를 사용합니다.
    • us 또는 eu과 같은 멀티 리전 엔드포인트의 경우 aiplatform.LOCATION.rep을 사용합니다.
    • us-central1과 같은 리전 엔드포인트의 경우 LOCATION-aiplatform를 사용합니다.
  • PROJECT_ID: 프로젝트 ID입니다.
  • LOCATION: 모델 엔드포인트의 위치입니다. 예를 들면 global, us, eu, us-central1입니다.
  • PUBLISHER: 모델 게시자의 이름(소문자) 예를 들면 anthropic입니다.
  • MODEL: 파운데이션 모델 이름입니다. 예를 들면 claude-fable-5입니다.

HTTP 메서드 및 URL:

POST https://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig

JSON 요청 본문:

{
  "publisherModelConfig": {
    "dataSharingEnabledProvider": "MODEL_PROVIDER_UNSPECIFIED"
  }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

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://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig"

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://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig" | Select-Object -Expand Content

성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.

데이터 공유 요청 방지

MaaS 파트너와 요청 및 응답 로그를 공유하지 않으려면 프로젝트 관리자가 다음 중 하나를 수행하면 됩니다.

  • 조직 정책 서비스 커스텀 제약 조건 적용: 파트너 모델 제공업체에 대해 dataSharingEnabledProvider 설정을 금지하는 aiplatform.googleapis.com/Endpoint에 대한 조직 정책 서비스 커스텀 제약 조건을 만들고 적용합니다. 자세한 내용은 커스텀 제약 조건을 적용하여 데이터 공유 방지를 참조하세요.

  • VPC 서비스 제어 경계 만들기: 프로젝트와 aiplatform.googleapis.com를 제한된 서비스로 포함하는 VPC 서비스 제어 서비스 경계를 만듭니다. VPC 서비스 제어로 보호되는 프로젝트는 기본적으로 파트너 모델과 데이터를 공유할 수 없습니다.

  • Gemini Enterprise Agent Platform Model Garden 모델에 대한 액세스 사용 중지: 데이터 공유를 지원하는 Model Garden 모델에 대한 액세스를 사용 중지합니다.

  • 최소 권한 적용: 승인되지 않은 사용자가 로깅 또는 로그 공유를 사용 설정하지 못하도록 aiplatform.endpoints.setPublisherModelConfig 권한을 제한합니다.

커스텀 제약 조건을 적용하여 데이터 공유 방지

파트너 모델 제공업체와 요청 및 응답 로그를 공유하지 못하도록 하는 조직 정책 서비스 커스텀 제약조건을 만들고 시행하려면 다음을 수행합니다.

  1. 다음 예시와 유사한 prevent_data_sharing.yaml이라는 커스텀 제약 조건 YAML 파일을 만듭니다.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.denyPartnerModelDataSharing
    resourceTypes:
    
    - aiplatform.googleapis.com/Endpoint
    methodTypes:
    
    - CREATE
    - UPDATE
    condition: "has(resource.publisherModelConfig.dataSharingEnabledProvider)"
    actionType: DENY
    displayName: Prevent partner model data sharing
    description: Prohibits enabling request and response log sharing with any partner model provider.
    

    ORGANIZATION_ID를 Google Cloud 조직 ID로 바꿉니다.

  2. gcloud org-policies 명령어를 사용하여 커스텀 제약 조건을 만듭니다.

    gcloud org-policies set-custom-constraint prevent_data_sharing.yaml
    
  3. 다음 예시와 유사한 enforce_policy.yaml이라는 조직 정책 시행 파일을 만들어 정책을 시행합니다.

    name: organizations/ORGANIZATION_ID/policies/custom.denyPartnerModelDataSharing
    spec:
      rules:
    
      - enforce: true
    
  4. 조직 정책을 적용합니다.

    gcloud org-policies set-policy enforce_policy.yaml
    

다음 단계