Infrastruktur für eine RAG-fähige generative KI-Anwendung mit Vertex AI und Vektorsuche

Last reviewed 2025-03-07 UTC

In diesem Dokument wird eine Referenzarchitektur vorgestellt, mit der Sie die Infrastruktur für eine generative KI-Anwendung mit Retrieval Augmented Generation (RAG) mithilfe von Vector Search entwerfen können. Die Vektorsuche ist ein vollständig verwalteter Google Cloud Dienst, der eine optimierte Bereitstellungsinfrastruktur für den Abgleich von Vektorähnlichkeiten in sehr großem Maßstab bietet.

Die Zielgruppe für dieses Dokument umfasst Architekten, Entwickler und Administratoren von generativen KI-Anwendungen. In diesem Dokument werden grundlegende Kenntnisse der Konzepte von KI, maschinellem Lernen (ML) und Large Language Model (LLM) vorausgesetzt. Dieses Dokument bietet keine Anleitung zum Entwerfen und Entwickeln einer generativen KI-Anwendung.

Architektur

Das folgende Diagramm zeigt einen allgemeinen Überblick über die Architektur, die in diesem Dokument beschrieben wird:

Allgemeine Ansicht der Datenaufnahme- und Bereitstellungsabläufe in der Architektur.

Die Architektur im vorherigen Diagramm besteht aus zwei Subsystemen: Datenaufnahme und Bereitstellung.

  • Das Subsystem für die Datenaufnahme nimmt Daten auf, die aus externen Quellen hochgeladen werden. Das Subsystem bereitet die Daten für RAG vor und interagiert mit Vertex AI, um Einbettungen für die aufgenommenen Daten zu generieren und den Vektorindex zu erstellen und zu aktualisieren.
  • Das Subsystem für die Bereitstellung enthält die Frontend- und Backend-Dienste der generativen KI-Anwendung.
    • Der Frontend-Dienst verarbeitet den Anfrage-Antwort-Fluss mit Anwendungsnutzern und leitet Anfragen an den Backend-Dienst weiter.
    • Der Backend-Dienst verwendet Vertex AI, um Anfrage-Embeddings zu generieren, eine Vektorähnlichkeitssuche durchzuführen und Responsible AI-Sicherheitsfilter und Systemanweisungen anzuwenden.

Im folgenden Diagramm sehen Sie eine detaillierte Ansicht der Architektur:

Eine detaillierte Ansicht der Datenaufnahme- und Bereitstellungsabläufe in der Architektur.

In den folgenden Abschnitten wird der Datenfluss in jedem Subsystem des vorherigen Architekturdiagramms beschrieben.

Subsystem für die Datenaufnahme

Das Subsystem für die Datenaufnahme nimmt Daten aus externen Quellen auf und bereitet sie für RAG vor. Folgende Schritte sind im Ablauf der Datenaufnahme und -vorbereitung erforderlich:

  1. Daten werden aus externen Quellen in einen Cloud Storage-Bucket hochgeladen. Bei den externen Quellen kann es sich um Anwendungen, Datenbanken oder Streamingdienste handeln.
  2. Wenn Daten in Cloud Storage hochgeladen werden, wird eine Nachricht in einem Pub/Sub-Thema veröffentlicht.
  3. Wenn das Pub/Sub-Thema eine Nachricht empfängt, wird eine Cloud Run-Funktion ausgelöst.
  4. Die Cloud Run-Funktion parst die Rohdaten, formatiert sie nach Bedarf und teilt sie in Blöcke auf.
  5. Die Funktion verwendet die Vertex AI Embeddings API, um Einbettungen der Chunks mit einem von Ihnen angegebenen Einbettungsmodell zu erstellen. Vertex AI unterstützt Text-- und multimodale-Einbettungsmodelle.
  6. Die Funktion erstellt dann einen Vektorsuchindex der Einbettungen und stellt den Index bereit.

Wenn neue Daten aufgenommen werden, werden die vorherigen Schritte für die neuen Daten ausgeführt und der Index wird mit Streaming-Updates aktualisiert.

Wenn das Bereitstellungssubsystem Nutzeranfragen verarbeitet, verwendet es den Vektorsuchindex für die Suche nach Vektorähnlichkeiten. Im nächsten Abschnitt wird der Bereitstellungsablauf beschrieben.

Subsystem für die Bereitstellung

Das Subsystem für die Bereitstellung verarbeitet den Anfrage-Antwort-Fluss zwischen der generativen KI-Anwendung und ihren Nutzern. Folgende Schritte sind im Bereitstellungsablauf erforderlich:

  1. Ein Nutzer sendet eine Natural Language-Anfrage an einen Cloud Run-Dienst, der eine Frontend-Schnittstelle (z. B. einen Chatbot) für die generative KI-Anwendung bereitstellt.
  2. Der Frontend-Dienst leitet die Nutzeranfrage an einen Cloud Run-Backend-Dienst weiter.
  3. Der Backend-Dienst verarbeitet die Anfrage so:
    1. Konvertiert die Anfrage in Einbettungen. Dabei werden dasselbe Einbettungsmodell und dieselben Parameter verwendet, die auch vom Subsystem für die Datenaufnahme zum Generieren von Einbettungen der aufgenommenen Daten verwendet werden.
    2. Ruft relevante Grounding-Daten ab, indem eine Vektorähnlichkeitssuche für die Abfrageeinbettungen im Vector Search-Index durchgeführt wird.
    3. Erstellt einen erweiterten Prompt, indem die ursprüngliche Anfrage mit den Fundierungsdaten kombiniert wird.
    4. Sendet den erweiterten Prompt an ein LLM, das in Vertex AI bereitgestellt wird.
  4. Das LLM generiert eine Antwort.
  5. Für jeden Prompt wendet Vertex AI die von Ihnen konfigurierten Sicherheitsfilter für verantwortungsbewusste KI an und sendet dann die gefilterte Antwort und die KI-Sicherheitsbewertungen an den Cloud Run-Backend-Dienst.
  6. Die Anwendung sendet die Antwort über den Cloud Run-Frontend-Dienst an den Nutzer.

Sie können Logs der Anfrage-Antwort-Aktivität in Cloud Logging speichern und ansehen. Außerdem können Sie mit Cloud Monitoring ein auf Logs basierendes Monitoring einrichten. Sie können die generierten Antworten auch zur Offlineanalyse in BigQuery laden.

Der Vertex AI-Prompt-Optimierer hilft Ihnen, Prompts in großem Umfang zu verbessern, sowohl beim ersten Entwurf als auch bei der laufenden Optimierung. Der Prompt-Optimierer bewertet die Antwort Ihres Modells auf eine Reihe von Beispielprompts, die von ML-Ingenieuren bereitgestellt werden. Die Ausgabe der Bewertung umfasst die Antworten des Modells auf die Beispiel-Prompts, Ergebnisse für die von den ML-Ingenieuren angegebenen Messwerte und eine Reihe optimierter Systemanweisungen, die Sie verwenden können.

Verwendete Produkte

In dieser Referenzarchitektur werden die folgenden Google Cloud Produkte verwendet:

  • Vertex AI: Eine ML-Plattform, mit der Sie ML-Modelle und KI-Anwendungen trainieren und bereitstellen und LLMs für die Verwendung in KI-basierten Anwendungen anpassen können.
  • Vektorsuche: Ein Dienst für den Abgleich von Vektorähnlichkeiten, mit dem Sie semantisch ähnliche oder verwandte Daten speichern, indexieren und durchsuchen können.
  • Cloud Run ist eine serverlose Computing-Plattform, mit der Sie Container direkt auf der skalierbaren Infrastruktur von Google ausführen können.
  • Cloud Run Functions: Eine serverlose Computing-Plattform, mit der Sie Einzweckfunktionen direkt in Google Cloudausführen können.
  • Cloud Storage: Ein kostengünstiger, unbegrenzter Objektspeicher für verschiedene Datentypen. Auf Daten kann von innerhalb und außerhalb von Google Cloudzugegriffen werden. Sie werden zu Redundanzzwecken über Standorte hinweg repliziert.
  • Pub/Sub: Ein asynchroner, skalierbarer Messaging-Dienst, der Dienste entkoppelt, die Nachrichten von Diensten erzeugen, die diese Nachrichten verarbeiten.
  • Cloud Logging: Ein Echtzeit-Log-Verwaltungssystem mit Speicher, Suche, Analyse und Benachrichtigungen.
  • Cloud Monitoring: Ein Dienst, der Einblicke in die Leistung, Verfügbarkeit und Integrität Ihrer Anwendungen und Infrastruktur bietet.
  • BigQuery: Ein Data Warehouse für Unternehmen, mit dem Sie Ihre Daten mit integrierten Features wie raumbezogenen Analysen für maschinelles Lernen und Business Intelligence verwalten und analysieren können.

Anwendungsfälle

RAG ist eine effektive Technik, um die Qualität der von einem LLM generierten Ausgabe zu verbessern. In diesem Abschnitt finden Sie Beispiele für Anwendungsfälle, in denen Sie RAG-fähige generative KI-Anwendungen verwenden können.

Personalisierte Produktempfehlungen

Eine Online-Shopping-Website verwendet möglicherweise einen LLM-gestützten Chatbot, um Kunden bei der Suche nach Produkten oder bei der Hilfe beim Einkaufen zu unterstützen. Die Fragen eines Nutzers können mithilfe von Verlaufsdaten zum Kaufverhalten des Nutzers und zu Website-Interaktionsmustern erweitert werden. Die Daten können Nutzerrezensionen und -feedback enthalten, die in einem unstrukturierten Datenspeicher oder suchbezogenen Messwerten, die in einem Webanalyse-Data-Warehouse gespeichert werden. Die erweiterte Frage kann dann vom LLM verarbeitet werden, um personalisierte Antworten zu generieren, die für den Nutzer ansprechender und ansprechender sind.

Klinische Unterstützungssysteme

Ärzte in Krankenhäusern müssen den Gesundheitszustand eines Patienten schnell analysieren und diagnostizieren, um Entscheidungen über eine angemessene Versorgung und Medikamente treffen zu können. Eine generative KI-Anwendung, die ein medizinisches LLM wie Med-PaLM verwendet, kann verwendet werden, um Ärzte bei ihrem klinischen Diagnoseprozess zu unterstützen. Die von der Anwendung generierten Antworten können auf historischen Patientenakten basieren, indem die Aufforderungen der Ärzte mit Daten aus der EHR-Datenbank (Electronic Health Record) des Krankenhauses oder aus einer externen Wissensdatenbank wie PubMed in Beziehung gesetzt werden:

Mit der generativen KI-basierten Rechtsforschung können Anwälte große Mengen von Gesetzen und Fallgesetzen schnell abfragen, um relevante Prädikate zu ermitteln oder komplexe rechtliche Konzepte zusammenzufassen. Das Ergebnis einer solchen Forschungsarbeit kann durch die Erweiterung der Aufforderungen eines Anwalts mit Daten aus dem proprietären Korpus von Verträgen, früheren rechtlichen Mitteilungen und internen Fallaufzeichnungen der Anwaltskanzlei ergänzt werden. Durch diesen Designansatz wird sichergestellt, dass die generierten Antworten für das Fachgebiet relevant sind, auf das der Anwalt spezialisiert ist.

Designalternativen

In diesem Abschnitt werden alternative Designansätze vorgestellt, die Sie für Ihre RAG-fähige generative KI-Anwendung in Google Cloudin Betracht ziehen können.

Alternativen für die KI-Infrastruktur

Wenn Sie die Vektorspeicherfunktionen einer vollständig verwalteten Google Cloud Datenbank wie AlloyDB for PostgreSQL oder Cloud SQL für Ihre RAG-Anwendung nutzen möchten, lesen Sie den Abschnitt Infrastruktur für eine RAG-fähige generative KI-Anwendung mit Vertex AI und AlloyDB for PostgreSQL.

Wenn Sie RAG-fähige generative KI-Anwendungen mit Open-Source-Tools und ‑Modellen wie Ray, Hugging Face und LangChain schnell erstellen und bereitstellen möchten, lesen Sie den Artikel Infrastruktur für eine RAG-fähige generative KI-Anwendung mit GKE und Cloud SQL.

Optionen für das Anwendungshosting

In der in diesem Dokument dargestellten Architektur ist Cloud Run der Host für die GenAI-Anwendung und die Datenverarbeitung. Cloud Run ist eine vollständig verwaltete Anwendungsplattform, die sich an Entwickler richtet. Wenn Sie mehr Konfigurationsflexibilität und Kontrolle über die Recheninfrastruktur benötigen, können Sie Ihre Anwendung in GKE-Clustern oder auf Compute Engine-VMs bereitstellen.

Die Entscheidung, ob Cloud Run, GKE oder Compute Engine als Anwendungshost verwendet werden soll, erfordert einen Kompromiss zwischen Konfigurationsflexibilität und Verwaltungsaufwand. Mit der serverlosen Cloud Run-Option stellen Sie Ihre Anwendung in einer vorkonfigurierten Umgebung bereit, die minimalen Verwaltungsaufwand erfordert. Bei Compute Engine-VMs und GKE-Containern sind Sie für die Verwaltung der zugrunde liegenden Rechenressourcen verantwortlich, haben aber mehr Konfigurationsflexibilität und ‑kontrolle. Weitere Informationen zur Auswahl eines geeigneten Anwendungshostingdiensts finden Sie in den folgenden Dokumenten:

Weitere Optionen

Informationen zu anderen Infrastrukturoptionen, unterstützten Modellen und Grounding-Techniken, die Sie für generative KI-Anwendungen inGoogle Cloudverwenden können, finden Sie unter Modelle und Infrastruktur für Ihre generative KI-Anwendung auswählen.

Designaspekte

In diesem Abschnitt werden Designfaktoren, Best Practices und Designempfehlungen beschrieben, die Sie berücksichtigen sollten, wenn Sie diese Referenzarchitektur verwenden, um eine Topologie zu entwickeln, die Ihren spezifischen Anforderungen an Sicherheit, Zuverlässigkeit, Kosten und Leistung entspricht.

Die Anleitung in diesem Abschnitt ist nicht vollständig. Je nach den spezifischen Anforderungen Ihrer Anwendung und den von Ihnen verwendeten Google Cloud - und Drittanbieterprodukten und ‑funktionen müssen möglicherweise zusätzliche Designfaktoren und Vor- und Nachteile berücksichtigt werden.

Sicherheit, Compliance und Datenschutz

In diesem Abschnitt werden Designüberlegungen und Empfehlungen beschrieben, mit denen Sie eine Topologie in Google Cloud entwerfen können, die die Sicherheits- und Compliance-Anforderungen Ihrer Arbeitslasten erfüllt.

Produkt Designüberlegungen und ‑empfehlungen
Vertex AI

Sicherheitskontrollen: Vertex AI unterstützt Google Cloud Sicherheitskontrollen, mit denen Sie Ihre Anforderungen an Datenstandort, Datenverschlüsselung, Netzwerksicherheit und Access Transparency erfüllen können. Weitere Informationen finden Sie unter Sicherheitskontrollen für Vertex AI und Sicherheitskontrollen für generative KI.

Modellzugriff: Sie können Organisationsrichtlinien einrichten, um den Typ und die Versionen von LLMs zu beschränken, die in einem Google Cloud Projekt verwendet werden können. Weitere Informationen finden Sie unter Zugriff auf Model Garden-Modelle steuern.

Gemeinsame Verantwortung: Vertex AI sichert die zugrunde liegende Infrastruktur und bietet Tools und Sicherheitskontrollen, mit denen Sie Ihre Daten, Ihren Code und Ihre Modelle schützen können. Weitere Informationen finden Sie unter Geteilte Verantwortung von Vertex AI.

Datenschutz: Mit der Cloud Data Loss Prevention API können Sie vertrauliche Daten wie personenidentifizierbare Informationen (PII) in den Prompts und Antworten sowie in den Protokolldaten erkennen und de-identifizieren. Weitere Informationen finden Sie in diesem Video: Vertrauliche Daten in KI-Apps schützen.

Cloud Run

Sicherheit für eingehenden Traffic (Frontend-Dienst): Um den externen Zugriff auf die Anwendung zu steuern, deaktivieren Sie die Standard-run.app-URL des Frontend-Cloud Run-Dienstes und richten Sie einen regionalen externen Application Load Balancer ein. Der Load-Balancer führt nicht nur das Load-Balancing für eingehenden Traffic zur Anwendung durch, sondern verwaltet auch SSL-Zertifikate. Für zusätzlichen Schutz können Sie Google Cloud Armor-Sicherheitsrichtlinien verwenden, um Anfragen zu filtern, DDoS-Schutz zu bieten und die Raten für den Dienst zu begrenzen.

Sicherheit für eingehenden Traffic (Back-End-Dienst): Der Cloud Run-Dienst für das Back-End der Anwendung in dieser Architektur benötigt keinen Zugriff aus dem Internet. Wenn Sie dafür sorgen möchten, dass nur interne Clients auf den Dienst zugreifen können, legen Sie den Parameter ingress auf internal fest. Weitere Informationen finden Sie unter Eingehenden Traffic für Cloud Run einschränken.

Datenverschlüsselung: Standardmäßig verschlüsselt Cloud Run Daten mit einem Google-owned and Google-managed encryption key. Zum Schutz Ihrer Container mit einem von Ihnen kontrollierten Schlüssel können Sie vom Kunden verwaltete Verschlüsselungsschlüssel verwenden (CMEK). Weitere Informationen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.

Sicherheit von Container-Images: Damit nur autorisierte Container-Images in den Cloud Run-Diensten bereitgestellt werden, können Sie die Binärautorisierung verwenden.

Datenstandort: Cloud Run unterstützt Sie dabei, die Anforderungen an den Datenstandort zu erfüllen. Cloud Run-Containerinstanzen werden in der von Ihnen ausgewählten Region ausgeführt.

Weitere Informationen zur Containersicherheit finden Sie unter Allgemeine Entwicklungstipps für Cloud Run.

Cloud Storage

Datenverschlüsselung: Standardmäßig werden die in Cloud Storage gespeicherten Daten mit Google-owned and Google-managed encryption keysverschlüsselt. Bei Bedarf können Sie CMEKs oder Ihre eigenen Schlüssel verwenden, die Sie mithilfe einer externen Verwaltungsmethode wie vom Kunden bereitgestellte Verschlüsselungsschlüssel (Customer-Supplied Encryption Keys, CSEKs) verwalten. Weitere Informationen finden Sie unter Datenverschlüsselungsoptionen.

Zugriffssteuerung: Cloud Storage unterstützt zwei Methoden zum Steuern des Nutzerzugriffs auf Ihre Buckets und Objekte: Identity and Access Management (IAM) und Access Control Lists (ACLs). In den meisten Fällen empfehlen wir die Verwendung von IAM, mit dem Sie Berechtigungen auf Bucket- und Projektebene erteilen können. Weitere Informationen finden Sie unter Zugriffssteuerung.

Datenschutz: Die Daten, die Sie über Cloud Storage in das Datenaufnahmesubsystem laden, können sensible Daten enthalten. Zum Schutz solcher Daten können Sie die Daten mithilfe von Sensitive Data Protection ermitteln, klassifizieren und de-identifizieren. Weitere Informationen finden Sie unter Sensitive Data Protection mit Cloud Storage verwenden.

Netzwerksteuerung: Um das Risiko einer Daten-Exfiltration aus Cloud Storage zu verringern, können Sie mit VPC Service Controls einen Dienstperimeter erstellen.

Datenstandort: Cloud Storage unterstützt Sie dabei, die Anforderungen an den Datenstandort zu erfüllen. Daten werden in den von Ihnen angegebenen Regionen gespeichert oder repliziert.

Pub/Sub

Datenverschlüsselung: Standardmäßig verschlüsselt Pub/Sub alle Nachrichten, sowohl im inaktiven Zustand als auch bei der Übertragung, mit Google-owned and Google-managed encryption keys. Pub/Sub unterstützt die Verwendung von CMEKs für die Nachrichtenverschlüsselung auf Anwendungsebene. Weitere Informationen finden Sie unter Nachrichtenverschlüsselung konfigurieren.

Datenstandort: Wenn Sie Anforderungen an den Datenstandort haben, können Sie Richtlinien für den Nachrichtenspeicher konfigurieren, um sicherzustellen, dass Nachrichtendaten an bestimmten Standorten gespeichert werden.

Cloud Logging

Audit von Administratoraktivitäten: Die Protokollierung von Administratoraktivitäten ist standardmäßig für alle Google Cloud Dienste aktiviert, die in dieser Referenzarchitektur verwendet werden. Sie können über Cloud Logging auf die Logs zugreifen und sie verwenden, um API-Aufrufe oder andere Aktionen zu überwachen, die die Konfiguration oder Metadaten von Google Cloud -Ressourcen ändern.

Audit-Logs zum Datenzugriff: Die Protokollierung von Datenzugriffsereignissen ist für BigQuery standardmäßig aktiviert. Für die anderen Dienste, die in dieser Architektur verwendet werden, können Sie Audit-Logs zum Datenzugriff aktivieren. Mit diesen Logs können Sie Folgendes überwachen:

  • API-Aufrufe, die die Konfiguration oder Metadaten von Ressourcen lesen.
  • Nutzeranfragen zum Erstellen, Ändern oder Lesen der von Nutzern bereitgestellten Ressourcendaten.

Sicherheit von Logdaten: Google greift nicht auf die Daten in Cloud Logging zu und verwendet sie auch nicht.

Datenstandort: Zur Erfüllung der Anforderungen an den Datenstandort können Sie Cloud Logging so konfigurieren, dass Logdaten in der von Ihnen angegebenen Region gespeichert werden. Weitere Informationen finden Sie unter Logs regionalisieren.

Alle Produkte in der Architektur

Risiko einer Daten-Exfiltration minimieren: Um das Risiko einer Daten-Exfiltration zu verringern, erstellen Sie einen VPC Service Controls-Perimeter für die Infrastruktur. VPC Service Controls unterstützt alle Dienste, die in dieser Referenzarchitektur verwendet werden.

Optimierung nach der Bereitstellung: Nachdem Sie Ihre Anwendung in Google Cloudbereitgestellt haben, können Sie mit dem Dienst Active Assist Empfehlungen erhalten, die Ihnen helfen, die Sicherheit Ihrer Cloud-Ressourcen weiter zu optimieren. Prüfen Sie die Empfehlungen und wenden Sie sie entsprechend Ihrer Umgebung an. Weitere Informationen finden Sie unter Empfehlungen im Recommendation Hub finden.

Zugriffssteuerung: Halten Sie sich für jeden Cloud-Dienst an das Prinzip der geringsten Berechtigung.

Allgemeine Informationen zur Sicherheit von KI- und ML-Bereitstellungen inGoogle Cloudfinden Sie in den folgenden Ressourcen:

Zuverlässigkeit

In diesem Abschnitt werden Designüberlegungen und Empfehlungen zum Erstellen und Betreiben einer zuverlässigen Infrastruktur für Ihre Bereitstellung in Google Cloudbeschrieben.

Produkt Designüberlegungen und ‑empfehlungen
Vektorsuche

Skalierung von Anfragen: Damit der Vector Search-Index auch bei einer erhöhten Anfragelast weiterhin funktioniert, können Sie Autoscaling für den Indexendpunkt konfigurieren. Wenn die Abfragelast zunimmt, wird die Anzahl der Knoten automatisch bis zum von Ihnen angegebenen Maximum erhöht. Weitere Informationen finden Sie unter Autoscaling aktivieren.

Cloud Run

Robustheit bei Infrastrukturausfällen: Cloud Run ist ein regionaler Dienst. Die Daten werden synchron über mehrere Zonen innerhalb einer Region hinweg gespeichert. Der Traffic wird automatisch auf die Zonen verteilt. Wenn ein Zonenausfall auftritt, wird Cloud Run weiterhin ausgeführt und es gehen keine Daten verloren. Wenn ein regionaler Ausfall auftritt, wird Cloud Run so lange ausgeführt, bis Google den Ausfall behoben hat.

Cloud Storage Datenverfügbarkeit: Sie können Cloud Storage-Buckets an einem von drei Standorttypen erstellen: regional, biregional oder multiregional. Daten, die in regionalen Buckets gespeichert sind, werden synchron über mehrere Zonen innerhalb einer Region hinweg repliziert. Für eine höhere Verfügbarkeit können Sie Buckets mit zwei oder mehr Regionen verwenden, bei denen Daten asynchron über Regionen hinweg repliziert werden.
Pub/Sub

Ratensteuerung: Um Fehler bei vorübergehenden Spitzen beim Nachrichtentraffic zu vermeiden, können Sie die Rate der Veröffentlichungsanfragen begrenzen, indem Sie die Ablaufsteuerung in den Publisher-Einstellungen konfigurieren.

Fehlerbehandlung: Passen Sie die Variablen für Wiederholungsanfragen nach Bedarf an, um fehlgeschlagene Veröffentlichungsversuche zu verarbeiten. Weitere Informationen finden Sie unter Anfragen wiederholen.

BigQuery Robustheit bei Infrastrukturausfällen: Daten, die Sie in BigQuery laden, werden synchron in zwei Zonen innerhalb der von Ihnen angegebenen Region gespeichert. Diese Redundanz trägt dazu bei, dass Ihre Daten nicht verloren gehen, wenn ein Zonenausfall auftritt. Weitere Informationen zu Zuverlässigkeitsfunktionen in BigQuery finden Sie unter Zuverlässigkeit.
Alle Produkte in der Architektur Optimierung nach der Bereitstellung: Nachdem Sie Ihre Anwendung in Google Cloudbereitgestellt haben, können Sie mit dem Dienst Active Assist Empfehlungen zur weiteren Optimierung der Zuverlässigkeit Ihrer Cloud-Ressourcen erhalten. Prüfen Sie die Empfehlungen und wenden Sie sie entsprechend Ihrer Umgebung an. Weitere Informationen finden Sie unter Empfehlungen im Recommendation Hub ansehen.

Zuverlässigkeitsprinzipien und ‑empfehlungen speziell für KI- und ML-Arbeitslasten finden Sie im Well-Architected Framework unter KI- und ML-Perspektive: Zuverlässigkeit.

Kostenoptimierung

Dieser Abschnitt enthält Anleitungen zur Optimierung der Kosten für die Einrichtung und den Betrieb einer Google Cloud Topologie, die Sie mithilfe dieser Referenzarchitektur erstellen.

Produkt Designüberlegungen und ‑empfehlungen
Vektorsuche

Die Abrechnung für die Vektorsuche hängt von der Größe Ihres Index, den Abfragen pro Sekunde (QPS) sowie der Anzahl und dem Maschinentyp der Knoten ab, die Sie für den Indexendpunkt verwenden. Bei Arbeitslasten mit hoher QPS kann die Batch-Verarbeitung der Abfragen die Kosten senken. Informationen dazu, wie Sie die Kosten für die Vektorsuche schätzen können, finden Sie unter Preisbeispiele für die Vektorsuche.

Um die Auslastung der Rechenknoten zu verbessern, auf denen der Vector Search-Index bereitgestellt wird, können Sie Autoscaling für den Indexendpunkt konfigurieren. Bei geringer Nachfrage wird die Anzahl der Knoten automatisch auf das von Ihnen angegebene Minimum reduziert. Weitere Informationen finden Sie unter Autoscaling aktivieren.

Cloud Run

Beim Erstellen von Cloud Run-Diensten geben Sie die Größe des Arbeitsspeichers und die CPU an, die der Containerinstanz zugewiesen werden sollen. Zur Kostenkontrolle beginnen Sie mit den standardmäßigen (Mindest-)CPU- und -Speicherzuweisungen. Zur Verbesserung der Leistung können Sie die Zuweisung erhöhen, indem Sie das CPU-Limit und das Speicherlimit konfigurieren. Weitere Informationen finden Sie in der folgenden Dokumentation:

Wenn Sie die CPU- und Arbeitsspeicheranforderungen Ihrer Cloud Run-Dienste vorhersagen können, können Sie Geld sparen, weil Sie Rabatte für die zugesicherte Nutzung erhalten. Weitere Informationen finden Sie unter Rabatte für zugesicherte Nutzung von Cloud Run.

Cloud Storage Wählen Sie für den Cloud Storage-Bucket, den Sie zum Laden von Daten in das Datenaufnahme-Subsystem verwenden, eine geeignete Speicherklasse aus. Berücksichtigen Sie bei der Auswahl der Speicherklasse die Anforderungen an die Datenaufbewahrung und die Zugriffshäufigkeit Ihrer Arbeitslasten. Um beispielsweise die Speicherkosten zu senken, können Sie die Standard-Klasse auswählen und die Verwaltung des Objektlebenszyklus verwenden. Dadurch können Objekte automatisch auf eine kostengünstigere Speicherklasse herabgestuft oder basierend auf den von Ihnen festgelegten Bedingungen gelöscht werden.
Cloud Logging

So können Sie die Kosten für die Speicherung von Logs kontrollieren:

  • Reduzieren Sie das Logvolumen, indem Sie unnötige Logeinträge ausschließen oder filtern. Weitere Informationen finden Sie unter Ausschlussfilter.
  • Verkürzen Sie den Zeitraum, für den Logeinträge aufbewahrt werden. Weitere Informationen finden Sie unter Benutzerdefinierte Aufbewahrung konfigurieren.
BigQuery Mit BigQuery können Sie die Kosten für Abfragen schätzen, bevor Sie sie ausführen. Zur Optimierung der Abfragekosten müssen Sie die Speicher- und Abfrageberechnung optimieren. Weitere Informationen finden Sie unter Kosten schätzen und kontrollieren.
Alle Produkte in der Architektur Nachdem Sie Ihre Anwendung in Google Cloudbereitgestellt haben, können Sie mit dem Dienst Active Assist Empfehlungen zur weiteren Optimierung der Kosten Ihrer Cloud-Ressourcen erhalten. Prüfen Sie die Empfehlungen und wenden Sie sie entsprechend Ihrer Umgebung an. Weitere Informationen finden Sie unter Empfehlungen im Recommendation Hub ansehen.

Mit dem Google Cloud Preisrechner können Sie die Kosten für Ihre Google Cloud -Ressourcen schätzen.

Kostenoptimierungsgrundsätze und ‑empfehlungen speziell für KI- und ML-Arbeitslasten finden Sie im Well-Architected Framework unter KI- und ML-Perspektive: Kostenoptimierung.

Leistungsoptimierung

In diesem Abschnitt werden Designüberlegungen und Empfehlungen zum Entwerfen einer Topologie in Google Cloud beschrieben, die die Leistungsanforderungen Ihrer Arbeitslasten erfüllt.

Produkt Designüberlegungen und ‑empfehlungen
Vektorsuche

Wenn Sie den Index erstellen, legen Sie die Shard-Größe, den Typ der Distanzmessung und die Anzahl der Einbettungen für jeden Blattknoten basierend auf Ihren Leistungsanforderungen fest. Wenn Ihre Anwendung beispielsweise sehr empfindlich auf Latenzvariabilität reagiert, empfehlen wir eine große Shard-Größe. Weitere Informationen finden Sie unter Konfigurationsparameter, die sich auf die Leistung auswirken.

Berücksichtigen Sie bei der Konfiguration der Rechenkapazität der Knoten, auf denen der Vektorsuchindex bereitgestellt wird, Ihre Leistungsanforderungen. Wählen Sie einen geeigneten Maschinentyp aus und legen Sie die maximale Anzahl von Knoten basierend auf der erwarteten Abfragelast fest. Weitere Informationen finden Sie unter Bereitstellungseinstellungen, die sich auf die Leistung auswirken.

Konfigurieren Sie die Abfrageparameter für den Vertex Search-Index basierend auf Ihren Anforderungen an Abfrageleistung, Verfügbarkeit und Kosten. Mit dem Parameter approximateNeighborsCount wird beispielsweise die Anzahl der Nachbarn angegeben, die abgerufen werden müssen, bevor die genaue Neusortierung ausgeführt wird. Wenn Sie den Wert dieses Parameters verringern, können Sie die Latenz und die Kosten reduzieren. Weitere Informationen finden Sie unter Einstellungen für die Abfragezeit, die sich auf die Leistung auswirken.

Ein aktueller Index trägt dazu bei, die Genauigkeit der generierten Antworten zu verbessern. Sie können Ihren Vektorsuchindex mit Batch- oder Streaming-Updates aktualisieren. Mit Streaming-Updates können Sie Abfragen nahezu in Echtzeit für aktualisierte Daten ausführen. Weitere Informationen finden Sie unter Aktiven Index aktualisieren und neu erstellen.

Cloud Run

Standardmäßig werden jeder Cloud Run-Containerinstanz eine CPU und 512 MiB Arbeitsspeicher zugewiesen. Abhängig von den Leistungsanforderungen können Sie das CPU-Limit und das Speicherlimit konfigurieren. Weitere Informationen erhalten Sie in dieser Dokumentation:

Um auch nach einer Zeit ohne Traffic eine optimale Latenz zu gewährleisten, können Sie eine Mindestanzahl von Instanzen konfigurieren. Wenn solche Instanzen inaktiv sind, werden die ihnen zugewiesene CPU und der Arbeitsspeicher zu einem niedrigeren Preis abgerechnet.

Weitere Informationen zur Leistungsoptimierung finden Sie unter Allgemeine Entwicklungstipps für Cloud Run.

Cloud Storage Zum Hochladen großer Dateien können Sie eine Methode namens parallele zusammengesetzte Uploads verwenden. Bei dieser Strategie wird die große Datei in Blöcke unterteilt. Die Blöcke werden parallel in Cloud Storage hochgeladen und dann die Daten in der Cloud neu zusammengesetzt. Wenn Netzwerkbandbreite und Laufwerksgeschwindigkeit keine einschränkenden Faktoren darstellen, können parallele zusammengesetzte Uploads schneller sein als reguläre Uploadvorgänge. Diese Strategie hat jedoch einige Einschränkungen und Auswirkungen auf die Kosten. Weitere Informationen finden Sie unter Parallele zusammengesetzte Uploads.
BigQuery

BigQuery bietet eine Grafik zur Abfrageausführung, mit der Sie die Abfrageleistung analysieren und Leistungsinformationen zu Problemen wie Slot-Konflikten und unzureichenden Shuffle-Kontingenten erhalten können. Weitere Informationen finden Sie unter Statistiken zur Abfrageleistung abrufen.

Nachdem Sie die Probleme behoben haben, die Sie anhand von Statistiken zur Abfrageleistung ermittelt haben, können Sie Abfragen mit Methoden wie der Reduzierung des Volumens der Eingabe- und Ausgabedaten weiter optimieren. Weitere Informationen finden Sie unter Abfrageleistung optimieren.

Alle Produkte in der Architektur Nachdem Sie Ihre Anwendung in Google Cloudbereitgestellt haben, können Sie mit dem Active Assist-Dienst Empfehlungen zur weiteren Optimierung der Leistung Ihrer Cloud-Ressourcen erhalten. Prüfen Sie die Empfehlungen und wenden Sie sie entsprechend Ihrer Umgebung an. Weitere Informationen finden Sie unter Empfehlungen im Recommendation Hub ansehen.

Grundsätze und Empfehlungen zur Leistungsoptimierung, die speziell auf KI- und ML-Arbeitslasten zugeschnitten sind, finden Sie im Well-Architected Framework unter KI- und ML-Perspektive: Leistungsoptimierung.

Bereitstellung

Wenn Sie eine Topologie bereitstellen möchten, die auf dieser Referenzarchitektur basiert, können Sie die Terraform-Beispielkonfiguration herunterladen und verwenden, die in einem Repository auf GitHub verfügbar ist. Folgen Sie der Anleitung in der README-Datei im Repository. Der Beispielcode ist nicht für Produktionsanwendungsfälle vorgesehen.

Nächste Schritte

Beitragende

Autor: Kumar Dhanagopal | Cross-product Solution Developer

Weitere Beitragende: