Generative KI-Anwendungen mit Cloud SQL erstellen

Diese Seite bietet einen Überblick über die Funktionen von Cloud SQL for PostgreSQL zum Erstellen generativer KI-Anwendungen. Eine Beispielanwendung finden Sie unter Erste Schritte mit Cloud SQL für Generative AI-Anwendungen.

Retrieval Augmented Generation (RAG) ist eine Technik zur Optimierung der Ausgabe eines Large Language Models (LLM), indem auf eine autoritative Wissensdatenbank verwiesen wird, bevor eine Antwort generiert wird. RAG verbessert generative KI-Anwendungen durch Verbesserung ihrer Genauigkeit. Cloud SQL-Datenbanken bieten Funktionen, die für RAG- und generative KI-Anwendungen ausgewählt wurden, wie auf dieser Seite erläutert.

Vektoreinbettungen generieren

Vektoreinbettungen sind für RAG wichtig, da sie ein semantisches Verständnis und eine effiziente Ähnlichkeitssuche ermöglichen. Diese Einbettungen sind numerische Darstellungen von Text, Bildern, Audio und Video. Einbettungsmodelle generieren die Vektoreinbettungen. Wenn also zwei Inhaltselemente semantisch ähnlich sind, befinden sich ihre jeweiligen Einbettungen im Einbettungsvektorbereich nahe beieinander.

Cloud SQL kann in Vertex AI eingebunden werden. Sie können die von Vertex AI gehosteten Modelle verwenden, um Vektoreinbettungen mithilfe von SQL-Abfragen zu generieren.

Cloud SQL erweitert die PostgreSQL-Syntax um eine Einbettungsfunktion zum Generieren von Vektoreinbettungen von Text. Nachdem Sie diese Einbettungen generiert haben, können Sie sie in einer Cloud SQL-Datenbank speichern, ohne eine separate Vektordatenbank zu benötigen.

Sie können Cloud SQL auch zum Speichern von Vektoreinbettungen verwenden, die außerhalb von Cloud SQL generiert werden. Sie können beispielsweise Vektoreinbettungen, die mit vortrainierten Modellen generiert werden, im Vertex AI Model Garden speichern. Sie können diese Vektoreinbettungen als Eingaben für pgvector-Funktionen für Ähnlichkeiten und semantische Suchen verwenden.

Vektoreinbettungen mit pgvector speichern, indexieren und abfragen

Sie können Vektoreinbettungen mit der PostgreSQL-Erweiterung pgvector in Cloud SQL speichern, indexieren und abfragen.

Weitere Informationen zum Konfigurieren dieser Erweiterung finden Sie unter PostgreSQL-Erweiterungen konfigurieren. Weitere Informationen zum Speichern, Indexieren und Abfragen von Vektoreinbettungen finden Sie unter Generierte Einbettung speichern und Abfrage und Index-Einbettungen mit pgvector.

Onlinevorhersagen mit SQL-Abfragen aufrufen

Sie können Onlinevorhersagen mit Modellen aufrufen, die im Vertex AI Model Garden mithilfe von SQL-Abfragen gespeichert sind.

LangChain-Integration verwenden

Cloud SQL kann in LangChain eingebunden werden, ein Open-Source-LLM-Orchestrierungs-Framework, um die Entwicklung von generativen KI-Anwendungen zu vereinfachen. Sie können die folgenden LangChain-Pakete verwenden:

Leistung der Vektorsuche verbessern

Sie können die Leistung einer Vektorsuche so verbessern:

  • Datencache: Verwenden Sie einen integrierten Datencache, der eine schnelle, lokale SSD zum Speichern von Datenseiten nutzt, die häufig gelesen werden. Die Leseleistung kann im Vergleich zu Lesevorgängen aus einem nichtflüchtigen Speicher bis zu dreimal verbessert werden.
  • Daten-Cache-Messwerte: Damit werden Abfragen basierend darauf optimiert, wie effektiv der Daten-Cache bei einer Vektorsuche verwendet wird.

    Cloud SQL stellt die folgenden metrics im Metrics Explorer in Cloud Monitoring bereit:

    Messwert Beschreibung Messwertlabel
    Verwendeter Datencache Die Datencache-Nutzung (in Byte) database/data_cache/bytes_used
    Datencache-Kontingent Die maximale Daten-Cache-Größe (in Byte) database/data_cache/quota
    Anzahl der Datencache-Treffer Die Gesamtzahl der Datencache-Trefferlesevorgänge für eine Instanz database/postgresql/data_cache/hit_count
    Anzahl der Datencache-Fehler Die Gesamtzahl der Lesevorgänge mit fehlenden Daten-Cache-Fehlern für eine Instanz database/postgresql/data_cache/miss_count
    Datencache-Trefferquote Das Verhältnis von Datencache-Treffer-Lesevorgängen zu Daten-Cache-Fehler-Lesevorgängen für eine Instanz
    database/postgresql/data_cache/hit_ratio
  • Systemstatistiken: Stellen Sie Systemmesswerte wie CPU-Auslastung, Laufwerksauslastung und Durchsatz bereit, damit Sie den Zustand der Instanzen überwachen und Probleme beheben können, die sich auf die Leistung Ihrer Anwendungen mit generativer KI auswirken. Verwenden Sie das Cloud SQL System Insights-Dashboard, um diese Messwerte anzuzeigen.

  • Query Insights: Damit können Sie Probleme mit der Abfrageleistung erkennen, diagnostizieren und verhindern. Dies ist hilfreich, um die Leistung der Vektorsuche in Ihren generativen KI-Anwendungen zu verbessern.

    Im Cloud SQL Query Insights-Dashboard können Sie die Leistung der Top-Abfragen beobachten und diese Abfragen mithilfe visueller Abfragepläne analysieren. Mit SQLcommenter können Sie auch die Leistung auf Anwendungsebene überwachen und die Quelle einer problematischen Abfrage im gesamten Anwendungspaket bis zur Datenbank zurückverfolgen. Dies ist eine Open-Source-Bibliothek mit objektrelationaler Zuordnung (ORM) für die automatische Instrumentierung.

    Query Insights unterstützt Sie auch bei der Einbindung in Ihre vorhandenen Tools zur Anwendungsüberwachung (APM), sodass Sie Abfrageprobleme mit Tools beheben können, mit denen Sie vertraut sind.

Vorteile von Cloud SQL für generative KI-Anwendungen

Die Verwendung von Cloud SQL zum Erstellen generativer KI-Anwendungen bietet Folgendes:

  • Mit PostgreSQL generative KI-Anwendungen erstellen Cloud SQL for PostgreSQL unterstützt pgvector und lässt sich sowohl in Vertex AI als auch in LangChain einbinden.
  • Einen vertrauenswürdigen Dienst mit Datenschutz, Sicherheit und Governance auf Unternehmensniveau nutzen. Die Verwendung von Cloud SQL bietet folgende Vorteile:
    • Ein Hochverfügbarkeits-SLA von 99,99 %, einschließlich Wartung
    • Ein verwalteter Dienst, der Ihnen Funktionen wie automatische Sicherungen, Replikation, Patches, Verschlüsselung und automatische Erhöhung der Speicherkapazität bietet
    • Sicherheits-, Governance- und Compliance-Funktionen
  • Kombinieren Sie sie mit kontextbezogenen Betriebsdaten. Verwenden Sie Joins und Filter für Betriebsdaten und Vektoreinbettungen, um kontextabhängige, genaue und aktuelle Antworten in Ihren Generative AI-Anwendungen zu erhalten.
  • Reduzieren Sie den Betriebsaufwand. Verwenden Sie Cloud SQL als Vektordatenbank, um den Vorgangsaufwand für den Export von Daten in eine separate Vektordatenbank zu reduzieren.
  • Auf die neuesten generativen KI-Modelle zugreifen. Verwenden Sie SQL-Abfragen, um auf die neuesten KI-Modelle zuzugreifen, die in Vertex AI gehostet werden.

Erste Schritte mit Cloud SQL für generative KI-Anwendungen

Verwenden Sie diese Beispielanwendung, um generative KI-Anwendungen zu erstellen. Die Anwendung verwendet Cloud SQL, Vertex AI und entweder Google Kubernetes Engine (GKE) oder Cloud Run. Mit der Anwendung können Sie eine einfache Chatbot-API erstellen, die:

  • GKE oder Cloud Run in Cloud SQL, Vertex AI und pgvector einbindet
  • Die Verbindung zu Cloud SQL mit Private Service Connect in einer Virtual Private Cloud (VPC) veranschaulicht
  • Terraform verwendet, um Ihre Infrastruktur zu konfigurieren
  • Python mit asyncpg und FastAPI verwendet
  • Das Einrichten von Cloud SQL und einer Anwendung unterstützt, die entweder in GKE oder Cloud Run in separaten Google Cloud-Projekten ausgeführt wird

Die Lösung enthält den folgenden Inhalt:

  • Terraform-Vorlagen zum Einrichten Ihrer Infrastruktur mit Best Practices für die Sicherheit
  • Eine Beispielanwendung für einen LLM-gestützten Chatbot, den Sie in GKE oder Cloud Run bereitstellen können

Nächste Schritte