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 sehr großen Maßstab der Vektorähnlichkeitsabgleiche 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 vorgestellt wird:
Die Architektur im vorherigen Diagramm hat zwei Subsysteme: Datenaufnahme und ‑bereitstellung.
- Das Datenaufnahme-Subsystem nimmt Daten auf, die aus externen Quellen hochgeladen werden. Das Subsystem bereitet die Daten für RAG vor und interagiert mit Vertex AI, um Embeddings für die aufgenommenen Daten zu generieren und den Vektorindex zu erstellen und zu aktualisieren.
- Das Bereitstellungs-Subsystem enthält die Frontend- und Backend-Dienste der generativen KI-Anwendung.
- Der Frontend-Dienst verarbeitet den Abfrage-Antwort-Fluss mit Anwendungsnutzern und leitet Anfragen an den Back-End-Dienst weiter.
- Der Backend-Dienst verwendet Vertex AI, um Suchanfrage-Ebenen zu generieren, eine Vektorähnlichkeitssuche durchzuführen und Sicherheitsfilter und Systemanweisungen für verantwortungsbewusste KI anzuwenden.
Im folgenden Diagramm sehen Sie eine detaillierte Ansicht der Architektur:
In den folgenden Abschnitten wird der Datenfluss in jedem Subsystem des vorherigen Architekturdiagramms beschrieben.
Datenaufnahme-Subsystem
Das Datenaufnahme-Subsystem nimmt Daten aus externen Quellen auf und bereitet sie für die generative KI vor. Folgende Schritte sind im Ablauf der Datenaufnahme und ‑vorbereitung erforderlich:
- Daten werden aus externen Quellen in einen Cloud Storage-Bucket hochgeladen. Die externen Quellen können Anwendungen, Datenbanken oder Streamingdienste sein.
- Wenn Daten in Cloud Storage hochgeladen werden, wird eine Nachricht in einem Pub/Sub-Thema veröffentlicht.
- Wenn das Pub/Sub-Thema eine Nachricht empfängt, wird ein Cloud Run-Job ausgelöst.
- Der Cloud Run-Job analysiert die Rohdaten, formatiert sie nach Bedarf und teilt sie in Blöcke auf.
- Der Cloud Run-Job verwendet die Vertex AI Embeddings API, um mit einem von Ihnen angegebenen Einbettungsmodell Einbettungen der Chunks zu erstellen. Vertex AI unterstützt Text- und multimodale-Einbettungsmodelle.
- Der Cloud Run-Job erstellt einen Vektorsuchindex der Einbettungen und stellt ihn dann 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 Vektorähnlichkeitssuche. Im nächsten Abschnitt wird der Ablauf beschrieben.
Subsystem für die Bereitstellung
Das Bereitstellungssubsystem verarbeitet den Abfrage-Antwort-Fluss zwischen der generativen KI-Anwendung und ihren Nutzern. Die folgenden Schritte sind im Ablauf der Auslieferung erforderlich:
- Ein Nutzer sendet eine Natural Language-Anfrage an einen Cloud Run-Dienst, der eine Frontend-Benutzeroberfläche (z. B. einen Chatbot) für die generative KI-Anwendung bereitstellt.
- Der Frontend-Dienst leitet die Nutzeranfrage an einen Cloud Run-Backenddienst weiter.
- Der Backend-Dienst verarbeitet die Abfrage so:
- Die Abfrage wird in Einbettungen umgewandelt. Dabei werden dieselben Einbettungsmodelle und Parameter verwendet, die auch vom Datenaufnahme-Subsystem zum Generieren von Einbettungen der aufgenommenen Daten verwendet werden.
- Ermittelt relevante Daten zur Kontextualisierung, indem eine Vektorähnlichkeitssuche für die Abfrage-Ebenen im Vektorsuchindex durchgeführt wird.
- Erstellt einen erweiterten Prompt, indem die ursprüngliche Anfrage mit den Daten zur Verankerung kombiniert wird.
- Der erweiterte Prompt wird an einen LLM gesendet, der in Vertex AI bereitgestellt wird.
- Das LLM generiert eine Antwort.
- 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-Backenddienst.
- Die Anwendung sendet die Antwort über den Cloud Run-Frontend-Dienst an den Nutzer.
Sie können Logs der Abfrage-Antwort-Aktivität in Cloud Logging speichern und aufrufen und mit Cloud Monitoring ein logbasiertes Monitoring einrichten. Sie können die generierten Antworten auch zur Offlineanalyse in BigQuery laden.
Mit dem Vertex AI-Prompt-Optimierer können Sie Prompts in großem Umfang verbessern, sowohl beim ersten Entwerfen als auch bei der kontinuierlichen Optimierung. Der Prompt-Optimierer bewertet die Antwort Ihres Modells auf eine Reihe von Beispielprompts, die von ML-Entwicklern bereitgestellt werden. Die Ausgabe der Bewertung umfasst die Antworten des Modells auf die Beispiel-Prompts, Bewertungen für Messwerte, die von den ML-Entwicklern angegeben werden, 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 die Vektorähnlichkeit, mit dem Sie semantisch ähnliche oder verwandte Daten speichern, indexieren und suchen 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 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:
Effiziente Rechtsforschung
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 KI-Infrastrukturen
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 Artikel Infrastruktur für eine RAG-fähige generative KI-Anwendung mit Vertex AI und AlloyDB for PostgreSQL.
Wenn Sie mithilfe der Open-Source-Tools und ‑Modelle Ray, Hugging Face und LangChain schnell RAG-fähige generative KI-Anwendungen erstellen und bereitstellen möchten, lesen Sie den Artikel Infrastruktur für eine RAG-fähige generative KI-Anwendung mit Google Kubernetes Engine (GKE).
Optionen für das Anwendungshosting
In der in diesem Dokument dargestellten Architektur ist Cloud Run der Host für die generativen KI-Anwendungsdienste und den Job zur Datenverarbeitung. Cloud Run ist eine vollständig verwaltete Anwendungsplattform, die auf Entwickler ausgerichtet ist. Wenn Sie mehr Konfigurationsflexibilität und Kontrolle über die Recheninfrastruktur benötigen, können Sie Ihre Anwendung in GKE-Clustern oder in Compute Engine-VMs bereitstellen.
Die Entscheidung, ob Cloud Run, GKE oder die 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 nur 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 Anwendungs-Hosting-Dienstes finden Sie in den folgenden Dokumenten:
- Ist meine Anwendung für Cloud Run geeignet?
- Verwaltete Containerlaufzeitumgebung auswählen
- Anwendungen auf Google Cloud hosten
Weitere Optionen
Informationen zu anderen Infrastrukturoptionen, unterstützten Modellen und Methoden zur Datengrundlage, 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 Drittanbieter-Produkten und ‑Features 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, um eine Topologie in Google Cloud zu entwerfen, 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 der LLMs einzuschrä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 bei Vertex AI. Datenschutz: Mit der Cloud Data Loss Prevention API können Sie sensible Daten wie personenidentifizierbare Informationen in Prompts, Antworten und Protokolldaten erkennen und de-identifizieren. Weitere Informationen finden Sie in diesem Video: Schutz sensibler Daten in KI-Apps. |
Cloud Run |
Eingangssicherheit (Frontend-Dienst): Wenn Sie den externen Zugriff auf die Anwendung steuern möchten, deaktivieren Sie die Standard-run.app-URL des Cloud Run-Frontend-Dienstes und richten Sie einen regionalen externen Application Load Balancer ein. Neben dem Load Balancing des eingehenden Traffics an die Anwendung übernimmt der Load Balancer die Verwaltung von SSL-Zertifikaten. Für zusätzlichen Schutz können Sie Google Cloud Armor-Sicherheitsrichtlinien verwenden, um Anfragen zu filtern, DDoS-Schutz bereitzustellen und die Ratenbegrenzung für den Dienst zu steuern.
Eingangssicherheit (Backenddienst): Der Cloud Run-Dienst für das Backend der Anwendung in dieser Architektur benötigt keinen Zugriff über das Internet. Damit nur interne Clients auf den Dienst zugreifen können, legen Sie den Parameter 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-Jobs und ‑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 Tipps zur Cloud Run-Entwicklung. |
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 bietet zwei Methoden, um den Nutzerzugriff auf Ihre Buckets und Objekte zu steuern: 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: Sie können mit VPC Service Controls einen Dienstperimeter erstellen, um das Risiko einer Daten-Exfiltration aus Cloud Storage zu verringern. Datenspeicherort: Cloud Storage unterstützt Sie dabei, die Anforderungen an den Datenstandort zu erfüllen. Die 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: Das Logging 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 mit ihnen API-Aufrufe oder andere Aktionen überwachen, die die Konfiguration oder Metadaten von Google Cloud Ressourcen ändern. Audit für den Datenzugriff: Das Logging von Ereignissen für den Datenzugriff 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:
Sicherheit von Protokolldaten: 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 der Daten-Exfiltration minimieren: Um das Risiko der Daten-Exfiltration zu verringern, erstellen Sie einen VPC Service Controls-Perimeter um die Infrastruktur herum. 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, mit denen Sie die Sicherheit Ihrer Cloud-Ressourcen weiter optimieren können. Prüfen Sie die Empfehlungen und wenden Sie sie gegebenenfalls auf Ihre Umgebung an. Weitere Informationen finden Sie unter Empfehlungen im Recommendation Hub finden. Zugriffssteuerung: Folgen Sie für jeden Cloud-Dienst dem Prinzip der geringsten Berechtigung. |
Allgemeine Informationen zur Sicherheit von KI- und ML-Implementierungen inGoogle Cloudfinden Sie in den folgenden Ressourcen:
- (Blog) Das Secure AI Framework von Google
- (Dokumentation) Perspektive der KI- und ML-Sicherheit im Google Cloud Architektur-Framework
- (Dokumentation) Geteilte Verantwortung bei Vertex AI
- (Whitepaper) Generative AI, Privacy, and Google Cloud
- (Video) Sensible Daten in KI-Apps schützen
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 |
Suchanfrage-Skalierung: Damit der Index für die Vektorsuche mit einer höheren Abfragelast umgehen kann, können Sie die automatische Skalierung für den Indexendpunkt konfigurieren. Wenn die Abfragelast zunimmt, wird die Anzahl der Knoten automatisch auf die von Ihnen angegebene maximale Anzahl 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, werden Cloud Run-Jobs weiterhin ausgeführt und es gehen keine Daten verloren. Wenn ein regionaler Ausfall auftritt, wird Cloud Run so lange nicht ausgeführt, bis Google den Ausfall behoben hat. Fehlerbehandlung: Einzelne Cloud Run-Jobs oder ‑Aufgaben können fehlschlagen. Zur Behebung solcher Fehler können Sie Aufgabenwiederholungen und Prüfpunktausführung verwenden. Weitere Informationen finden Sie unter Best Practices für Wiederholungsversuche und Prüfpunkte. |
Cloud Storage | Datenverfügbarkeit: Sie können Cloud Storage-Buckets an einem von drei Standorttypen erstellen: regional, biregional oder multiregional. In regionalen Buckets gespeicherte Daten werden synchron über mehrere Zonen innerhalb einer Region 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, kannst du die Rate der Veröffentlichungsanfragen begrenzen, indem du die Ablaufsteuerung in den Publisher-Einstellungen konfigurierst. 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ässigkeitsfeatures 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 gegebenenfalls auf Ihre Umgebung an. Weitere Informationen finden Sie unter Empfehlungen im Recommendation Hub finden. |
Zuverlässigkeitsprinzipien und -empfehlungen speziell für KI- und ML-Arbeitslasten finden Sie im Architektur-Framework unter KI und ML: 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, der Anzahl der 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 Compute-Knoten zu verbessern, auf denen der Index für die Vektorsuche bereitgestellt wird, können Sie das Autoscaling für den Indexendpunkt konfigurieren. Bei geringer Nachfrage wird die Anzahl der Knoten automatisch auf die von Ihnen angegebene Mindestanzahl reduziert. Weitere Informationen finden Sie unter Autoscaling aktivieren. |
Cloud Run |
Beim Erstellen von Cloud Run-Jobs und ‑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 Arbeitsspeicherlimit konfigurieren. Weitere Informationen finden Sie in der folgenden Dokumentation:
Wenn Sie die CPU- und Arbeitsspeicheranforderungen Ihrer Cloud Run-Jobs und ‑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. Wenn Sie beispielsweise die Speicherkosten steuern möchten, können Sie die Standardklasse auswählen und die Verwaltung des Objektlebenszyklus verwenden. So können Sie Objekte automatisch auf eine kostengünstigere Speicherklasse herabstufen oder basierend auf den von Ihnen festgelegten Bedingungen löschen. |
Cloud Logging |
So können Sie die Kosten für die Speicherung von Logs kontrollieren:
|
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 den Dienst Active Assist verwenden, um Empfehlungen zur weiteren Optimierung der Kosten Ihrer Cloud-Ressourcen zu erhalten. Prüfen Sie die Empfehlungen und wenden Sie sie gegebenenfalls auf Ihre Umgebung an. Weitere Informationen finden Sie unter Empfehlungen im Recommendation Hub finden. |
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 Architektur-Framework unter KI und ML: 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 |
Legen Sie beim Erstellen des Index die Shard-Größe, den Typ der Entfernungsmessung und die Anzahl der Einbettungen für jeden Blattknoten entsprechend 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 Index der Vektorsuche entsprechend Ihren Anforderungen an Abfrageleistung, Verfügbarkeit und Kosten.
Mit dem Parameter Ein aktueller Index trägt dazu bei, die Genauigkeit der generierten Antworten zu verbessern. Sie können Ihren Vektorsuchindex mithilfe von Batch- oder Streaming-Updates aktualisieren. Mit Streaming-Updates können Sie Abfragen nahezu in Echtzeit auf 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. Je nach Leistungsanforderungen können Sie das CPU-Limit und das Speicherlimit konfigurieren. Weitere Informationen erhalten Sie in dieser Dokumentation:
Um eine optimale Latenz auch nach einer Zeit ohne Traffic zu gewährleisten, können Sie eine Mindestanzahl von Instanzen konfigurieren. Wenn diese Instanzen inaktiv sind, werden die CPU und der Arbeitsspeicher, die den Instanzen zugewiesen sind, 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 den Dienst Active Assist verwenden, um Empfehlungen zur weiteren Optimierung der Leistung Ihrer Cloud-Ressourcen zu erhalten. Prüfen Sie die Empfehlungen und wenden Sie sie gegebenenfalls auf Ihre Umgebung an. Weitere Informationen finden Sie unter Empfehlungen im Recommendation Hub finden. |
Prinzipien und Empfehlungen zur Leistungsoptimierung, die speziell auf KI- und ML-Arbeitslasten ausgerichtet sind, finden Sie im Architektur-Framework unter KI und ML: Leistungsoptimierung.
Nächste Schritte
- Modelle und Infrastruktur für Ihre generative KI-Anwendung auswählen
- Infrastruktur für eine RAG-fähige generative KI-Anwendung mit Vertex AI und AlloyDB for PostgreSQL
- Infrastruktur für eine RAG-fähige generative KI-Anwendung mit GKE
- Eine Übersicht über architektonische Prinzipien und Empfehlungen, die speziell für KI- und ML-Arbeitslasten in Google Cloudgelten, finden Sie im Architektur-Framework unter KI und ML.
- Weitere Referenzarchitekturen, Diagramme und Best Practices finden Sie im Cloud-Architekturcenter.
Beitragende
Autor: Kumar Dhanagopal | Cross-product Solution Developer
Weitere Beitragende:
- Assaf Namer | Principal Cloud Security Architect
- Deepak Michael | Networking Specialist Customer Engineer
- Divam Anand | Leiter für Produktstrategie und -betrieb
- Eran Lewis | Leitender Produktmanager
- Jerome Simms | Director, Product Management
- Mark Schlagenhauf | Technical Writer, Netzwerk
- Nicholas McNamara | Principal für Produkt- und Vermarktungsstrategie
- Preston Holmes | Outbound Product Manager – App Acceleration
- Rob Edwards | Technology Practice Lead, DevOps
- Victor Moreno | Product Manager, Cloud Networking
- Wietse Venema | Developer Relations Engineer