In diesem Dokument wird eine Referenzarchitektur vorgestellt, mit der Sie die Infrastruktur für GraphRAG-Anwendungen mit generativer KI in Google Cloudentwerfen können. Die Zielgruppe umfasst Architekten, Entwickler und Administratoren, die intelligente Systeme zum Informationsabruf erstellen und verwalten. In diesem Dokument werden grundlegende Kenntnisse der Konzepte von KI, Graphdatenmanagement und Knowledge Graph vorausgesetzt. Dieses Dokument enthält keine spezifischen Anleitungen zum Entwerfen und Entwickeln von GraphRAG-Anwendungen.
GraphRAG ist ein graphbasierter Ansatz für Retrieval-Augmented Generation (RAG). RAG trägt dazu bei, KI-generierte Antworten zu fundieren, indem Prompts mit kontextrelevanten Daten ergänzt werden, die mithilfe der Vektorsuche abgerufen werden. GraphRAG kombiniert die Vektorsuche mit einer Knowledge Graph-Abfrage, um Kontextdaten abzurufen, die die Verknüpfung von Daten aus verschiedenen Quellen besser widerspiegeln. Prompts, die mit GraphRAG erweitert werden, können detailliertere und relevantere KI-Antworten generieren.
Architektur
Das folgende Diagramm zeigt eine Architektur für eine GraphRAG-fähige generative KI-Anwendung in Google Cloud:
Die Architektur im vorherigen Diagramm besteht aus zwei Subsystemen: Datenaufnahme und Bereitstellung. In den folgenden Abschnitten werden der Zweck der Subsysteme und der Datenfluss innerhalb und zwischen den Subsystemen beschrieben.
Subsystem für die Datenaufnahme
Das Subsystem für die Datenaufnahme nimmt Daten aus externen Quellen auf und bereitet sie dann für GraphRAG vor. Der Ablauf für die Datenaufnahme und -vorbereitung umfasst die folgenden Schritte:
- Daten werden in einen Cloud Storage-Bucket aufgenommen. Diese Daten können von einem Datenanalysten hochgeladen, aus einer Datenbank aufgenommen oder von einer beliebigen Quelle gestreamt werden.
- Wenn Daten aufgenommen werden, wird eine Nachricht an ein Pub/Sub-Thema gesendet.
- Pub/Sub löst eine Cloud Run-Funktion aus, um die hochgeladenen Daten zu verarbeiten.
- Die Cloud Run-Funktion erstellt mithilfe der Gemini API und Tools wie
LLMGraphTransformervon LangChain einen Knowledge Graph aus den Eingabedateien. - Die Funktion speichert den Knowledge Graph in einer Spanner Graph-Datenbank.
- Die Funktion segmentiert den Textinhalt der Datendateien mithilfe von Tools wie
RecursiveCharacterTextSplittervon LangChain oder dem Layout Parser von Document AI in detaillierte Einheiten. - Die Funktion erstellt Vektoreinbettungen der Textsegmente mithilfe der Gemini Enterprise Agent Platform Embeddings APIs.
- Die Funktion speichert die Vektoreinbettungen und die zugehörigen Graphknoten in Spanner Graph.
Die Vektoreinbettungen dienen als Grundlage für den semantischen Abruf. Die Knowledge Graph-Knoten ermöglichen das Durchlaufen und Analysieren komplexer Datenbeziehungen und -muster.
Subsystem für die Bereitstellung
Das Subsystem für die Bereitstellung verwaltet den Anfrage-Antwort-Lebenszyklus zwischen der generativen KI-Anwendung und ihren Nutzern. Der Bereitstellungsablauf umfasst die folgenden Schritte:
- Ein Nutzer sendet eine Anfrage in natürlicher Sprache an einen KI-Agenten, der in der Agent Runtime on Gemini Enterprise Agent Platform bereitgestellt ist.
- Der Agent verarbeitet die Anfrage so:
- Die Abfrage wird mithilfe der Agent Platform Embeddings APIs in Vektoreinbettungen konvertiert.
- Ruft Diagrammknoten ab, die mit der Abfrage zusammenhängen, indem eine Vektorähnlichkeitssuche in der Einbettungsdatenbank durchgeführt wird.
- Ruft Daten ab, die sich auf die Abfrage beziehen, indem der Knowledge Graph durchlaufen wird.
- Ergänzt den Prompt, indem die ursprüngliche Abfrage mit den abgerufenen Diagrammdaten kombiniert wird.
- Verwendet die Agent Search Ranking API, um die Ergebnisse zu bewerten, die aus Knoten und Kanten bestehen, die aus der Graphdatenbank abgerufen werden. Das Ranking basiert auf der semantischen Relevanz für die Abfrage.
- Fasst die Ergebnisse durch Aufrufen der Gemini API zusammen.
- Der Agent sendet das zusammengefasste Ergebnis dann an den Nutzer.
Sie können Aktivitätslogs zu Anfrageantworten in Cloud Logging speichern und ansehen und mit Cloud Monitoring ein logbasiertes Monitoring einrichten.
Verwendete Produkte
In dieser Referenzarchitektur werden die folgenden Google-Produkte und -Tools verwendet:
- Spanner Graph: Eine Graphdatenbank, die die Skalierbarkeits-, Verfügbarkeits- und Konsistenzfunktionen von Spanner bietet.
- Gemini Enterprise Agent Platform: Eine umfassende Plattform, mit der Sie KI-Agenten auf Unternehmensniveau erstellen, skalieren, verwalten und optimieren können.
- Cloud Run-Funktionen: Eine serverlose Computing-Plattform, mit der Sie zweckgebundene Funktionen 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.
Anwendungsfälle
GraphRAG ermöglicht den intelligenten Datenabruf für Anwendungsfälle in verschiedenen Branchen. In diesem Abschnitt werden einige Anwendungsfälle im Gesundheitswesen, im Finanzwesen, in Rechtsdienstleistungen und in der Fertigung beschrieben.
Gesundheit und Arzneimittel: Klinische Entscheidungsunterstützung
In klinischen Entscheidungshilfesystemen integriert GraphRAG große Datenmengen aus medizinischer Literatur, elektronischen Patienten-Gesundheitsdaten, Datenbanken zu Arzneimittelwechselwirkungen und Ergebnissen klinischer Studien in einen einheitlichen Knowledge Graph. Wenn Ärzte und Forscher die Symptome und aktuellen Medikamente eines Patienten abfragen, durchsucht GraphRAG den Knowledge Graph, um relevante Erkrankungen und potenzielle Arzneimittelinteraktionen zu identifizieren. Außerdem können personalisierte Behandlungsempfehlungen auf der Grundlage anderer Daten wie dem genetischen Profil des Patienten generiert werden. Diese Art des Informationsabrufs liefert Antworten, die kontextbezogener und evidenzbasierter sind als der Keyword-Abgleich.
Finanzdienstleistungen: Finanzdaten vereinheitlichen
Finanzdienstleistungsunternehmen verwenden Knowledge Graphs, um ihren Analysten eine einheitliche, strukturierte Ansicht von Daten aus unterschiedlichen Quellen wie Analystenberichten, Ergebniskonferenzen und Risikobewertungen zu bieten. Knowledge Graphs identifizieren wichtige Datenentitäten wie Unternehmen und Führungskräfte und bilden die entscheidenden Beziehungen zwischen den Entitäten ab. Dieser Ansatz bietet ein umfangreiches, vernetztes Datennetz, das tiefere und effizientere Finanzanalysen ermöglicht. Analysten können bisher verborgene Erkenntnisse gewinnen, z. B. komplexe Abhängigkeiten in der Lieferkette, sich überschneidende Vorstandsmitgliedschaften bei Mitbewerbern und die Anfälligkeit für komplexe geopolitische Risiken.
Rechtsdienstleistungen: Fallrecherche und Analyse von Präzedenzfällen
Im Rechtsbereich kann GraphRAG verwendet werden, um personalisierte rechtliche Empfehlungen auf der Grundlage von Präzedenzfällen, Gesetzen, Rechtsprechung, regulatorischen Aktualisierungen und internen Dokumenten zu generieren. Wenn sich Anwälte auf Fälle vorbereiten, können sie differenzierte Fragen zu bestimmten rechtlichen Argumenten, früheren Urteilen in ähnlichen Fällen oder den Auswirkungen neuer Gesetze stellen. GraphRAG nutzt die Verknüpfung des verfügbaren juristischen Wissens, um relevante Präzedenzfälle zu identifizieren und ihre Anwendbarkeit zu erklären. Es kann auch Gegenargumente vorschlagen, indem es die Beziehungen zwischen Rechtskonzepten, Gesetzen und gerichtlichen Auslegungen nachvollzieht. Mit diesem Ansatz können Juristen gründlichere und präzisere Einblicke gewinnen als mit herkömmlichen Methoden zur Informationsbeschaffung.
Fertigung und Lieferkette: Institutionelles Wissen erschließen
Fertigungs- und Lieferkettenabläufe erfordern ein hohes Maß an Präzision. Das Wissen, das erforderlich ist, um die erforderliche Präzision aufrechtzuerhalten, ist oft in Tausenden von dichten, statischen Standardarbeitsverfahren (SOP) vergraben. Wenn eine Produktionslinie oder Maschine in einer Fabrik ausfällt oder ein logistisches Problem auftritt, verschwenden Ingenieure und Techniker oft wertvolle Zeit damit, in unverbundenen PDF-Dokumenten nach Informationen zu suchen, um das Problem zu diagnostizieren und zu beheben. Knowledge Graphs und konversationelle KI können kombiniert werden, um verborgenes institutionelles Wissen in einen interaktiven Diagnosepartner zu verwandeln.
Designalternativen
Die in diesem Dokument beschriebene Architektur ist modular. Sie können bestimmte Komponenten der Architektur anpassen, um je nach Ihren Anforderungen alternative Produkte, Tools und Technologien zu verwenden.
Knowledge Graph erstellen
Mit dem LLMGraphTransformer-Tool von LangChain können Sie einen Knowledge Graph von Grund auf erstellen. Wenn Sie das Graphschema mit LLMGraphTransformer-Parametern wie allowed_nodes, allowed_relationships, node_properties und relationship_properties angeben, können Sie die Qualität des resultierenden Knowledge Graph verbessern. LLMGraphTransformer extrahiert jedoch möglicherweise Entitäten aus generischen Domains und ist daher möglicherweise nicht für Nischendomains wie das Gesundheitswesen oder die Pharmaindustrie geeignet. Wenn Ihre Organisation bereits einen robusten Prozess zum Erstellen von Knowledge Graphs hat, ist das in dieser Referenzarchitektur gezeigte Subsystem für die Datenaufnahme optional.
Speichern des Knowledge Graph und der Vektoreinbettungen
In der Architektur in diesem Dokument wird Spanner als Datenspeicher für den Knowledge Graph und die Vektoreinbettungen verwendet. Wenn Ihre Enterprise Knowledge Graphs bereits an anderer Stelle vorhanden sind (z. B. auf einer Plattform wie Neo4j), können Sie eine Vektordatenbank für die Einbettungen verwenden. Dieser Ansatz erfordert jedoch zusätzlichen Verwaltungsaufwand und kann mehr kosten. Spanner bietet einen konsolidierten, global konsistenten Datenspeicher für Graphstrukturen und Vektoreinbettungen. Ein solcher Datenspeicher ermöglicht eine einheitliche Datenverwaltung, die zur Optimierung von Kosten, Leistung, Sicherheits-Governance und betrieblicher Effizienz beiträgt.
Agent Runtime
In dieser Referenzarchitektur wird der Agent in der Agent Runtime bereitgestellt, die eine verwaltete Laufzeit für KI-Agenten bietet. Weitere Optionen, die Sie in Betracht ziehen können, sind Cloud Run und die Google Kubernetes Engine (GKE). Eine Erläuterung dieser Optionen wird in diesem Dokument nicht behandelt.
Fundierung mit RAG
Wie im Abschnitt Anwendungsfälle beschrieben, ermöglicht GraphRAG in vielen Szenarien einen intelligenten Datenabruf für die Fundierung. Wenn die Quelldaten, die Sie zum Erweitern von Prompts verwenden, jedoch keine komplexen Beziehungen aufweisen, ist RAG möglicherweise eine geeignete Wahl für Ihre generative KI-Anwendung.
Die folgenden Referenzarchitekturen zeigen, wie Sie die für RAG in Google Cloud erforderliche Infrastruktur mithilfe von vektoraktivierten verwalteten Datenbanken oder spezialisierten Vektorsuchprodukten erstellen können:
- RAG-Infrastruktur für generative KI mit Agent Platform und Vektorsuche
- RAG-Infrastruktur für generative KI mit Agent Platform und AlloyDB for PostgreSQL
- RAG-Infrastruktur für generative KI mit GKE und Cloud SQL
- RAG-Infrastruktur für generative KI mit Gemini Enterprise und Agent Platform
Designaspekte
In diesem Abschnitt werden Designfaktoren, Best Practices und Empfehlungen 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 Anforderungen Ihrer Arbeitslast 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, Datenschutz und Compliance
In diesem Abschnitt werden Überlegungen und Empfehlungen zum Entwerfen einer Topologie in Google Cloud beschrieben, die die Sicherheits- und Compliance-Anforderungen Ihrer Arbeitslast erfüllt.
Sicherheitsaspekte der Agent Platform
Damit Ihre Agent Platform-Konfigurationen und -Nutzung Ihren Sicherheitsanforderungen entsprechen, sollten Sie die folgenden Empfehlungen beachten:
Sicherheitskontrollen: Die Agent Platform unterstützt Sicherheitskontrollen von Google Cloud , mit denen Sie Ihre Anforderungen an Datenstandort, Datenverschlüsselung, Netzwerksicherheit und Access Transparency erfüllen können. Weitere Informationen erhalten Sie in dieser Dokumentation:
Sicherheit: Generative KI-Modelle können schädliche Antworten erzeugen, insbesondere wenn sie explizit dazu aufgefordert werden. Um die Sicherheit zu erhöhen und potenziellen Missbrauch zu minimieren, können Sie Inhaltsfilter konfigurieren, die als Barrieren für schädliche Antworten dienen. Weitere Informationen finden Sie unter Sicherheits- und Inhaltsfilter.
Datenverschlüsselung in Spanner Graph
Standardmäßig werden in Spanner Graph gespeicherte Daten mit Google-owned and Google-managed encryption keysverschlüsselt. Wenn Sie Verschlüsselungsschlüssel verwenden müssen, die Sie selbst steuern und verwalten, können Sie dazu kundenverwaltete Verschlüsselungsschlüssel (CMEKs) verwenden. Weitere Informationen finden Sie unter Informationen zu CMEK.
Sicherheitsaspekte für Cloud Run Functions
Damit Ihre Cloud Run Functions-Implementierung Ihren Sicherheitsanforderungen entspricht, sollten Sie die folgenden Empfehlungen beachten:
- Datenverschlüsselung: Standardmäßig verschlüsselt Cloud Run Daten mit Google-owned and Google-managed encryption keys. Zum Schutz Ihrer Container mit von Ihnen kontrollierten Schlüsseln können Sie CMEKs verwenden. Weitere Informationen finden Sie unter Kundenverwaltete Verschlüsselungsschlüssel verwenden.
- Sicherheit von Container-Images: Damit nur autorisierte Container-Images in Cloud Run bereitgestellt werden, können Sie die Binärautorisierung verwenden.
- Datenstandort: Cloud Run unterstützt Sie dabei, die Anforderungen an den Datenstandort zu erfüllen. Ihre Cloud Run Functions-Funktionen werden in der ausgewählten Region ausgeführt.
Sicherheitsaspekte für Cloud Storage
Beachten Sie die folgenden Empfehlungen, damit Ihre Cloud Storage-Konfiguration Ihren Sicherheitsanforderungen entspricht:
- Datenverschlüsselung: Standardmäßig werden die in Cloud Storage gespeicherten Daten mitGoogle-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 Ihnen zwei Systeme, um Nutzern die Berechtigung zum Zugriff auf Ihre Buckets und Objekte zu erteilen: 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 Übersicht über die Zugriffssteuerung.
- Datenschutz: Die Daten, die Sie über Cloud Storage in das Datenaufnahmesubsystem laden, können sensible Daten enthalten. Mit Sensitive Data Protection können Sie sensible Daten ermitteln, klassifizieren und de-identifizieren. Weitere Informationen finden Sie unter Sensitive Data Protection mit Cloud Storage verwenden.
- Datenstandort: Cloud Storage unterstützt Sie dabei, die Anforderungen an den Datenstandort zu erfüllen. Die Daten werden in der von Ihnen angegebenen Region gespeichert oder repliziert.
Pub/Sub-Sicherheitsaspekte
Beachten Sie die folgenden Empfehlungen, damit Ihre Pub/Sub-Konfiguration Ihren Sicherheitsanforderungen entspricht:
- Datenverschlüsselung: Standardmäßig verschlüsselt Pub/Sub alle Nachrichten, sowohl im inaktiven Zustand als auch bei der Übertragung, mitGoogle-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.
Sicherheitsaspekte für Cloud Logging
Damit Ihre Cloud Logging-Konfiguration Ihren Sicherheitsanforderungen entspricht, sollten Sie die folgenden Designfaktoren und Empfehlungen berücksichtigen:
- Audit der Administratoraktivität: Audit-Logs zur Administratoraktivität sind standardmäßig für alle Google Cloud -Dienste aktiviert, die in dieser Referenzarchitektur verwendet werden. In diesen Logs werden API-Aufrufe oder andere Aktionen aufgezeichnet, die die Konfiguration oder Metadaten von Google Cloud -Ressourcen ändern.
- Audit-Logs zum Datenzugriff: Für die Google Cloud -Dienste, die in dieser Architektur verwendet werden, können Sie Audit-Logs zum Datenzugriff aktivieren. Mit diesen Logs können Sie API-Aufrufe verfolgen, die die Konfiguration oder Metadaten von Ressourcen oder Nutzeranfragen zum Erstellen, Ändern oder Lesen der von Nutzern bereitgestellten Ressourcendaten lesen.
- 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.
Sicherheitsgrundsätze und Empfehlungen speziell für KI- und ML-Arbeitslasten finden Sie im Google Cloud Well-Architected Framework unter KI- und ML-Perspektive: Sicherheit.
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.
Agent Platform-Kapazität und Endpunktverfügbarkeit
Wenn die Anzahl Ihrer Anfragen die zugewiesene Kapazität überschreitet, wird der Fehlercode 429 zurückgegeben. Für geschäftskritische Arbeitslasten, die durchgängig einen hohen Durchsatz erfordern, können Sie mit Bereitgestellter Durchsatz Durchsatz reservieren. Wenn Daten über mehrere Regionen oder Länder hinweg freigegeben werden können, können Sie einen globalen Endpunkt verwenden.
Spanner Graph-Datenverfügbarkeit und Notfallwiederherstellung
Spanner ist auf hohe Datenverfügbarkeit und globale Skalierbarkeit ausgelegt. Um die Verfügbarkeit auch bei einem regionalen Ausfall zu gewährleisten, bietet Spanner multiregionale Konfigurationen, bei denen Daten in mehreren Zonen über mehrere Regionen hinweg repliziert werden. Zusätzlich zu diesen integrierten Ausfallsicherheitsfunktionen bietet Spanner die folgenden Funktionen zur Unterstützung umfassender Notfallwiederherstellungsstrategien:
- Löschschutz für Datenbanken
- Zuverlässige Sicherungs- und Wiederherstellungsfunktionen, einschließlich geplanter und regionenübergreifender Kopien
- Wiederherstellung zu einem bestimmten Zeitpunkt (Point-in-Time Recovery, PITR) zum Schutz vor logischer Datenbeschädigung, Operatorfehlern oder versehentlichem Schreiben für bis zu sieben Tage
Weitere Informationen finden Sie unter Notfallwiederherstellung – Übersicht.
Robustheit von Cloud Run-Funktionen gegenüber 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 der Dienst 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. In regionalen Buckets gespeicherte Daten werden synchron über mehrere Zonen innerhalb einer Region repliziert. Für eine höhere Verfügbarkeit können Sie biregionale oder multiregionale Buckets verwenden, bei denen Daten asynchron über Regionen hinweg repliziert werden.
Überlegungen zur Zuverlässigkeit von Pub/Sub
Beachten Sie die folgenden Empfehlungen, damit Ihre Pub/Sub-Konfiguration Ihren Zuverlässigkeitsanforderungen entspricht:
- Ratensteuerung: Um Fehler bei vorübergehenden Spitzen im 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.
Zuverlässigkeitsempfehlungen für alle Produkte in der Architektur
Nachdem Sie Ihre Arbeitslast in Google Cloudbereitgestellt haben, können Sie die Zuverlässigkeit Ihrer Cloud-Ressourcen weiter optimieren, indem Sie relevante Empfehlungen von Active Assist anwenden.
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.
Kostenüberlegungen für die Agent Platform
Beachten Sie die folgenden Empfehlungen, damit Ihre Agent Platform-Konfigurationen und -Nutzung Ihren Kostenanforderungen entsprechen:
- Kostenanalyse und -verwaltung: Um die Kosten für die Agent Platform zu analysieren und zu verwalten, empfehlen wir, eine Baseline für Abfragen pro Sekunde (QPS) und Tokens pro Sekunde (TPS) zu erstellen und diese Messwerte nach der Bereitstellung zu beobachten. Die Baseline hilft auch bei der Kapazitätsplanung. Anhand der Referenz können Sie beispielsweise feststellen, wann bereitgestellter Durchsatz erforderlich ist.
- Modellauswahl: Die Auswahl des geeigneten Modells für Ihre generative KI-Anwendung ist eine wichtige Entscheidung, die sich direkt auf Kosten und Leistung auswirkt. Testen Sie Modelle iterativ, um das Modell zu finden, das für Ihren spezifischen Anwendungsfall ein optimales Gleichgewicht zwischen Leistung und Kosten bietet. Wir empfehlen, mit dem kostengünstigsten Modell zu beginnen und schrittweise zu leistungsstärkeren Optionen überzugehen.
- Prompt Engineering: Die Länge Ihrer Prompts (Eingabe) und der generierten Antworten (Ausgabe) wirkt sich direkt auf die Leistung und die Kosten aus. Schreiben Sie kurze, direkte Prompts mit ausreichend Kontext. Entwerfen Sie Ihre Prompts so, dass Sie prägnante Antworten vom Modell erhalten. Verwenden Sie beispielsweise Formulierungen wie „Fasse in zwei Sätzen zusammen“ oder „Liste drei wichtige Punkte auf“. Weitere Informationen finden Sie unter Best Practices für das Prompt-Design.
- Kontext-Caching: Verwenden Sie das Kontext-Caching, um die Kosten für Anfragen zu reduzieren, die wiederkehrende Inhalte mit vielen Eingabetokens enthalten.
- Batchanfragen: Für umfangreiche Verarbeitungsaufgaben, die asynchron ausgeführt werden können, z. B. die Generierung von Inhalten und die Offlineanalyse, sollten Sie die Batchinferenz verwenden. Batchanfragen werden zu einem niedrigeren Preis als Standardanfragen abgerechnet.
Kostengesichtspunkte für Spanner Graph
Beachten Sie die folgenden Empfehlungen, damit Ihre Spanner Graph-Konfiguration Ihren Kostenanforderungen entspricht:
- Autoscaling der Rechenkapazität: Mit dem verwalteten Autoscaler können Sie die Rechenkapazität für Spanner Graph-Datenbanken basierend auf der CPU-Auslastung und dem Speicherbedarf dynamisch anpassen, um die Kosten zu kontrollieren. Oft ist eine Mindestkapazität erforderlich, auch für kleine Arbeitslasten.
- Preisoptimierung: Erwerben Sie Rabatte für zugesicherte Nutzung für vorhersehbare, stabile oder grundlegende Rechenkapazität. Rabatte für zugesicherte Nutzung bieten erhebliche Rabatte, wenn Sie sich zu bestimmten stündlichen Ausgaben für Rechenkapazität verpflichten.
- Sicherungsreplikation: Wenn Sie Sicherungen für die Notfallwiederherstellung oder Compliance in andere Regionen kopieren, sollten Sie die Kosten für ausgehenden Netzwerktraffic berücksichtigen. Kopieren Sie nur die wichtigsten Sicherungen, um die Kosten zu senken.
Kostenüberlegungen für Cloud Run Functions
Damit Ihre Cloud Run Functions-Implementierung Ihren Kostenanforderungen entspricht, sollten Sie die folgenden Empfehlungen beachten:
Ressourcenzuweisung: Beim Erstellen von Cloud Run Functions-Funktionen können Sie die Größe des Arbeitsspeichers und die CPU angeben, die zugewiesen werden sollen. Zur Kostenkontrolle beginnen Sie mit den standardmäßigen (Mindest-)CPU- und Arbeitsspeicherzuweisungen. Zur Verbesserung der Leistung können Sie die Zuweisung erhöhen, indem Sie das CPU-Limit und das Speicherlimit konfigurieren. Weitere Informationen erhalten Sie in dieser Dokumentation:
Preisoptimierung: Wenn Sie die CPU- und Arbeitsspeicheranforderungen vorhersagen können, können Sie mit Rabatten für zugesicherte Nutzung Geld sparen.
Cloud Storage-Speicherklasse und Lebenszyklusverwaltung
Wählen Sie für den Cloud Storage-Bucket im Datenaufnahme-Subsystem eine geeignete Speicherklasse basierend auf den Anforderungen Ihrer Arbeitslast an die Datenaufbewahrung und die Zugriffshäufigkeit aus. Sie können beispielsweise die Speicherklasse Standard auswählen und die Verwaltung des Objektlebenszyklus verwenden, um die Speicherkosten zu steuern. Dieser Ansatz ermöglicht ein automatisches Downgrade von Objekten auf eine kostengünstigere Speicherklasse oder ein automatisches Löschen von Objekten basierend auf bestimmten Bedingungen.
Kostenüberlegungen für Cloud Logging
Beachten Sie die folgenden Empfehlungen, um die Kosten für die Speicherung von Logs zu kontrollieren:
- Reduzieren Sie das Logvolumen, indem Sie unnötige Logeinträge ausschließen oder filtern. Weitere Informationen finden Sie unter „Ausschließen“-Filter.
- Optimieren Sie die Aufbewahrungsdauer von Logs. Weitere Informationen finden Sie unter Benutzerdefinierte Aufbewahrung konfigurieren.
Empfehlungen zur Kostenoptimierung für alle Produkte in der Architektur
Damit Ihre Architektur Ihren Kostenanforderungen entspricht, sollten Sie die folgenden allgemeinen Empfehlungen berücksichtigen:
- Optimierung nach der Bereitstellung: Nachdem Sie Ihre Arbeitslast inGoogle Cloudbereitgestellt haben, können Sie die Kosten der bereitgestellten Ressourcen weiter optimieren, indem Sie relevante Empfehlungen von Active Assist anwenden.
- Kostenschätzung: 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 die Leistungsanforderungen Ihrer Arbeitslasten erfüllt.
Hinweise zur Leistung der Agent Platform
Damit Ihre Agent Platform-Konfigurationen und -Nutzung Ihren Leistungsanforderungen entsprechen, sollten Sie die folgenden Empfehlungen beachten:
- Modellauswahl: Die Auswahl des geeigneten Modells für Ihre generative KI-Anwendung ist eine wichtige Entscheidung, die sich direkt auf Kosten und Leistung auswirkt. Testen Sie Modelle iterativ, um das Modell zu finden, das für Ihren spezifischen Anwendungsfall ein optimales Gleichgewicht zwischen Leistung und Kosten bietet. Wir empfehlen, mit dem kostengünstigsten Modell zu beginnen und schrittweise zu leistungsstärkeren Optionen überzugehen.
- Prompt Engineering: Die Länge Ihrer Prompts (Eingabe) und der generierten Antworten (Ausgabe) wirkt sich direkt auf die Leistung und die Kosten aus. Schreiben Sie kurze, direkte Prompts mit ausreichend Kontext. Entwerfen Sie Ihre Prompts so, dass Sie prägnante Antworten vom Modell erhalten. Verwenden Sie beispielsweise Formulierungen wie „Fasse in zwei Sätzen zusammen“ oder „Liste drei wichtige Punkte auf“. Weitere Informationen finden Sie unter Best Practices für das Prompt-Design.
- Prompt-Optimierung: Mit dem Prompt-Optimierer der Agent Platform können Sie die Prompt-Leistung im großen Maßstab schnell verbessern und optimieren, ohne dass Sie Prompts manuell umschreiben müssen. Der Optimierer hilft Ihnen, Prompts effizient an verschiedene Modelle anzupassen.
Spanner Graph-Schemadesign und Abfrageoptimierung
Empfehlungen zur Optimierung der Spanner Graph-Leistung finden Sie in der folgenden Dokumentation:
- Best Practices für das Entwerfen eines Spanner Graph-Schemas
- Best Practices für die Optimierung von Spanner Graph-Abfragen
Ressourcenzuweisung für Cloud Run Functions
Standardmäßig werden jeder Cloud Run Functions-Instanz eine CPU und 256 MiB Arbeitsspeicher zugewiesen. Abhängig von Ihren Leistungsanforderungen können Sie CPU- und Arbeitsspeicherlimits konfigurieren. Weitere Informationen erhalten Sie in dieser Dokumentation:
Weitere Informationen zur Leistungsoptimierung finden Sie unter Allgemeine Entwicklungstipps für Cloud Run.
Parallele zusammengesetzte Uploads in Cloud Storage
Zum Hochladen großer Dateien können Sie 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.
Empfehlungen zur Leistungsoptimierung für alle Produkte in der Architektur
Nachdem Sie Ihre Arbeitslast in Google Cloudbereitgestellt haben, können Sie die Leistung Ihrer Cloud-Ressourcen weiter optimieren, indem Sie relevante Empfehlungen von Active Assist anwenden.
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
Wenn Sie sich ansehen möchten, wie GraphRAG in Google Cloudfunktioniert, laden Sie das folgende Jupyter-Notebook von GitHub herunter und führen Sie es aus: GraphRAG auf Google Cloud mit Spanner Graph und Agent Runtime auf der Gemini Enterprise Agent Platform.
Nächste Schritte
- GraphRAG-Anwendungen mit Spanner Graph und LangChain erstellen
- Komponenten für die agentische KI-Architektur auswählen
- RAG-Infrastruktur für generative KI mit Agent Platform und Vektorsuche
- RAG-Infrastruktur für generative KI mit Agent Platform und AlloyDB for PostgreSQL
- RAG-Infrastruktur für generative KI mit GKE und Cloud SQL
- RAG-Infrastruktur für generative KI mit Gemini Enterprise und Agent Platform
- Informationen zu Architekturprinzipien und Empfehlungen für KI-Arbeitslasten in Google Cloudfinden Sie im Well-Architected Framework: KI- und ML-Perspektive.
- Weitere Referenzarchitekturen, Diagramme und Best Practices finden Sie im Cloud-Architekturcenter.
Beitragende
Autor*innen:
- Tristan Li | Principal Architect, KI/ML
- Kumar Dhanagopal | Cross-Product Solution Developer
Weitere Beitragende:
- Ahsif Sheikh | AI Customer Engineer
- Ashish Chauhan | AI Customer Engineer
- Greg Brosman | Produktmanager
- Lukas Bruderer | Produktmanager, Cloud AI
- Nanditha Embar | AI Customer Engineer
- Piyush Mathur | Product Manager, Spanner
- Smitha Venkat | AI Customer Engineer