Dieses Dokument enthält eine Referenzarchitektur, mit der Sie die Infrastruktur für eine auf generativer KI basierende Anwendung mit Retrieval-augmented Generation (RAG) mithilfe der Vektorsuche entwerfen können. Die Vektorsuche ist ein vollständig verwalteter Google Cloud Dienst, der eine optimierte Bereitstellungsinfrastruktur für den sehr umfangreichen Abgleich von Vektorähnlichkeiten bietet.
Die Zielgruppe dieses Dokuments sind Architekten, Entwickler und Administratoren von Anwendungen mit generativer KI. 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 bietet einen allgemeinen Überblick über die in diesem Dokument dargestellte Architektur:
Die Architektur im vorherigen Diagramm besteht aus zwei Untersystemen: 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 Einbettungen 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-Ablauf mit Anwendungsnutzern und leitet Abfragen an den Backend-Dienst weiter.
- Der Back-End-Dienst verwendet Vertex AI, um Abfrageeinbettungen zu generieren, eine Suche nach Vektorähnlichkeiten durchzuführen und Responsible AI-Sicherheitsfilter und Systemanweisungen anzuwenden.
Im folgenden Diagramm sehen Sie eine detaillierte Ansicht der Architektur:
In den folgenden Abschnitten wird der Datenfluss in den einzelnen Subsystemen des vorherigen Architekturdiagramms beschrieben.
Subsystem für die Datenaufnahme
Das Datenaufnahme-Subsystem nimmt Daten aus externen Quellen auf und bereitet die Daten für RAG vor. Im Folgenden sind die Schritte des Datenaufnahme- und -vorbereitungsvorgangs aufgeführt:
- Daten werden aus externen Quellen in einen Cloud Storage-Bucket hochgeladen. Bei den externen Quellen kann es sich um Anwendungen, Datenbanken oder Streamingdienste handeln.
- Beim Hochladen von Daten in Cloud Storage wird eine Nachricht in einem Pub/Sub-Thema veröffentlicht.
- Wenn das Pub/Sub-Thema eine Nachricht empfängt, wird eine Cloud Run-Funktion ausgelöst.
- Die Cloud Run-Funktion parst die Rohdaten, formatiert sie nach Bedarf und teilt sie in Blöcke auf.
- Die Funktion verwendet die Vertex AI Embeddings API, um Einbettungen der Blöcke mithilfe eines von Ihnen angegebenen Einbettungsmodells zu erstellen. Vertex AI unterstützt Text- und multimodale Einbettungsmodelle.
- Die Funktion erstellt dann einen Index für die Vektorsuche 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 mithilfe von Streamingaktualisierungen aktualisiert.
Wenn das Bereitstellungssubsystem Nutzeranfragen verarbeitet, verwendet es den Index der Vektorsuche für die Suche nach Vektorähnlichkeiten. Im nächsten Abschnitt wird der Bereitstellungsablauf beschrieben.
Subsystem für die Bereitstellung
Das Bereitstellungssubsystem verarbeitet den Abfrage-Antwort-Fluss zwischen der generativen KI-Anwendung und ihren Nutzern. Der Bereitstellungsablauf umfasst folgende Schritte:
- Ein Nutzer sendet eine Abfrage in natürlicher Sprache an einen Cloud Run-Dienst, der eine Front-End-Schnittstelle (z. B. einen Chatbot) für die Generative AI-Anwendung bereitstellt.
- Der Frontend-Dienst leitet die Nutzeranfrage an einen Cloud Run-Backend-Dienst weiter.
- Der Back-End-Dienst verarbeitet die Abfrage so:
- Konvertiert die Abfrage in Einbettungen, indem dasselbe Einbettungsmodell und dieselben Parameter verwendet werden, die das Datenaufnahmesubsystem zum Generieren von Einbettungen der aufgenommenen Daten verwendet.
- Ruft relevante Grunddaten ab, indem eine Vektorähnlichkeitssuche für die Abfrageeinbettungen im Index der Vektorsuche durchgeführt wird.
- Erstellt einen erweiterten Prompt, indem die ursprüngliche Abfrage mit den Fundierungsdaten kombiniert wird.
- Sendet den erweiterten Prompt an ein LLM, das in Vertex AI bereitgestellt ist.
- Das LLM generiert eine Antwort.
- Vertex AI wendet für jeden Prompt die von Ihnen konfigurierten Sicherheitsfilter für Responsible AI an und sendet dann die gefilterte Antwort und die KI-Sicherheitswerte an den Back-End-Dienst von Cloud Run.
- Die Anwendung sendet die Antwort über den Frontend-Dienst von Cloud Run an den Nutzer.
Sie können Logs der Abfrage-Antwort-Aktivität in Cloud Logging speichern und aufrufen und mithilfe von Cloud Monitoring logbasiertes Monitoring einrichten. Sie können die generierten Antworten auch zur Offlineanalyse in BigQuery laden.
Mit dem Vertex AI-Prompt-Optimierungstool können Sie Prompts in großem Umfang verbessern, sowohl bei der anfänglichen Erstellung von Prompts als auch bei der fortlaufenden Feinabstimmung von Prompts. Die Prompt-Optimierung wertet die Antwort Ihres Modells auf eine Reihe von Beispiel-Prompts aus, die ML-Entwickler bereitstellen. Die Ausgabe der Bewertung enthält die Antworten des Modells auf die Beispiel-Prompts, Punktzahlen für von den ML-Entwicklern angegebene Messwerte und eine Reihe optimierter Systemanweisungen, die Sie verwenden können.
Verwendete Produkte
Diese Referenzarchitektur verwendet die folgenden Google Cloud Produkte:
- 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 zum 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-Funktionen: Eine serverlose Ausführungsumgebung zum Erstellen und Verbinden von Cloud-Diensten.
- 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 aus Gründen der Redundanz standortübergreifend 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 Ausgabe zu verbessern, die von einem LLM generiert wird. 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 AI-Anwendung in Google Cloudin Betracht ziehen können.
Alternativen zur 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 Infrastruktur für eine RAG-fähige Generative AI-Anwendung mit Vertex AI und AlloyDB for PostgreSQL.
Wenn Sie RAG-fähige Generative AI-Anwendungen mithilfe der Open-Source-Tools und -Modelle Ray, Hugging Face und LangChain schnell erstellen und bereitstellen möchten, lesen Sie Infrastruktur für eine RAG-fähige Generative AI-Anwendung mit Google Kubernetes Engine (GKE).
Optionen für das Anwendungshosting
In der in diesem Dokument gezeigten Architektur ist Cloud Run der Host für die auf generativer KI basierende Anwendung und Datenverarbeitung. Cloud Run ist eine entwicklerorientierte, vollständig verwaltete Anwendungsplattform. Wenn Sie mehr Flexibilität bei der Konfiguration und Kontrolle über die Computing-Infrastruktur benötigen, können Sie Ihre Anwendung in GKE-Clustern oder auf Compute Engine-VMs bereitstellen.
Bei der Entscheidung, ob Sie Cloud Run, GKE oder Compute Engine als Anwendungshost verwenden möchten, müssen Sie Kompromisse zwischen Flexibilität bei der Konfiguration und Verwaltungsaufwand eingehen. Mit der serverlosen Cloud Run-Option stellen Sie Ihre Anwendung in einer vorkonfigurierten Umgebung bereit, die nur minimalen Verwaltungsaufwand erfordert. Mit Compute Engine-VMs und GKE-Containern sind Sie für die Verwaltung der zugrunde liegenden Rechenressourcen verantwortlich, bieten aber mehr Flexibilität und Kontrolle bei der Konfiguration. Weitere Informationen zur Auswahl eines geeigneten Hostingdienstes für Anwendungen finden Sie in den folgenden Dokumenten:
- Ist meine Anwendung für Cloud Run geeignet?
- Laufzeitumgebung eines verwalteten Containers auswählen
- Anwendungen auf Google Cloud hosten
Weitere Optionen
Informationen zu anderen Infrastrukturoptionen, unterstützten Modellen und Fundierungstechniken, die Sie für Generative AI-Anwendungen inGoogle Cloudverwenden können, finden Sie unter Modelle und Infrastruktur für Ihre Generative AI-Anwendung auswählen.
Designaspekte
In diesem Abschnitt werden Designfaktoren, Best Practices und Designempfehlungen beschrieben, die Sie berücksichtigen sollten, wenn Sie diese Referenzarchitektur zur Entwicklung einer Topologie verwenden, die Ihren spezifischen Anforderungen an Sicherheit, Zuverlässigkeit, Kosten und Leistung entspricht.
Die Anleitung in diesem Abschnitt ist nicht vollständig. Abhängig von den spezifischen Anforderungen Ihrer Anwendung und der Google Cloud sowie den verwendeten Produkten und Funktionen von Drittanbietern gibt es möglicherweise weitere Designfaktoren und Vor- und Nachteile, die Sie berücksichtigen sollten.
Sicherheit, Compliance und Datenschutz
In diesem Abschnitt werden Designüberlegungen und Empfehlungen zum Entwerfen einer Topologie in Google Cloud beschrieben, die den Sicherheits- und Complianceanforderungen Ihrer Arbeitslasten entspricht.
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 Zugriffstransparenz 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 die Typen und Versionen von LLMs einzuschränken, die in einem Google Cloud -Projekt verwendet werden können. Weitere Informationen finden Sie unter Zugriff auf Model Garden-Modelle steuern. Geteilte Verantwortung: Vertex AI schützt 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 Vertex AI – Geteilte Verantwortung. Datenschutz: Verwenden Sie die Cloud Data Loss Prevention API, um sensible Daten wie personenidentifizierbare Informationen in den Prompts und Antworten sowie in den Logdaten zu ermitteln und zu de-identifizieren. Weitere Informationen finden Sie in diesem Video: Protecting sensitive data in AI apps (Sensible Daten in KI-Anwendungen schützen). |
Cloud Run |
Ingress-Sicherheit (Front-End-Dienst): Um den externen Zugriff auf die Anwendung zu steuern, deaktivieren Sie die standardmäßige run.app-URL des Cloud Run-Front-End-Dienstes und richten Sie einen regionalen externen Application Load Balancer ein. Neben dem Load-Balancing für eingehenden Traffic zur Anwendung übernimmt der Load-Balancer auch die Verwaltung von SSL-Zertifikaten. Für zusätzlichen Schutz können Sie mithilfe von Google Cloud Armor-Sicherheitsrichtlinien Anfragefilter, DDoS-Schutz und Ratenbegrenzung für den Dienst bereitstellen.
Ingress-Sicherheit (Back-End-Dienst): Der Cloud Run-Dienst für das Back-End der Anwendung in dieser Architektur benötigt keinen Zugriff über das Internet. Legen Sie den Parameter Datenverschlüsselung: Standardmäßig verschlüsselt Cloud Run Daten mithilfe einer 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: Mit der Binärautorisierung können Sie dafür sorgen, dass nur autorisierte Container-Images in den Cloud Run-Diensten bereitgestellt werden. Datenstandort: Mit Cloud Run können Sie die Anforderungen an den Datenstandort erfüllen. Cloud Run-Containerinstanzen werden in der von Ihnen ausgewählten Region ausgeführt. Weitere Hinweise 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 über eine externe 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 zur Steuerung 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 gewähren können. Weitere Informationen finden Sie unter Übersicht über die Zugriffssteuerung. Datenschutz: Die Daten, die Sie über Cloud Storage in das Datenaufnahmesubsystem laden, können sensible Daten enthalten. Zum Schutz dieser Daten können Sie Sensitive Data Protection verwenden, um die Daten zu ermitteln, zu klassifizieren und zu de-identifizieren. Weitere Informationen finden Sie unter Schutz sensibler Daten mit Cloud Storage verwenden. Netzwerkkontrolle: Sie können mit VPC Service Controls einen Dienstperimeter erstellen, um das Risiko der Daten-Exfiltration aus Cloud Storage zu verringern. Datenstandort: Mit Cloud Storage können Sie die Anforderungen an den Datenstandort 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 die Speicherung von Nachrichten konfigurieren, um sicherzustellen, dass Nachrichtendaten an bestimmten Standorten gespeichert werden. |
Cloud Logging |
Audit der Administratoraktivität: Das Logging von Verwaltungsaktivitä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 beobachten, die die Konfiguration oder Metadaten von Google Cloud -Ressourcen ändern. Datenzugriffsprüfung: Das Logging 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:
Sicherheit von Logdaten: Google greift nicht auf die Daten in Cloud Logging zu und verwendet sie auch nicht. Datenstandort: Um die Anforderungen an den Datenstandort zu erfüllen, 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. 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, verwenden Sie den Active Assist-Dienst, um Empfehlungen zu erhalten, mit denen Sie die Sicherheit Ihrer Cloud-Ressourcen weiter optimieren können. Prüfen Sie die Empfehlungen und wenden Sie sie bei Bedarf für Ihre Umgebung an. Weitere Informationen finden Sie unter Empfehlungen im Empfehlungs-Hub suchen. Zugriffssteuerung: Folgen Sie dem Prinzip der geringsten Berechtigung für jeden Cloud-Dienst. |
Allgemeine Hinweise zur Sicherheit für KI- und ML-Bereitstellungen inGoogle Cloudfinden Sie in den folgenden Ressourcen:
- (Blog) Introducing Google's Secure AI Framework
- (Dokumentation) KI- und ML-Sicherheitsperspektive im Google Cloud Well-Architected Framework
- (Dokumentation) Vertex AI Shared Verantwortung
- (Whitepaper) Generative AI, Privacy Google Cloud
- (Video) Schutz sensibler Daten in KI-Apps
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 |
Abfrageskalierung: Damit der Index der Vektorsuche höhere Abfragelasten bewältigen kann, können Sie Autoscaling für den Indexendpunkt konfigurieren. Wenn die Abfragelast zunimmt, wird die Anzahl der Knoten automatisch bis zu dem 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. Bei einem Zonenausfall wird Cloud Run weiter ausgeführt und es gehen keine Daten verloren. Wenn ein Regionsausfall auftritt, wird die Ausführung von Cloud Run gestoppt, 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 in Zeiträumen mit vorübergehenden Spitzen im Nachrichtenverkehr zu vermeiden, kannst du die Rate der Veröffentlichungsanfragen begrenzen, indem du die Ablaufsteuerung in den Publisher-Einstellungen konfigurierst. Fehlerbehandlung: Passen Sie zum Verarbeiten fehlgeschlagener Veröffentlichungsversuche die Variablen für Wiederholungsanfragen nach Bedarf an. 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 verstehen. |
Alle Produkte in der Architektur | Optimierung nach der Bereitstellung: Nachdem Sie Ihre Anwendung in Google Cloudbereitgestellt haben, verwenden Sie den Active Assist-Dienst, um Empfehlungen zur weiteren Optimierung der Zuverlässigkeit Ihrer Cloud-Ressourcen zu erhalten. Prüfen Sie die Empfehlungen und wenden Sie sie bei Bedarf für Ihre Umgebung an. Weitere Informationen finden Sie unter Empfehlungen im Empfehlungs-Hub suchen. |
Informationen zu Zuverlässigkeitsprinzipien und Empfehlungen, die speziell für KI- und ML-Arbeitslasten gelten, finden Sie im Well-Architected Framework unter AI and MLPerspective: Reliability.
Kostenoptimierung
Dieser Abschnitt enthält eine Anleitung zur Optimierung der Kosten für das Einrichten und Betreiben einer Google Cloud Topologie, die Sie mit dieser Referenzarchitektur erstellen.
Produkt | Designüberlegungen und Empfehlungen |
---|---|
Vektorsuche |
Die Kosten für die Vektorsuche hängen von der Größe Ihres Index, der Anzahl der Abfragen pro Sekunde (Queries per Second, QPS) sowie der Anzahl und dem Maschinentyp der Knoten ab, die Sie für den Indexendpunkt verwenden. Bei Arbeitslasten mit vielen Abfragen pro Sekunde kann die Batchverarbeitung der Abfragen zur Kostensenkung beitragen. Weitere Informationen dazu, wie Sie die Kosten für die Vektorsuche schätzen können, finden Sie unter Preisbeispiele für die Vektorsuche. Sie können Autoscaling für den Indexendpunkt konfigurieren, um die Auslastung der Rechenknoten zu verbessern, auf denen der Index der Vektorsuche bereitgestellt wird. Bei geringer Nachfrage wird die Anzahl der Knoten automatisch auf das von Ihnen festgelegte Minimum reduziert. Weitere Informationen finden Sie unter Autoscaling aktivieren. |
Cloud Run |
Wenn Sie Cloud Run-Dienste erstellen, geben Sie die Größe des Arbeitsspeichers und die CPU-Leistung an, die der Containerinstanz zugewiesen werden sollen. Beginnen Sie zur Kostenkontrolle mit den standardmäßigen (minimalen) CPU- und Arbeitsspeicherzuweisungen. 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-Dienste vorhersagen können, können Sie durch Rabatte für zugesicherte Nutzung Geld sparen. Weitere Informationen finden Sie unter Cloud Run-Rabatte für zugesicherte Nutzung. |
Cloud Storage | Wählen Sie für den Cloud Storage-Bucket, mit dem Sie Daten in das Subsystem der Datenaufnahme laden, eine geeignete Speicherklasse aus. Berücksichtigen Sie bei der Auswahl der Speicherklasse die Anforderungen Ihrer Arbeitslasten an die Datenaufbewahrung und die Zugriffshäufigkeit. Zur Kontrolle der Speicherkosten können Sie beispielsweise die Standardklasse auswählen und die Verwaltung des Objektlebenszyklus verwenden. Dadurch wird das automatische Downgrade von Objekten auf eine kostengünstigere Speicherklasse oder das Löschen von Objekten basierend auf von Ihnen festgelegten Bedingungen ermöglicht. |
Cloud Logging |
So können Sie die Kosten für die Speicherung von Logs kontrollieren:
|
BigQuery | Mit BigQuery können Sie die Kosten von Abfragen vor der Ausführung schätzen. 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 Active Assist-Dienst Empfehlungen zur weiteren Optimierung der Kosten Ihrer Cloud-Ressourcen erhalten. Prüfen Sie die Empfehlungen und wenden Sie sie bei Bedarf für Ihre Umgebung an. Weitere Informationen finden Sie unter Empfehlungen im Empfehlungs-Hub suchen. |
Mit dem Google Cloud Preisrechner können Sie die Kosten für Ihre Google Cloud -Ressourcen schätzen.
Prinzipien und Empfehlungen zur Kostenoptimierung, die speziell für KI- und ML-Arbeitslasten gelten, 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 den Leistungsanforderungen Ihrer Arbeitslasten entspricht.
Produkt | Designüberlegungen und Empfehlungen |
---|---|
Vektorsuche |
Legen Sie beim Erstellen des Index die Shard-Größe, den Distanzmessungstyp und die Anzahl der Einbettungen für jeden Blattknoten gemäß Ihren Leistungsanforderungen fest. Wenn Ihre Anwendung beispielsweise äußerst empfindlich auf Latenzschwankungen reagiert, empfehlen wir eine große Shard-Größe. Weitere Informationen finden Sie unter Konfigurationsparameter, die sich auf die Leistung auswirken. Berücksichtigen Sie beim Konfigurieren der Rechenkapazität der Knoten, auf denen der Index der Vektorsuche 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 anhand Ihrer Anforderungen an Abfrageleistung, Verfügbarkeit und Kosten.
Der 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-Aktualisierungen aktualisieren. Mithilfe von Streamingupdates können Sie Aktualisierungen nahezu in Echtzeit abfragen. 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 Arbeitsspeicherlimit konfigurieren. Weitere Informationen erhalten Sie in dieser Dokumentation: Sie können eine Mindestanzahl von Instanzen konfigurieren, um eine optimale Latenz auch nach einem Zeitraum ohne Traffic zu gewährleisten. Wenn solche Instanzen inaktiv sind, werden die den Instanzen zugewiesenen CPU- und Arbeitsspeicherressourcen zu einem niedrigeren Preis in Rechnung gestellt. Weitere Informationen zur Leistungsoptimierung finden Sie unter Allgemeine Tipps zur Cloud Run-Entwicklung. |
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 aufgeteilt. Die Blöcke werden parallel in Cloud Storage hochgeladen und dann werden die Daten in die Cloud neu zusammengesetzt. Wenn Netzwerkbandbreite und Laufwerksgeschwindigkeit keine Faktoren sind, 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 ein Diagramm zur Abfrageausführung, mit dem Sie die Abfrageleistung analysieren und Leistungsstatistiken für Probleme wie Slotkonflikte und unzureichendes Shuffle-Kontingent 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 Abfrageberechnung 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 bei Bedarf für Ihre Umgebung an. Weitere Informationen finden Sie unter Empfehlungen im Empfehlungs-Hub suchen. |
Prinzipien und Empfehlungen zur Leistungsoptimierung, die speziell für KI- und ML-Arbeitslasten gelten, finden Sie im Well-Architected Framework unter KI- und ML-Perspektive: Leistungsoptimierung.
Bereitstellung
Zum Bereitstellen einer Topologie, die auf dieser Referenzarchitektur basiert, können Sie die Terraform-Beispielkonfiguration herunterladen und verwenden, die in einem Repository in GitHub verfügbar ist. Folgen Sie der Anleitung in der README-Datei im Repository. Der Beispielcode ist nicht für Anwendungsfälle in der Produktion vorgesehen.
Nächste Schritte
- Modelle und Infrastruktur für Ihre Generative AI-Anwendung auswählen
- Infrastruktur für eine RAG-fähige Generative AI-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 Well-Architected 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 | Product Strategy and Operations Lead
- Eran Lewis | Leitender Produktmanager
- Jerome Simms | Director, Product Management
- Katie McLaughlin | Senior Developer Relations Engineer
- Mark Schlagenhauf | Technical Writer, Netzwerk
- Megan O'Keefe | Head of Industry Compete, Cloud Platform Evaluations Team
- Nicholas McNamara | Product and Commercialization Strategy Principal
- Preston Holmes | Outbound Product Manager – App Acceleration
- Rob Edwards | Technology Practice Lead, DevOps
- Victor Moreno | Product Manager, Cloud Networking
- Wietse Venema | Developer Relations Engineer