Registra y comparte solicitudes y respuestas

Gemini Enterprise Agent Platform puede registrar muestras de solicitudes y respuestas para Gemini y los modelos de socios compatibles. Los registros se guardan en una tabla de BigQuery para su visualización y análisis. Además, Agent Platform puede compartir registros de solicitudes y respuestas de modelos de IA avanzados específicos con ciertos socios de MaaS para ayudarte a cumplir con tus obligaciones con esos socios de MaaS.

En esta página, se describe cómo configurar los registros de solicitud y respuesta para los modelos de base y los modelos ajustados.

Métodos de API admitidos para el registro

Los registros de solicitud y respuesta son compatibles con todos los modelos de Gemini que usan generateContent o streamGenerateContent.

También se admiten los siguientes modelos de socios que usan rawPredict o streamrawPredict:

  • Anthropic Claude

Registros de solicitudes y respuestas para modelos de base

Puedes configurar los registros de solicitud-respuesta para los modelos de base con la API de REST o el SDK de Python. Las configuraciones de registro pueden tardar unos minutos en aplicarse.

Habilita el registro de solicitudes y respuestas

Selecciona una de las siguientes pestañas para obtener instrucciones sobre cómo habilitar los registros de solicitud-respuesta para un modelo de base.

En el caso de los modelos de Anthropic, solo se admite REST para la configuración de registros. Habilita la configuración de registro a través de la API de REST estableciendo el publicador en anthropic y el nombre del modelo en uno de los modelos de Claude compatibles.

Python SDK

Este método se puede usar para crear o actualizar 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 de REST

Crea o actualiza un PublisherModelConfig con setPublisherModelConfig:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • ENDPOINT_PREFIX: Es la región del recurso de modelo seguida de -. Por ejemplo, us-central1-. Si usas el extremo global, deja este campo en blanco. El registro de solicitudes y respuestas se admite en todas las regiones compatibles con el modelo.
  • PROJECT_ID: ID del proyecto
  • LOCATION: Es la región del recurso del modelo. Si usas el extremo global, ingresa global.
  • PUBLISHER: Es el nombre del publicador. Por ejemplo, google.
  • MODEL: Es el nombre del modelo de base. Por ejemplo, gemini-2.0-flash-001.
  • SAMPLING_RATE: Para reducir los costos de almacenamiento, puedes establecer un número entre 0 y 1 para definir la fracción de solicitudes que se registrarán. Por ejemplo, un valor de 1 registra todas las solicitudes, y un valor de 0.1 registra el 10% de las solicitudes.
  • BQ_URI: Es el URI de la tabla de BigQuery que se usará para el registro. Por ejemplo, bq://PROJECT_ID.DATASET_NAME.TABLE_NAME. Si usas el extremo global (LOCATION configurado como global), debes especificar un conjunto de datos de BigQuery existente, como bq://PROJECT_ID.DATASET_NAME o bq://PROJECT_ID.DATASET_NAME.TABLE_NAME. Si usas un extremo regional y solo especificas un ID del proyecto (bq://PROJECT_ID), se crea un conjunto de datos con el nombre publishers_PUBLISHER_models_MODEL_ENDPOINT_ID, en el que PUBLISHER y MODEL siguen las reglas de nombres de BigQuery. Si no especificas un nombre de tabla, se crea una tabla con el nombre request_response_logging.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Obtén la configuración de registros

Obtén la configuración de registro de solicitudes y respuestas para el modelo de base con la API de REST.

API de REST

Obtén la configuración del registro de solicitudes y respuestas con fetchPublisherModelConfig:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: ID del proyecto
  • LOCATION: Es la ubicación del recurso del modelo.
  • PUBLISHER: Es el nombre del publicador. Por ejemplo, google.
  • MODEL: Es el nombre del modelo de base. Por ejemplo, gemini-2.0-flash-001.

Método HTTP y URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente 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

Ejecuta el siguiente 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

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Inhabilita el registro

Inhabilita el registro de solicitudes y respuestas para el modelo de base con la API de REST o el SDK de Python.

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

API de REST

Usa setPublisherModelConfig para inhabilitar el registro:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: ID del proyecto
  • LOCATION: Es la ubicación del recurso del modelo.
  • PUBLISHER: Es el nombre del publicador. Por ejemplo, google.
  • MODEL: Es el nombre del modelo de base. Por ejemplo, gemini-2.0-flash-001.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Registros de solicitudes y respuestas para modelos ajustados

Puedes configurar los registros de solicitud-respuesta para los modelos con ajuste fino con la API de REST o el SDK de Python.

Habilita los registros de solicitudes y respuestas

Selecciona una de las siguientes pestañas para obtener instrucciones sobre cómo habilitar los registros de solicitud y respuesta para un modelo ajustado.

Python SDK

Este método se puede usar para actualizar la configuración del registro de solicitudes y respuestas de un extremo.

# 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 de REST

Solo puedes habilitar el registro de solicitudes y respuestas cuando creas un extremo con projects.locations.endpoints.create o aplicas un parche a un extremo existente con projects.locations.endpoints.patch.

Las solicitudes y respuestas se registran a nivel de extremo, por lo que se registran las solicitudes enviadas a cualquier modelo implementado en el mismo extremo.

Cuando crees o parches un extremo, propaga el campo predictRequestResponseLoggingConfig del recurso de extremo con las siguientes entradas:

  • enabled: Se establece como True para habilitar el registro de solicitudes y respuestas.

  • samplingRate: Para reducir los costos de almacenamiento, puedes establecer un número entre 0 y 1 para definir la fracción de solicitudes que se registrarán. Por ejemplo, un valor de 1 registra todas las solicitudes, y un valor de 0.1 registra el 10% de las solicitudes.

  • BigQueryDestination: Es la tabla de BigQuery que se usará para el registro. Si solo especificas un ID del proyecto, se crea un conjunto de datos con el nombre ENDPOINT_DISPLAYNAMEENDPOINT_ID, en el que ENDPOINT_DISPLAY_NAME sigue las reglas de nombres de BigQuery. Si no especificas un nombre de tabla, se crea una tabla con el nombre request_response_logging.

  • enableOtelLogging: Se establece en true para habilitar el registro de OpenTelemetry (OTEL), además del registro de solicitudes y respuestas predeterminado.

Para ver el esquema de la tabla de BigQuery, consulta Esquema de la tabla de Logging.

A continuación, se muestra una configuración de ejemplo:

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

Obtén la configuración de registros

Obtén la configuración del registro de solicitudes y respuestas para el modelo ajustado con la API de REST.

API de REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: ID del proyecto
  • LOCATION: Es la ubicación del recurso del extremo.
  • MODEL: Es el nombre del modelo de base. Por ejemplo, gemini-2.0-flash-001.
  • ENDPOINT_ID: Es el ID del extremo.

Método HTTP y URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente 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

Ejecuta el siguiente 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

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Inhabilita la configuración de registros

Inhabilitar la configuración del registro de solicitudes y respuestas para el extremo

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

API de REST

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

Esquema de la tabla de registros

En BigQuery, los registros se guardan con el siguiente esquema:

Nombre del campo Tipo Notas
extremo STRING Es el nombre del recurso del extremo en el que se implementa el modelo ajustado.
deployed_model_id STRING Es el ID del modelo ajustado implementado en un extremo.
logging_time TIMESTAMP Es la hora en la que se realiza el registro. Este es, aproximadamente, el momento en que se devuelve la respuesta.
request_id NUMERIC Es el ID de solicitud de número entero generado de forma automática según la solicitud a la API.
request_payload STRING Se incluye para el registro de modelos de socios y la retrocompatibilidad con el registro de solicitudes y respuestas del extremo de Agent Platform.
response_payload STRING Se incluye para el registro de modelos de socios y la retrocompatibilidad con el registro de solicitudes y respuestas del extremo de Agent Platform.
modelo STRING Es el nombre del recurso de modelo.
model_version STRING La versión del modelo. Suele ser "default" para los modelos de Gemini.
api_method STRING generateContent, streamGenerateContent, rawPredict, streamRawPredict
full_request JSON El GenerateContentRequest completo.
full_response JSON El GenerateContentResponse completo.
metadatos JSON Cualquier metadato de la llamada; contiene la latencia de la solicitud.
otel_log JSON Registros en el formato de esquema de OpenTelemetry. Solo está disponible si otel_logging está habilitado en la configuración de registro.

Ten en cuenta que no se registran los pares de solicitud-respuesta que superan el límite de 10 MB por fila de la API de escritura de BigQuery.

Cómo compartir solicitudes y respuestas con socios de MaaS

Para ciertos modelos de IA avanzados, algunos socios de MaaS requieren que se comparta un registro de instrucciones y respuestas de forma a prueba de manipulaciones con sus equipos de confianza y seguridad, de modo que puedan supervisar posibles abusos. Por ejemplo, el uso de Anthropic Advanced AI se rige por el artículo F de las Condiciones Específicas del Servicio de Anthropic. Mientras la función dataSharingEnabledProvider esté activa, las solicitudes y respuestas registradas en el Anexo de Seguridad de IA Avanzada se compartirán con el Socio de MaaS en tiempo real.

El uso compartido de registros de solicitudes y respuestas a prueba de manipulaciones se puede habilitar con la API desetPublisherModelConfig, como se analiza en las siguientes secciones.

Modelos compatibles

En la siguiente tabla, se enumeran los socios y modelos de MaaS que admiten el uso compartido de solicitudes y respuestas:

Socio de MaaS compatible Modelos compatibles
Anthropic
  • Versión preliminar de Claude Mythos
  • Claude Mythos 5
  • Claude Fable 5 de Anthropic en Google Cloud

El socio de MaaS y el modelo deben coincidir. El registro de solicitudes y respuestas solo se puede compartir con el socio de MaaS que publicó el modelo.

Requisitos previos

Google debe recibir el consentimiento para el Anexo de Seguridad de IA Avanzada en este proyecto antes de que se pueda habilitar el uso compartido de datos. Para obtener más información sobre el apéndice, consulta Seguridad avanzada de la IA.

No es necesario que habilites el registro de solicitudes y respuestas para que BigQuery use el uso compartido de registros de solicitudes y respuestas.

Limitaciones

De forma predeterminada, se impide que los proyectos protegidos por los Controles del servicio de VPC compartan datos con los socios de MaaS. No se admite la configuración de una regla de salida de los Controles del servicio de VPC. Para habilitar el uso compartido de datos en un proyecto protegido por los Controles del servicio de VPC, presenta un caso de asistencia.

Habilitar el uso compartido de datos

Haz lo siguiente:

API de REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • ENDPOINT_PREFIX: Es el prefijo adecuado para la ubicación del extremo del modelo. Usa los siguientes valores:
    • Para el extremo global, usa aiplatform.
    • Para los extremos multirregionales, como us o eu, usa aiplatform.LOCATION.rep.
    • Para extremos regionales como us-central1, usa LOCATION-aiplatform.
  • PROJECT_ID: ID del proyecto
  • LOCATION: Es la ubicación del extremo del modelo. Por ejemplo, global, us, eu o us-central1.
  • PUBLISHER: Es el nombre del publicador del modelo, en minúsculas. Por ejemplo, anthropic
  • MODEL: Es el nombre del modelo de base. Por ejemplo: claude-fable-5
  • MAAS_PARTNER: Es el nombre del publicador del modelo, en mayúsculas. El socio de MaaS debe ser la versión en mayúsculas del MODEL, que se describió anteriormente. Por ejemplo, ANTHROPIC.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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

Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.

Obtener la configuración de uso compartido

Haz lo siguiente:

API de REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • ENDPOINT_PREFIX: Es el prefijo adecuado para la ubicación del extremo del modelo. Usa los siguientes valores:
    • Para el extremo global, usa aiplatform.
    • Para los extremos multirregionales, como us o eu, usa aiplatform.LOCATION.rep.
    • Para extremos regionales como us-central1, usa LOCATION-aiplatform.
  • PROJECT_ID: ID del proyecto
  • LOCATION: Es la ubicación del extremo del modelo. Por ejemplo, global, us, eu o us-central1.
  • PUBLISHER: Es el nombre del publicador del modelo, en minúsculas. Por ejemplo, anthropic
  • MODEL: Es el nombre del modelo de base. Por ejemplo: claude-fable-5

Método HTTP y URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente 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

Ejecuta el siguiente 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

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

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

Inhabilitar el uso compartido de datos

Haz lo siguiente:

API de REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • ENDPOINT_PREFIX: Es el prefijo adecuado para la ubicación del extremo del modelo. Usa los siguientes valores:
    • Para el extremo global, usa aiplatform.
    • Para los extremos multirregionales, como us o eu, usa aiplatform.LOCATION.rep.
    • Para extremos regionales como us-central1, usa LOCATION-aiplatform.
  • PROJECT_ID: ID del proyecto
  • LOCATION: Es la ubicación del extremo del modelo. Por ejemplo, global, us, eu o us-central1.
  • PUBLISHER: Es el nombre del publicador del modelo, en minúsculas. Por ejemplo, anthropic
  • MODEL: Es el nombre del modelo de base. Por ejemplo: claude-fable-5

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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

Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.

Impedir las solicitudes de uso compartido de datos

Para evitar que se compartan los registros de solicitudes y respuestas con los socios de MaaS, el administrador del proyecto puede realizar cualquiera de las siguientes acciones:

  • Aplica una restricción personalizada del servicio de políticas de la organización: Crea y aplica una restricción personalizada del servicio de políticas de la organización en aiplatform.googleapis.com/Endpoint que prohíba configurar dataSharingEnabledProvider para cualquier proveedor de modelos de socios. Para obtener más información, consulta Aplica una restricción personalizada para evitar el uso compartido de datos.

  • Crea un perímetro de Controles del servicio de VPC: Crea un perímetro de servicio de Controles del servicio de VPC que incluya el proyecto y aiplatform.googleapis.com como un servicio restringido. De forma predeterminada, los proyectos protegidos por los Controles del servicio de VPC no pueden compartir datos con modelos de socios.

  • Inhabilitar el acceso a los modelos de Model Garden: Inhabilita el acceso a los modelos de Model Garden que admiten el uso compartido de datos.

  • Aplica los privilegios mínimos: Restringe el permiso aiplatform.endpoints.setPublisherModelConfig para evitar que los usuarios no autorizados habiliten el registro o el uso compartido de registros.

Aplica una restricción personalizada para evitar el uso compartido de datos

Para crear y aplicar una restricción personalizada del servicio de políticas de la organización que impida compartir los registros de solicitudes y respuestas con los proveedores de modelos de socios, haz lo siguiente:

  1. Crea un archivo YAML de restricción personalizada llamado prevent_data_sharing.yaml similar al siguiente ejemplo.

    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.
    

    Reemplaza ORGANIZATION_ID por el ID de tu organización de Cloud de Confiance .

  2. Crea la restricción personalizada con el comando gcloud org-policies:

    gcloud org-policies set-custom-constraint prevent_data_sharing.yaml
    
  3. Aplica la política creando un archivo de aplicación de política de la organización llamado enforce_policy.yaml similar al siguiente ejemplo:

    name: organizations/ORGANIZATION_ID/policies/custom.denyPartnerModelDataSharing
    spec:
      rules:
    
      - enforce: true
    
  4. Aplica la política de la organización:

    gcloud org-policies set-policy enforce_policy.yaml
    

¿Qué sigue?