BigQuery-Kosten für Conversational Analytics API-Agents verwalten

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:

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:

  1. Erstellen Sie in der Google Cloud -Console ein neues Google Cloud Projekt. Dieses Projekt ist für Ihren oder Ihre Agenten vorgesehen.
  2. Die Abrechnung für das neue Projekt muss aktiviert sein.
  3. 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:

  1. Rufen Sie im Google Cloud Projekt für Ihren Agenten IAM & Verwaltung > Kontingente auf.

    Kontingente aufrufen

  2. Filtern Sie nach dem BigQuery API-Dienst und wählen Sie das Kontingent Abfragenutzung pro Tag aus.

  3. 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:

  1. Rufen Sie im Google Cloud Projekt für Ihren Agenten IAM & Verwaltung > Kontingente auf.

    Kontingente aufrufen

  2. 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.

  3. 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.