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:
- Establece cuotas para proyectos y usuarios para aplicar límites de inversión generales a un proyecto completo o a usuarios individuales.
- Limita los costos de las consultas individuales estableciendo un valor de
big_query_max_billed_bytes
en la configuración del agente.
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:
- En la Google Cloud consola, crea un proyecto Google Cloud nuevo. Este proyecto se dedicará a tu agente o agentes.
- Asegúrate de que la facturación esté habilitada para el proyecto nuevo.
- 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:
En el Google Cloud proyecto de tu agente, ve a IAM y administración > Cuotas.
Filtra por el servicio de la API de BigQuery y selecciona la cuota de Uso de consultas por día.
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:
En el Google Cloud proyecto de tu agente, ve a IAM y administración > Cuotas.
Filtra el servicio de la API de BigQuery y selecciona la cuota de Uso de consultas por día por usuario.
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:
- Estas herramientas de administración de costos solo se aplican a los proyectos que usan la facturación según demanda y no a los que usan las reservas de ranuras.
- No se admite la configuración de cuotas para agentes individuales. Como se describe en Cómo establecer cuotas para proyectos y usuarios, la práctica recomendada es aislar el agente en su propio proyecto y, luego, aplicar cuotas a nivel del proyecto o por usuario a ese proyecto.
- No se admite el seguimiento de los costos de agentes individuales con etiquetas de BigQuery.