Administra los costos de BigQuery para los agentes de la API de Conversational Analytics

En esta página, se describe cómo supervisar y administrar los costos de BigQuery para tus agentes de la API de Conversational Analytics, que generan costos por ejecutar consultas en tus datos de BigQuery. Puedes usar los siguientes métodos para controlar los gastos y evitar los inesperados:

Antes de comenzar

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

  • Debes tener un proyecto Google Cloud con la facturación habilitada.
  • Debes tener los permisos de Identity and Access Management (IAM) necesarios para administrar las cuotas y la facturación de tu proyecto Google Cloud .

Establece cuotas para proyectos y usuarios

Puedes establecer límites de inversión para un Google Cloud proyecto o para usuarios individuales aplicando las cuotas estándar de BigQuery. Estos límites te ayudan a controlar los costos generales y a evitar que los usuarios individuales gasten demasiado.

En el caso de los agentes que pueden generar costos elevados, como un agente creado en una tabla muy grande o sin particiones, la práctica recomendada es aislar primero el agente en su propio proyecto dedicado. Luego, puedes aplicar una cuota a nivel del proyecto para limitar el costo diario máximo del proyecto, una cuota a nivel del usuario para garantizar un uso justo entre los usuarios o ambas cuotas.

Configura un proyecto dedicado para tu agente

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

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

Establece una cuota para el proyecto

Después de configurar un proyecto Google Cloud dedicado, puedes aplicar una cuota para controlar los costos de todo el proyecto. Para establecer una cuota a nivel del proyecto, sigue 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 de BigQuery y selecciona la cuota de Uso de consultas por día.

  3. Edita la cuota para establecer el límite diario que elijas (por ejemplo, 10 TiB). Este límite crea una detención obligatoria que impide que el proyecto supere el costo diario especificado.

Establece una cuota para los usuarios

Para evitar que un usuario individual genere una factura grande, puedes establecer 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 el servicio de la API de BigQuery y selecciona la cuota de Uso de consultas por día por usuario.

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

Cómo limitar los costos de las búsquedas individuales

Para evitar que las consultas de usuarios individuales generen facturas grandes e inesperadas, puedes establecer un límite de costo por consulta configurando el parámetro big_query_max_billed_bytes en un agente.

Antes de que el agente ejecute cualquier búsqueda, realiza una prueba para estimar el costo de la búsqueda. Si los bytes estimados que se analizarán superan el valor de big_query_max_billed_bytes, el agente bloqueará la búsqueda y enviará un mensaje de error al usuario.

Puedes establecer el parámetro big_query_max_billed_bytes dentro del campo published_context cuando creas o configuras 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 establece en 104857600 bytes (100 MB). Este valor establece un límite para cualquier consulta que ejecute el agente de 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 notebooks 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 cuando administres los costos de tus agentes de la API de Conversational Analytics: