Kontingente für den Abruf von KI-Agenten

Cloud de Confiance by S3NS nutzt Kontingente, um für Fairness zu sorgen und Spitzen bei der Ressourcennutzung und ‑verfügbarkeit zu reduzieren. Ein Kontingent schränkt ein, wie viel von einerCloud de Confiance Ressource Ihr Cloud de Confiance Projekt nutzen kann. Kontingente gelten für eine Reihe von Ressourcentypen, einschließlich Hardware, Software und Netzwerkkomponenten. Mit Kontingenten können Sie beispielsweise die Anzahl der API-Aufrufe an einen Dienst, die Anzahl der von Ihrem Projekt nebenläufig verwendeten Load Balancer oder die Anzahl der Projekte begrenzen, die Sie erstellen können. Kontingente sollen eine Überlastung von Diensten verhindern und dadurch die Community derCloud de Confiance Nutzer schützen. Sie helfen Ihnen auch bei der Verwaltung Ihrer eigenen Cloud de Confiance Ressourcen.

Das Cloud-Kontingentsystem tut Folgendes:

Wenn Sie versuchen, mehr von einer Ressource zu verbrauchen, als das Kontingent zulässt, blockiert das System in den meisten Fällen den Zugriff auf die Ressource. Die Aufgabe, die Sie auszuführen versuchen, schlägt dann fehl.

Kontingente gelten in der Regel auf Cloud de Confiance Projektebene. Die Nutzung einer Ressource in einem Projekt hat keinen Einfluss auf das verfügbare Kontingent in einem anderen Projekt. Innerhalb eines Cloud de Confiance Projekts werden die Kontingente für alle Anwendungen und IP-Adressen gemeinsam genutzt.

Weitere Informationen finden Sie unter Cloud-Kontingente – Übersicht.

Bei der Agent-Abruffunktion (früher Vector Search 2.0) werden Kontingente erzwungen, um den Dienst zu schützen, eine faire Aufteilung der Kapazität zwischen Projekten zu gewährleisten und Ihnen eine besser vorhersagbare Leistung und Kosten zu ermöglichen. Kontingente werden unabhängig nach Region erfasst. Die Nutzung in us-central hat beispielsweise keine Auswirkungen auf Ihr Kontingent in europe-west4.

Messwerte

Allen Messwertnamen wird vectorsearch.googleapis.com/ vorangestellt.

Ratenkontingente (Anfragen/Min. und Byte/Min.)

Bei Kontingenten für die Datenrate werden Kontingente pro Minute ausgewertet und gelten pro Projekt und pro Region (oder Multi-Region) und optional pro Sammlung.

Bei jedem akzeptierten API-Aufruf wird der Zähler um eine Anfrage erhöht (oder um N Byte bei Byte-Kontingenten). Zähler werden pro Kalenderminute berechnet und verwenden eine gleitende Fensterbewertung (es gibt keine Zurücksetzung auf die Werkseinstellungen um :00).

Sie können das Limit kontinuierlich ausreizen, ohne dass es zu einem „Refill“-Effekt kommt.

Wenn ein Zähler sein Limit überschreitet, geben zusätzliche Anfragen RESOURCE_EXHAUSTED (HTTP 429) mit reason="RATE_LIMIT_EXCEEDED" und dem genauen Messwertnamen im Feld quota_metric zurück.

Ratenkontingente der Steuerungsebene

Die folgenden Kontingente gelten für den Ressourcenlebenszyklus sowie für Lese- und Listenoperationen für Sammlungen und Indexe für ein bestimmtes Projekt und eine bestimmte Region.

Bereich: pro Projekt und Region

Einheit: 1/min

Beschränkungen: Anfragen pro Minute.

Messwert Anzahl
collection_management_requests collections.create
collections.update
collections.delete
collection_read_requests collections.get
collection_list_requests collections.list
index_management_requests indexes.create
indexes.update
indexes.delete
index_read_requests indexes.get
index_list_requests indexes.list

Anfragen für Vorgänge mit langer Ausführungszeit

Für ein bestimmtes Projekt und eine bestimmte Region gelten die folgenden Kontingente für lange laufende Lese-, Listen-, Abbruch- und Löschvorgänge.

Bereich: pro Projekt und Region

Einheit: 1/min

Beschränkungen: Anfragen pro Minute.

Messwert Anzahl
lro_requests operations.get
operations.list
operations.cancel
operations.delete

Ratenkontingente für die Datenebene

Die folgenden Kontingente gelten für Datenobjekte, Abfrage- und Suchtraffic für ein bestimmtes Projekt, eine bestimmte Region und eine bestimmte Sammlung.

Hinweis: Kontingente für Suchanfragen (search_requests) werden für die Textsuche und die semantische Suche verwendet.

Bereich: pro Projekt, pro Region, pro Sammlung

Einheit: 1/min

Limits: Anfragen pro Minute und Sammlung

Messwert Anzahl
data_object_writes dataObjects.create
dataObjects.update
dataObjects.delete\
Jedes Data Object, das in
batchCreate
batchUpdate
batchDelete enthalten ist
data_object_reads dataObjects.get
query_requests dataObjects.query (Filterabfragen nur für Metadaten)
search_requests dataObjects.search beim Ausführen eines dichten oder spärlichen ANN.
knn_search_requests dataObjects.search, wenn Sie eine vollständige KNN-Suche durchführen.
batch_search_requests dataObjects.batchSearch (eine Anfrage unabhängig von untergeordneten Suchvorgängen)

Kontingente für den Durchsatz auf Datenebene

Die folgenden Kontingente gelten für die pro Minute geschriebenen Byte für ein bestimmtes Projekt, eine bestimmte Region und eine bestimmte Sammlung.

Bereich: pro Projekt, pro Region, pro Sammlung

Einheit: 1/min

Limits: Anfragen pro Minute und Sammlung

Messwert Anzahl
data_object_write_bytes Die Summe der serialisierten Daten und Vektor-Bytes, die von allen
-Aufrufen für Sammlungen, Datenobjekte und Indexe geschrieben wurden: create, update, delete, batchCreate, batchUpdate und batchDelete.

Batchvorgänge

  • batchCreate, batchUpdate, batchDelete dataObjects: Jedes einzelne Datenobjekt in der Anfrage wird als ein Schreibvorgang für data_object_writes gezählt und trägt seine serialisierte Größe in Byte zu data_object_write_bytes bei.

  • batchSearch dataObjects: wird als eine Anfrage für batch_search_requests gezählt, unabhängig davon, wie viele untergeordnete Suchanfragen gebündelt sind. Bei der Batch-Suche wird auch das Kontingent für untergeordnete Suchanfragen berücksichtigt.

Zuteilungskontingente (aktuelle Anzahl)

Zuteilungskontingente sind eine aktuelle Anzahl.

Zähler sind eine Live-Anzahl von Ressourcen oder laufenden Vorgängen, die dem Projekt gehören.

Die Anzahl wird beim Erstellen von Ressourcen oder beim Starten von Vorgängen erhöht und beim Löschen oder beim Abschluss von Vorgängen verringert.

Wenn das Limit erreicht ist, wird beim nächsten Aufruf von „create“ RESOURCE_EXHAUSTED zurückgegeben. Löschen Sie eine vorhandene Ressource oder warten Sie, bis ein LRO abgeschlossen ist, um Kontingent freizugeben.

Zuteilungskontingente der Steuerungsebene

Für die Anzahl der Ressourcen oder laufenden Vorgänge, die ein Projekt für ein bestimmtes Projekt und eine bestimmte Region enthalten kann, gelten die folgenden Kontingente:

  • Sammlungen
  • Indexe
  • Gleichzeitige Erstellungs-, Import- und Exportvorgänge für Sammlungen, Datenobjekte und Indexe

Bereich: pro Projekt und Region

Einheit: 1

Limits: absolute Anzahl (genaue Quoten)

Messwert Anzahl
collections Die Anzahl der Sammlungen, die im Projekt/in der Region vorhanden sind.
indexes Die Anzahl der Indexe (summiert über alle Sammlungen) im Projekt/in der Region.
concurrent_index_operations Die LROs für den laufenden Index (Erstellen/Aktualisieren/Löschen).
concurrent_collection_operations Die LROs für die laufende Sammlung (Erstellen/Aktualisieren/Löschen).
concurrent_data_object_imports Die LROs, die während der Ausführung von dataObjects.import ausgeführt werden.
concurrent_data_object_exports Die LROs, die während der Ausführung von dataObjects.export ausgeführt werden.

Automatisches Einbetten

Für die automatische Einbettung wird die Gemini API in Vertex AI (aiplatform.googleapis.com) verwendet. Jede API-Anfrage wird auf search_requests oder data_object_writes angerechnet und der Einbettungsaufruf wird auf die Vorhersagekontingente angerechnet. Achten Sie darauf, dass für beide APIs noch Kontingent verfügbar ist.

Anwendungsbeispiele

In den folgenden Abschnitten wird beschrieben, wie sich verschiedene Nutzungsszenarien auf Kontingente auswirken.

Kontinuierliche Schreibarbeitslast

Sie nehmen Dokumente (Daten plus ein 768-dimensionaler dichter Vektor, etwa 4 KB) in eine einzelne Sammlung in us-central1 auf. Es gelten zwei Kontingente gleichzeitig:

data_object_writes        (requests per minute, per collection)
data_object_write_bytes   (bytes per minute, per collection)

Sie sind durch das Limit, das Sie zuerst erreichen, eingeschränkt. Bei kleinen Objekten gilt in der Regel das Kontingent für die Anfragerate. Bei großen Objekten gilt das Byte-Kontingent.

Prüfen Sie beide Messwerte in der Cloud de Confiance -Konsole, um zu sehen, welcher dem Limit am nächsten ist.

Arbeitslast mit vielen Suchvorgängen

Eine Serving-Arbeitslast, die ANN-Anfragen an eine einzelne Sammlung sendet, verbraucht search_requests. Wenn Ihre Spitzenabfragen pro Sekunde (QPS) sich dem Limit pro Sammlung nähern, können Sie entweder eine Erhöhung beantragen oder den Traffic auf mehrere Sammlungen in derselben Region verteilen.

Viele kleine Sammlungen

Wenn Sie mehr Sammlungen erstellen möchten, als das collections-Limit Ihres Projekts zulässt, beantragen Sie eine Erhöhung, bevor Sie mit der Erstellung beginnen. Andernfalls schlägt der Erstellungsaufruf, der das Limit überschreitet, mit RESOURCE_EXHAUSTED fehl.

Ein batchSearch mit 10 Unterabfragen verbraucht genau einen batch_search_requests. Jede Unterabfrage wird jedoch nur auf der Ebene des äußeren Batches auf den jeweiligen Messwert pro Unterabfrage angerechnet. Planen Sie den Batch-Fan-Out entsprechend.

Kontingente aufrufen

So rufen Sie Ihre Kontingente auf:

  1. Öffnen Sie in der Cloud de Confiance Console die Seite IAM & Verwaltung > Kontingente.
  2. Filtern Sie nach dem Dienst Vector Search API.
  3. Verwenden Sie die Spalte Dimensionen (z.B. Standort), um die Kontingente für die Datenebene nach Region und Sammlung zu filtern.

Das aktuelle effektive Limit für jeden Messwert wird in der Cloud de Confiance Console auf der Seite „Kontingente“ neben dem Messwertnamen angezeigt. Es wird nach Region und, bei Kontingenten für die Datenebene, nach Sammlung gefiltert.

Kontingentbenachrichtigungen einrichten

Wir empfehlen, eine Benachrichtigung bei 80% Auslastung für die Kontingente einzurichten, von denen Ihre Arbeitslast abhängt. Weitere Informationen finden Sie unter Kontingentbenachrichtigungen einrichten und Kontingentmesswerte in Benachrichtigungsrichtlinien verwenden.

Fehler

Eine Anfrage, die abgelehnt wird, weil sie ein Kontingent überschritten hat, wird nicht auf das Kontingent angerechnet.

Anfragen, die aus anderen Gründen fehlschlagen (INVALID_ARGUMENT, NOT_FOUND usw.), werden auf das Ratenkontingent angerechnet, da der Dienst sie trotzdem auswerten muss.

vector_schema-Validierungsfehler werden gezählt. Sie werden auf der API-Ebene abgelehnt, nachdem das Ratenkontingent geprüft wurde.

Kontingente überschreiten

Wenn eine Anfrage gedrosselt wird, gibt die API Folgendes zurück:

gRPC:   RESOURCE_EXHAUSTED (8)
HTTP:   429 Too Many Requests

Die Fehlermeldung enthält den genauen Messwert, der überschritten wurde.

Beispiel:

Quota exceeded for quota metric 'vectorsearch.googleapis.com/search_requests'
and limit 'SearchRequestsPerMinutePerProjectPerRegionPerCollection' of service
'vectorsearch.googleapis.com' for consumer 'project_number:123456789012'.

In diesem Fall können Sie eine Kontingenterhöhung beantragen.

Kunden sollten:

  • Wiederholen Sie den Vorgang mit exponentiellem Backoff und Jitter bei vorübergehenden Fehlern aufgrund von Ratenbeschränkungen. Beginne mit etwa 1 Sekunde und erhöhe die Zeit auf bis zu 32 Sekunden.
  • Fehler ohne Wiederholungsversuch, die durch Zuweisungskontingente verursacht werden (z. B. "too many collections"). Löschen Sie eine Ressource oder fordern Sie stattdessen eine Erhöhung an.
  • Schreibvorgänge auf Collections oder Regionen verteilen, wenn für eine einzelne Collection die Kontingente für data_object_writes oder data_object_write_bytes überschritten werden.
  • Vorab aufwärmen: Wenn Sie wissen, dass ein Launch Ihre aktuellen Limits überschreiten wird, sollten Sie mindestens einige Arbeitstage im Voraus eine Erhöhung beantragen.

Anfrage zur Kontingenterhöhung

So beantragen Sie eine Kontingenterhöhung:

  1. Öffnen Sie in der Cloud de Confiance Console die Seite IAM & Verwaltung > Kontingente.
  2. Wählen Sie die Zeilen aus, die Sie erhöhen möchten.
  3. Klicken Sie auf Kontingente bearbeiten, geben Sie den neuen Wert und eine kurze geschäftliche Begründung ein und senden Sie das Formular ab. Einschließen:
    • Der Messwertname (z. B. vectorsearch.googleapis.com/search_requests).
    • Die Region und (für die Datenebene) die Sammlungs-ID.
    • Ihr Ziel-Durchsatz und eine kurze Beschreibung der Arbeitslast (gleichmäßig oder mit Spitzen, erwartete Spitzen-QPS, erwartete Dataset-Größe usw.).

Die Anfrage wird zur Überprüfung an das Agent Retrieval-Team weitergeleitet. Die meisten Erhöhungen auf das Doppelte des Standardwerts werden automatisch genehmigt. Bei größeren Erhöhungen ist möglicherweise eine zusätzliche Überprüfung erforderlich.

Weitere Informationen