Gestionar los costes de BigQuery de los agentes de la API Conversational Analytics

En esta página se describe cómo monitorizar y gestionar los costes de BigQuery de los agentes de la API Conversational Analytics, que incurren en costes al ejecutar consultas en sus datos de BigQuery. Puede usar los siguientes métodos para controlar los gastos y evitar costes inesperados:

Antes de empezar

Antes de implementar los controles de costes que se describen en esta página, debes cumplir los siguientes requisitos:

  • Debes tener un proyecto Google Cloud con la facturación habilitada.
  • Debes tener los permisos de gestión de identidades y accesos (IAM) necesarios para gestionar las cuotas y la facturación de tu Google Cloud proyecto.

Definir cuotas para proyectos y usuarios

Puedes definir límites de gasto para un Google Cloud proyecto o para usuarios concretos aplicando las cuotas estándar de BigQuery. Estos límites te ayudan a controlar los costes generales y a evitar que los usuarios individuales gasten demasiado.

En el caso de los agentes que puedan incurrir en costes elevados, como los que se basan en una tabla muy grande o sin particiones, se recomienda aislar primero el agente en su propio proyecto específico. Después, puedes aplicar una cuota a nivel de proyecto para limitar el coste diario máximo del proyecto, una cuota a nivel de usuario para asegurar un uso justo entre los usuarios o ambas cuotas.

Configurar un proyecto específico para tu agente

Para configurar un proyecto específico para tu agente o agentes de la API Conversational Analytics, sigue estos pasos:

  1. En la Google Cloud consola, crea un proyecto Google Cloud . Este proyecto se dedicará a tu agente o agentes.
  2. Asegúrate de que la facturación esté habilitada en el nuevo proyecto.
  3. Confirma que el agente esté configurado para usar este nuevo proyecto para la facturación. Cuando configures el agente, tendrás que especificar el ID de proyecto de este nuevo proyecto.

Definir una cuota para el proyecto

Una vez que hayas configurado un proyecto Google Cloud dedicado, puedes aplicar una cuota para controlar los costes de todo el proyecto. Para definir una cuota a nivel de proyecto, siga estos pasos:

  1. En el Google Cloud proyecto de tu agente, ve a IAM y administración > Cuotas.

    Ir a Cuotas

  2. Filtra por el servicio de la API BigQuery y selecciona la cuota Uso de consultas por día.

  3. Edita la cuota para que se ajuste al límite diario que hayas elegido (por ejemplo, 10 TiB). Este límite crea una parada que impide que el proyecto supere el coste diario especificado.

Definir una cuota para los usuarios

Para evitar que un usuario genere una factura elevada, puede definir una cuota por usuario siguiendo estos pasos:

  1. En el Google Cloud proyecto de tu agente, ve a IAM y administración > Cuotas.

    Ir a Cuotas

  2. Filtra por el servicio API de BigQuery y selecciona la cuota Uso de consultas por día y por usuario.

  3. Edita la cuota para establecer el límite diario que quieras (por ejemplo, 1 TiB por usuario al día). Este límite asegura que ningún usuario pueda consumir una cantidad excesiva de recursos.

Limitar los costes de las consultas individuales

Para evitar que una consulta de un usuario genere una factura grande e inesperada, puedes definir un límite de coste por consulta configurando el parámetro big_query_max_billed_bytes en un agente.

Antes de ejecutar cualquier consulta, el agente realiza una prueba para estimar el coste de la consulta. Si los bytes estimados que se van a analizar superan el valor de big_query_max_billed_bytes, el agente bloquea la consulta y envía un mensaje de error al usuario.

Puedes definir el parámetro big_query_max_billed_bytes en el campo published_context al crear o configurar un agente con HTTP o con el SDK de Python. En el siguiente ejemplo, que se muestra en formato textproto, se ilustra la estructura de una solicitud que configura un límite de 100 MB para un agente que responde preguntas sobre los árboles de las calles de San Francisco:

parent: "projects/sample-project-name/locations/global"
data_agent_id: "sample-agent-id"
data_agent {
  name: "projects/sample-project-name/locations/global/dataAgents/sample-agent-id"
  data_analytics_agent {
    published_context {
      system_instruction: "This agent provides information about street trees in San Francisco, including their species, location, and planting date."
      options {
        datasource {
          big_query_max_billed_bytes {
            value: 104857600 #100MB
          }
        }
      }
      datasource_references {
        bq {
          table_references {
            project_id: "bigquery-public-data"
            dataset_id: "san_francisco"
            table_id: "street_trees"
          }
        }
      }
    }
  }
}

En este ejemplo, el parámetro big_query_max_billed_bytes se ha definido en 104857600 bytes (100 MB). Este valor establece un límite para las consultas que ejecuta el agente sample-agent-id en la tabla de BigQuery bigquery-public-data.san_francisco.street_trees.

Para ver ejemplos interactivos de cómo crear y configurar agentes, consulta los cuadernos de Colaboratory. Para obtener información detallada sobre los campos de la API, consulta la referencia de la API.

Limitaciones

Ten en cuenta las siguientes limitaciones al gestionar los costes de tus agentes de la API Conversational Analytics: