Registrare e condividere richieste e risposte

Gemini Enterprise Agent Platform può registrare campioni di richieste e risposte per Gemini e i modelli dei partner supportati. I log vengono salvati in una tabella BigQuery per la visualizzazione e l'analisi. Inoltre, Agent Platform può condividere i log di richiesta-risposta per modelli di AI avanzata specifici con determinati Partner MaaS per aiutarti ad adempiere alle tue obbligazioni nei confronti di questi Partner MaaS.

Questa pagina descrive come configurare i log delle richieste e delle risposte per i foundation model di base e i modelli ottimizzati.

Metodi API supportati per il logging

I log di richiesta/risposta sono supportati per tutti i modelli Gemini che utilizzano generateContent o streamGenerateContent.

Sono supportati anche i seguenti modelli di partner che utilizzano rawPredict o streamrawPredict:

  • Anthropic Claude

Log di richiesta-risposta per i foundation model di base

Puoi configurare i log di richiesta-risposta per i foundation model di base utilizzando l'API REST o l'SDK Python. L'applicazione delle configurazioni di logging può richiedere alcuni minuti.

Abilita il logging di richieste e risposte

Seleziona una delle seguenti schede per istruzioni su come attivare i log delle richieste e delle risposte per un foundation model di base.

Per i modelli Anthropic, per la configurazione del logging è supportato solo REST. Attiva la configurazione del logging tramite l'API REST impostando il publisher su anthropic e il nome del modello su uno dei modelli Claude supportati.

SDK Python

Questo metodo può essere utilizzato per creare o aggiornare un 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
    )

API REST

Crea o aggiorna un PublisherModelConfig utilizzando setPublisherModelConfig:

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • ENDPOINT_PREFIX: la regione della risorsa del modello seguita da -. Ad esempio: us-central1-. Se utilizzi l'endpoint globale, lascia vuoto. Il logging delle richieste e delle risposte è supportato per tutte le regioni supportate dal modello.
  • PROJECT_ID: il tuo ID progetto.
  • LOCATION: la regione della risorsa del modello. Se utilizzi l'endpoint globale, inserisci global.
  • PUBLISHER: il nome del publisher. Ad esempio, google.
  • MODEL: il nome del foundation model. Ad esempio, gemini-2.0-flash-001.
  • SAMPLING_RATE: per ridurre i costi di archiviazione, puoi impostare un numero compreso tra 0 e 1 per definire la frazione di richieste da registrare. Ad esempio, un valore pari a 1 registra tutte le richieste, mentre un valore pari a 0,1 registra il 10% delle richieste.
  • BQ_URI: L'URI della tabella BigQuery da utilizzare per la registrazione. Ad esempio, bq://PROJECT_ID.DATASET_NAME.TABLE_NAME. Se utilizzi l'endpoint globale (LOCATION impostato su global), devi specificare un set di dati BigQuery esistente, ad esempio bq://PROJECT_ID.DATASET_NAME o bq://PROJECT_ID.DATASET_NAME.TABLE_NAME. Se utilizzi un endpoint regionale e specifichi solo un ID progetto (bq://PROJECT_ID), viene creato un set di dati con il nome publishers_PUBLISHER_models_MODEL_ENDPOINT_ID, dove PUBLISHER e MODEL seguono le regole di denominazione di BigQuery. Se non specifichi un nome della tabella, viene creata una tabella con il nome request_response_logging.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{
  "publisherModelConfig": {
     "loggingConfig": {
       "enabled": true,
       "samplingRate": SAMPLING_RATE,
       "bigqueryDestination": {
         "outputUri": "bq://BQ_URI"
       },
       "enableOtelLogging": true
     }
   }
 }

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

Ottieni la configurazione del logging

Recupera la configurazione del logging delle richieste e delle risposte per il foundation model utilizzando l'API REST.

API REST

Recupera la configurazione del logging di richiesta-risposta utilizzando fetchPublisherModelConfig:

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • PROJECT_ID: il tuo ID progetto.
  • LOCATION: la località della risorsa del modello.
  • PUBLISHER: il nome del publisher. Ad esempio, google.
  • MODEL: il nome del foundation model. Ad esempio, gemini-2.0-flash-001.

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una di queste opzioni:

curl

Esegui questo comando:

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

Esegui questo comando:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

Disabilita logging

Disattiva il logging delle richieste e delle risposte per il foundation model utilizzando l'API REST o l'SDK Python.

SDK Python

# 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"
    )

API REST

Utilizza setPublisherModelConfig per disattivare il logging:

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • PROJECT_ID: il tuo ID progetto.
  • LOCATION: la località della risorsa del modello.
  • PUBLISHER: il nome del publisher. Ad esempio, google.
  • MODEL: il nome del foundation model. Ad esempio, gemini-2.0-flash-001.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{
  "publisherModelConfig": {
     "loggingConfig": {
       "enabled": false
     }
  }
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

Log di richiesta-risposta per i modelli ottimizzati

Puoi configurare i log di richiesta-risposta per i modelli ottimizzati utilizzando l'API REST o l'SDK Python.

Abilita i log di richiesta/risposta

Seleziona una delle seguenti schede per istruzioni su come attivare i log delle richieste e delle risposte per un modello ottimizzato.

SDK Python

Questo metodo può essere utilizzato per aggiornare la configurazione del logging delle richieste e delle risposte per un endpoint.

# 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,
    )

API REST

Puoi attivare il logging delle richieste e delle risposte solo quando crei un endpoint utilizzando projects.locations.endpoints.create o applichi una patch a un endpoint esistente utilizzando projects.locations.endpoints.patch.

Le richieste e le risposte vengono registrate a livello di endpoint, quindi vengono registrate le richieste inviate a tutti i modelli di cui è stato eseguito il deployment nello stesso endpoint.

Quando crei o applichi patch a un endpoint, compila il campo predictRequestResponseLoggingConfig della risorsa Endpoint con le seguenti voci:

  • enabled: impostato su True per abilitare il logging delle richieste e delle risposte.

  • samplingRate: per ridurre i costi di archiviazione, puoi impostare un numero compreso tra 0 e 1 per definire la frazione di richieste da registrare. Ad esempio, un valore pari a 1 registra tutte le richieste, mentre un valore pari a 0,1 registra il 10% delle richieste.

  • BigQueryDestination: la tabella BigQuery da utilizzare per il logging. Se specifichi solo un ID progetto, viene creato un set di dati con il nome ENDPOINT_DISPLAYNAMEENDPOINT_ID, dove ENDPOINT_DISPLAY_NAME segue le regole di denominazione di BigQuery. Se non specifichi un nome di tabella, viene creata una tabella con il nome request_response_logging.

  • enableOtelLogging: impostato su true per abilitare il logging di OpenTelemetry (OTEL) oltre al logging predefinito delle richieste e delle risposte.

Per visualizzare lo schema della tabella BigQuery, consulta Schema della tabella di logging.

Di seguito è riportata una configurazione di esempio:

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

Ottieni la configurazione del logging

Ottieni la configurazione del logging delle richieste e delle risposte per il modello ottimizzato utilizzando l'API REST.

API REST

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • PROJECT_ID: il tuo ID progetto.
  • LOCATION: la località della risorsa endpoint.
  • MODEL: il nome del foundation model. Ad esempio, gemini-2.0-flash-001.
  • ENDPOINT_ID: l'ID dell'endpoint.

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una di queste opzioni:

curl

Esegui questo comando:

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

Esegui questo comando:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

Disabilita la configurazione del logging

Disattiva la configurazione del logging delle richieste e delle risposte per l'endpoint.

SDK Python

# 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"
    )

API REST

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

Schema della tabella di logging

In BigQuery, i log vengono registrati utilizzando il seguente schema:

Nome campo Tipo Note
endpoint STRING Nome risorsa dell'endpoint su cui è stato eseguito il deployment del modello ottimizzato.
deployed_model_id STRING ID del modello ottimizzato di cui è stato eseguito il deployment su un endpoint.
logging_time TIMESTAMP L'ora in cui viene eseguito il logging. Questo è approssimativamente il momento in cui viene restituita la risposta.
request_id NUMERIC L'ID richiesta intero generato automaticamente in base alla richiesta API.
request_payload STRING Incluso per il logging dei modelli dei partner e la compatibilità con le versioni precedenti con il log di richiesta-risposta dell'endpoint Agent Platform.
response_payload STRING Incluso per il logging dei modelli dei partner e la compatibilità con le versioni precedenti con il log di richiesta-risposta dell'endpoint Agent Platform.
modello STRING Nome della risorsa del modello.
model_version STRING La versione del modello. Spesso si tratta di "default" per i modelli Gemini.
api_method STRING generateContent, streamGenerateContent, rawPredict, streamRawPredict
full_request JSON L'elemento GenerateContentRequest.
full_response JSON L'elemento GenerateContentResponse completo.
metadati JSON Qualsiasi metadato della chiamata; contiene la latenza della richiesta.
otel_log JSON Log nel formato dello schema OpenTelemetry. Disponibile solo se otel_logging è abilitato nella configurazione del logging.

Tieni presente che le coppie richiesta-risposta di dimensioni superiori al limite di riga di 10 MB dell'API di scrittura di BigQuery non vengono registrate.

Condivisione di richieste e risposte con i partner MaaS

Per alcuni modelli di AI avanzata, alcuni partner MaaS richiedono che un log di prompt e risposte venga condiviso in modo a prova di manomissione con i loro team di Trust & Safety, in modo da poter monitorare potenziali abusi. Ad esempio, l'utilizzo di Anthropic Advanced AI è regolato dalla Sezione F dei Termini specifici dei servizi di Anthropic. Mentre la funzionalità dataSharingEnabledProvider è attiva, le richieste e le risposte registrate ai sensi dell'Appendice sulla sicurezza dell'AI avanzata verranno condivise con il partner MaaS in tempo reale.

La condivisione del log di richiesta-risposta a prova di manomissione può essere attivata utilizzando l'API setPublisherModelConfig, come descritto nelle sezioni seguenti.

Modelli supportati

La tabella seguente elenca i partner e i modelli MaaS che supportano la condivisione di richieste e risposte:

Partner MaaS supportato Modelli supportati
Anthropic
  • Claude Mythos Preview
  • Claude Mythos 5
  • Claude Fable 5 di Anthropic su Google Cloud

Il partner MaaS e il modello devono corrispondere. Il log di richiesta-risposta può essere condiviso solo con il partner MaaS che ha pubblicato il modello.

Prerequisiti

Google deve ricevere il consenso all'Appendice sulla sicurezza dell'AI avanzata in questo progetto prima che sia possibile attivare la condivisione dei dati. Per saperne di più sull'appendice, consulta Sicurezza dell'AI avanzata.

Non è necessario abilitare il logging delle richieste e delle risposte per BigQuery per utilizzare la condivisione dei log delle richieste e delle risposte.

Limitazioni

Per impostazione predefinita, i progetti protetti dai Controlli di servizio VPC non possono condividere dati con i partner MaaS. La configurazione di una regola in uscita dei Controlli di servizio VPC non è supportata. Per attivare la condivisione dei dati per un progetto protetto da Controlli di servizio VPC, invia una richiesta di assistenza.

Abilita condivisione dei dati

Segui questi passaggi:

API REST

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • ENDPOINT_PREFIX: il prefisso appropriato per la località dell'endpoint del modello. Utilizza i seguenti valori:
    • Per l'endpoint global, utilizza aiplatform.
    • Per gli endpoint multiregionali come us o eu, utilizza aiplatform.LOCATION.rep
    • Per gli endpoint regionali come us-central1, utilizza LOCATION-aiplatform.
  • PROJECT_ID: il tuo ID progetto.
  • LOCATION: la località dell'endpoint del modello. Ad esempio, global, us, eu o us-central1.
  • PUBLISHER: il nome del publisher del modello, in minuscolo. Ad esempio, anthropic.
  • MODEL: : il nome del foundation model. Ad esempio: claude-fable-5.
  • MAAS_PARTNER: il nome del publisher del modello, in lettere maiuscole. Il partner MaaS deve essere la versione in lettere maiuscole di MODEL, descritta sopra. Ad esempio, ANTHROPIC.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{
  "publisherModelConfig": {
    "dataSharingEnabledProvider": "ANTHROPIC"
  }
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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

Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.

Ottieni la configurazione di condivisione

Segui questi passaggi:

API REST

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • ENDPOINT_PREFIX: il prefisso appropriato per la località dell'endpoint del modello. Utilizza i seguenti valori:
    • Per l'endpoint global, utilizza aiplatform.
    • Per gli endpoint multiregionali come us o eu, utilizza aiplatform.LOCATION.rep
    • Per gli endpoint regionali come us-central1, utilizza LOCATION-aiplatform.
  • PROJECT_ID: il tuo ID progetto.
  • LOCATION: la località dell'endpoint del modello. Ad esempio, global, us, eu o us-central1.
  • PUBLISHER: il nome del publisher del modello, in minuscolo. Ad esempio, anthropic.
  • MODEL: il nome del foundation model. Ad esempio: claude-fable-5.

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una di queste opzioni:

curl

Esegui questo comando:

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

Esegui questo comando:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

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

Disabilita condivisione dei dati

Segui questi passaggi:

API REST

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • ENDPOINT_PREFIX: il prefisso appropriato per la località dell'endpoint del modello. Utilizza i seguenti valori:
    • Per l'endpoint global, utilizza aiplatform.
    • Per gli endpoint multiregionali come us o eu, utilizza aiplatform.LOCATION.rep
    • Per gli endpoint regionali come us-central1, utilizza LOCATION-aiplatform.
  • PROJECT_ID: il tuo ID progetto.
  • LOCATION: la località dell'endpoint del modello. Ad esempio, global, us, eu o us-central1.
  • PUBLISHER: il nome del publisher del modello, in minuscolo. Ad esempio, anthropic.
  • MODEL: il nome del foundation model. Ad esempio: claude-fable-5.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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

Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.

Impedisci le richieste di condivisione dei dati

Per impedire la condivisione dei log delle richieste e delle risposte con i partner MaaS, l'amministratore del progetto può eseguire una delle seguenti operazioni:

  • Applica un vincolo personalizzato del servizio policy dell'organizzazione: crea e applica un vincolo personalizzato del servizio policy dell'organizzazione su aiplatform.googleapis.com/Endpoint che vieta l'impostazione di dataSharingEnabledProvider per qualsiasi provider di modelli partner. Per saperne di più, consulta Applica un vincolo personalizzato per impedire la condivisione dei dati.

  • Crea un perimetro dei Controlli di servizio VPC: crea un perimetro di servizio dei Controlli di servizio VPC che includa il progetto e aiplatform.googleapis.com come servizio limitato. Per impostazione predefinita, ai progetti protetti dai Controlli di servizio VPC è impedito di condividere dati con i modelli dei partner.

  • Disabilita l'accesso ai modelli di Model Garden: disabilita l'accesso ai modelli di Model Garden che supportano la condivisione dei dati.

  • Applica i privilegi minimi: limita l'autorizzazione aiplatform.endpoints.setPublisherModelConfig per impedire agli utenti non autorizzati di attivare il logging o la condivisione dei log.

Applica un vincolo personalizzato per impedire la condivisione dei dati

Per creare e applicare un vincolo personalizzato del servizio policy dell'organizzazione che impedisca la condivisione dei log delle richieste e delle risposte con i provider di modelli partner, segui questi passaggi:

  1. Crea un file YAML dei vincoli personalizzati denominato prevent_data_sharing.yaml simile all'esempio seguente.

    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.
    

    Sostituisci ORGANIZATION_ID con l'ID organizzazione Cloud de Confiance .

  2. Crea il vincolo personalizzato utilizzando il comando gcloud org-policies:

    gcloud org-policies set-custom-constraint prevent_data_sharing.yaml
    
  3. Applica la policy creando un file di applicazione delle policy dell'organizzazione denominato enforce_policy.yaml simile all'esempio seguente:

    name: organizations/ORGANIZATION_ID/policies/custom.denyPartnerModelDataSharing
    spec:
      rules:
    
      - enforce: true
    
  4. Applica la policy dell'organizzazione:

    gcloud org-policies set-policy enforce_policy.yaml
    

Passaggi successivi