Auf dieser Seite wird beschrieben, wie Sie die BigQuery-Kosten für Ihre Conversational Analytics API-Agents überwachen und verwalten können. Diese Kosten entstehen durch das Ausführen von Abfragen für Ihre BigQuery-Daten. Mit den folgenden Methoden können Sie Ausgaben kontrollieren und unerwartete Kosten vermeiden:
- Mit Kontingente für Projekte und Nutzer festlegen können Sie allgemeine Ausgabenlimits für ein ganzes Projekt oder für einzelne Nutzer festlegen.
- Kosten für einzelne Abfragen begrenzen, indem Sie in der Konfiguration des Agents einen
big_query_max_billed_bytes
-Wert festlegen.
Hinweise
Bevor Sie die auf dieser Seite beschriebenen Kostenkontrollen implementieren, müssen die folgenden Voraussetzungen erfüllt sein:
- Sie benötigen ein Google Cloud -Projekt mit aktivierter Abrechnung.
- Sie benötigen die erforderlichen IAM-Berechtigungen (Identity and Access Management), um Kontingente und Abrechnung für Ihr Google Cloud -Projekt zu verwalten.
Kontingente für Projekte und Nutzer festlegen
Sie können Ausgabenlimits für ein Google Cloud Projekt oder für einzelne Nutzer festlegen, indem Sie die standardmäßigen BigQuery-Kontingente anwenden. Mit diesen Limits können Sie die Gesamtkosten kontrollieren und verhindern, dass einzelne Nutzer zu viel ausgeben.
Bei Agents, die hohe Kosten verursachen können, z. B. Agents, die auf einer sehr großen oder nicht partitionierten Tabelle basieren, empfiehlt es sich, den Agent zuerst in einem eigenen Projekt zu isolieren. Anschließend können Sie ein Kontingent auf Projektebene anwenden, um die maximalen täglichen Kosten des Projekts zu begrenzen, ein Kontingent auf Nutzerebene, um eine faire Nutzung durch die Nutzer zu gewährleisten, oder sowohl Kontingente auf Projektebene als auch auf Nutzerebene.
Dediziertes Projekt für Ihren Agent einrichten
So richten Sie ein dediziertes Projekt für Ihren oder Ihre Conversational Analytics API-Agenten ein:
- Erstellen Sie in der Google Cloud -Console ein neues Google Cloud Projekt. Dieses Projekt ist für Ihren oder Ihre Agenten vorgesehen.
- Die Abrechnung für das neue Projekt muss aktiviert sein.
- Prüfen Sie, ob der Agent so konfiguriert ist, dass dieses neue Projekt für die Abrechnung verwendet wird. Wenn Sie den Agent konfigurieren, müssen Sie die Projekt-ID dieses neuen Projekts angeben.
Kontingent für das Projekt festlegen
Nachdem Sie ein dediziertes Google Cloud Projekt eingerichtet haben, können Sie ein Kontingent anwenden, um die Kosten für das gesamte Projekt zu kontrollieren. So legen Sie ein Kontingent auf Projektebene fest:
Rufen Sie im Google Cloud Projekt für Ihren Agenten IAM & Verwaltung > Kontingente auf.
Filtern Sie nach dem BigQuery API-Dienst und wählen Sie das Kontingent Abfragenutzung pro Tag aus.
Bearbeiten Sie das Kontingent auf das von Ihnen gewählte Tageslimit (z. B. 10 TiB). Dieses Limit sorgt dafür, dass die angegebenen täglichen Kosten für das Projekt nicht überschritten werden.
Kontingent für Nutzer festlegen
So legen Sie ein Kontingent pro Nutzer fest, um zu verhindern, dass einzelne Nutzer hohe Kosten verursachen:
Rufen Sie im Google Cloud Projekt für Ihren Agenten IAM & Verwaltung > Kontingente auf.
Filtern Sie nach dem Dienst BigQuery API und wählen Sie das Kontingent Query usage per day per user (Abfragenutzung pro Tag und Nutzer) aus.
Bearbeiten Sie das Kontingent auf das von Ihnen gewählte Tageslimit (z. B. 1 TiB pro Nutzer und Tag). Dieses Limit soll verhindern, dass ein einzelner Nutzer übermäßig viele Ressourcen verbraucht.
Kosten für einzelne Abfragen begrenzen
Damit die Kosten für einzelne Nutzeranfragen nicht unerwartet hoch ausfallen, können Sie ein Kostenlimit pro Anfrage festlegen, indem Sie den Parameter big_query_max_billed_bytes
für einen Agenten konfigurieren.
Bevor der Agent eine Abfrage ausführt, führt er einen Testlauf durch, um die Kosten der Abfrage zu schätzen. Wenn die geschätzte Anzahl der zu scannenden Byte den Wert big_query_max_billed_bytes
überschreitet, blockiert der Agent die Anfrage und sendet eine Fehlermeldung an den Nutzer.
Sie können den Parameter big_query_max_billed_bytes
im Feld published_context
festlegen, wenn Sie einen Agenten mit HTTP oder mit dem Python SDK erstellen oder konfigurieren. Das folgende Beispiel im textproto
-Format veranschaulicht die Struktur einer Anfrage, die ein Limit von 100 MB für einen Agenten konfiguriert, der Fragen zu Straßenbäumen in San Francisco beantwortet:
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"
}
}
}
}
}
}
In diesem Beispiel ist der Parameter big_query_max_billed_bytes
auf 104857600
Byte (100 MB) festgelegt. Mit diesem Wert wird ein Limit für alle Abfragen festgelegt, die vom sample-agent-id
-Agent für die BigQuery-Tabelle bigquery-public-data.san_francisco.street_trees
ausgeführt werden.
Interaktive Beispiele zum Erstellen und Konfigurieren von Agents finden Sie in den Colaboratory-Notebooks. Ausführliche Informationen zu API-Feldern finden Sie in der API-Referenz.
Beschränkungen
Beachten Sie beim Verwalten der Kosten für Ihre Conversational Analytics API-Agents die folgenden Einschränkungen:
- Diese Tools zur Kostenverwaltung gelten nur für Projekte mit On-Demand-Abrechnung und nicht für Projekte mit Slot-Reservierungen.
- Das Festlegen von Kontingenten für einzelne Kundenservicemitarbeiter wird nicht unterstützt. Wie unter Kontingente für Projekte und Nutzer festlegen beschrieben, empfiehlt es sich, den Agent in einem eigenen Projekt zu isolieren und dann Kontingente auf Projekt- oder Nutzerebene auf dieses Projekt anzuwenden.
- Das Erfassen von Kosten für einzelne Kundenservicemitarbeiter mithilfe von BigQuery-Labels wird nicht unterstützt.