Spanner und seine Multimodellfunktionen lassen sich in die KI-Dienste vonGoogle Cloudund LangChain, einem Open-Source-Framework, einbinden, um die Entwicklung von Anwendungen auf Basis generativer KI zu erleichtern. Sie können Anwendungen mit Funktionen wie Ähnlichkeitssuche, Retrieval-Augmented Generation (RAG) und Wissensgraphen optimieren. Spanner basiert auf Skalierbarkeit, Verfügbarkeit und Konsistenz.
Ähnlichkeitssuchen mit Vector Search durchführen
Verwenden Sie Spanner mit Vector Search, um eine Ähnlichkeitssuche für unstrukturierte Textdaten zu implementieren. Spanner lässt sich in Dienste wie Vertex AI einbinden, um die Generierung von Vektoreinbettungen aus unstrukturierten Textdaten aufzurufen. Diese Einbettungen sind numerische Darstellungen, die die semantische Bedeutung des Texts widerspiegeln. Um konzeptionell ähnliche Elemente zu finden, verwenden Sie Vektordistanzfunktionen, um Einbettungsvektoren zu finden, die der Einbettung der Suchanfrage am ähnlichsten sind. So können Sie Funktionen wie Produkt- oder Inhaltsempfehlungen entwickeln.
Generieren und füllen Sie Vertex AI-Vektoreinbettungen für vorhandene Textdaten in großen Mengen. Dazu können Sie SQL und ein Vertex AI-Einbettungsmodell wie das in der Dokumentation zur Text Embeddings API beschriebene Modell text-embedding
verwenden.
Spanner unterstützt die Verwendung von Approximate Nearest Neighbors (ANN) und K-Nearest Neighbors (KNN) mit Abfragevektoreinbettungen. ANN verwendet einen Vektorindex für eine schnelle, skalierbare Suche, die ungefähre Ergebnisse zurückgibt. Bei der KNN-Suche wird eine vollständige Suche durchgeführt, die genauere Ergebnisse liefert, aber bei großen Datasets langsam sein kann. Sie können mehrere Funktionen für die Vektordistanz verwenden, um die Ähnlichkeit zu messen, darunter:
Kosinus-Distanz: Misst den Kosinus des Winkels zwischen zwei Vektoren. Dies ist nützlich, um Elemente mit ähnlicher Ausrichtung zu finden, unabhängig von der Größe.
Euklidischer Abstand: Misst die Luftlinie zwischen zwei Vektoren.
Punktprodukt: Berechnet das Produkt der Vektormagnituden und des Kosinus des Winkels zwischen ihnen. Dies kann die recheneffizienteste Option für normalisierte Vektoren sein.
Weitere Informationen finden Sie unter folgenden Links:
ML-Vorhersagen mit SQL generieren
Sie können SQL-Abfragen in Spanner verwenden, um Large Language Models (LLMs) aufzurufen, die in Vertex AI bereitgestellt werden. Durch den direkten Zugriff auf LLMs können Sie Vorhersagen für Aufgaben wie Sentimentanalyse, Textklassifizierung und Übersetzung für in Spanner gespeicherte Daten ausführen.
Mit der Funktion ML.PREDICT
(GoogleSQL) oder spanner.ML_PREDICT_ROW
(PostgreSQL) können Sie ML-Vorhersagen (Machine Learning) generieren, ohne Ihre Daten verschieben oder benutzerdefinierten Anwendungscode schreiben zu müssen, um mit dem LLM zu interagieren. Das vereinfacht die Anwendungsarchitektur und bringt ML-Funktionen näher an Ihre Daten. Weitere Informationen finden Sie unter ML-Vorhersagen mit SQL generieren.
Model Context Protocol (MCP) zum Herstellen einer Verbindung zu LLM-Agents verwenden
Sie können Ihre Spanner-Instanz mit IDEs verbinden, die das Model Context Protocol (MCP) unterstützen. MCP ist ein offenes Protokoll, mit dem Sie LLMs mit Ihren Daten in Spanner verbinden können. Nach der Verbindung können Ihre LLM-Agents Abfragen für Ihre Spanner-Instanz ausführen und mit ihr interagieren. Weitere Informationen finden Sie unter IDE mit Spanner verbinden.
Mit Spanner-Diagrammen Informationen gewinnen
Für komplexere RAG-Anwendungsfälle bietet Spanner Graph die Möglichkeit, Graphdatenbankfunktionen mit den Kernfunktionen von Spanner zu kombinieren. Mit Spanner Graph können Sie hochgradig verbundene Daten modellieren, speichern und abfragen.
Spanner Graph in LangChain einbinden, um GraphRAG-Anwendungen zu erstellen. Diese Integration kann das herkömmliche RAG verbessern. Mit GraphRAG können Sie Anwendungen erstellen, die komplexe Beziehungen zwischen Entitäten erfassen, z. B. einen Knowledge Graph. Bei der Integration werden neben der Vektorsuche auch Graphabfragen verwendet, um komplexe, implizite Beziehungen in Ihren Daten zu erfassen. Wenn Sie Graph-Abfragen und die Vektorsuche zusammen verwenden, können Sie genauere und relevantere Antworten von Ihrem LLM erhalten, als wenn Sie nur die Vektorsuche verwenden.
Weitere Informationen finden Sie unter GraphRAG-Infrastruktur für generative KI mit Vertex AI und Spanner Graph.
LLM-gestützte Anwendungen mit LangChain erstellen
Spanner bietet mehrere Klassen für die programmatische Arbeit mit LangChain. LangChain ist ein LLM-Orchestrierungs-Framework, das die Struktur, die Tools und die Komponenten bietet, um komplexe LLM-Workflows zu optimieren. Mit LangChain generative KI-Anwendungen und RAG-Workflows erstellen Die verfügbaren LangChain-Klassen für Spanner sind:
SpannerVectorStore
: Mit dieser Klasse können Sie Vektoreinbettungen speichern und durchsuchen, um Ähnlichkeitssuchen in Ihrer Anwendung zu ermöglichen.SpannerLoader
: Daten aus Spanner laden, die in Einbettungen verwendet werden sollen, oder LLM-Ketten mit der Klasse einen bestimmten Kontext bereitstellen.SpannerChatMessageHistory
: Konversationelle KI-Anwendungen aktivieren, indem der Verlauf von Konversationen in einer Spanner-Datenbank gespeichert wird.
Weitere Informationen finden Sie unter LLM-gestützte Anwendungen mit LangChain erstellen und Spanner-Clientbibliothek für LangChain.
Anwendungsfälle ansehen
Mit den KI-Funktionen von Spanner können Sie intelligente Anwendungen für Anwendungsfälle wie die folgenden erstellen:
E-Commerce-Empfehlungssysteme: Generieren Sie Vektoreinbettungen für Produktbeschreibungen, um ein Empfehlungssystem zu betreiben. Diese Engine kann Kunden ähnliche Artikel vorschlagen, was das Einkaufserlebnis verbessert und den Umsatz steigert. Weitere Informationen finden Sie unter Generative KI verwenden, um personalisierte Empfehlungen in einer E-Commerce-Anwendung zu erhalten.
Chatnachrichtenverlauf verwalten: Verwenden Sie Spanner und LangChain, um den Unterhaltungsverlauf zu speichern und abzurufen. Spanner speichert diese Daten in einer Datenbank und stellt die Klasse
SpannerChatMessageHistory
bereit. Diese Klasse erweitert eine LangChain-Basisklasse, um Nachrichten in einer Datenbank zu speichern und abzurufen. Weitere Informationen finden Sie unter Chatnachrichtenverlauf mit Spanner.Erkennung von Finanzbetrug: Mit Spanner Graph können Sie komplexe Beziehungen zwischen Nutzern, Konten und Transaktionen analysieren, um verdächtige Muster und Anomalien zu erkennen, die mit herkömmlichen relationalen Datenbanken nur schwer zu erkennen sind.
Customer 360: Mit Spanner Graph erhalten Sie eine ganzheitliche Sicht auf Kunden, indem Sie Beziehungen, Einstellungen und Kaufhistorien nachverfolgen. So können personalisierte Empfehlungen, zielgerichtete Marketingkampagnen und ein verbesserter Kundenservice angeboten werden.
Soziale Netzwerke: Nutzeraktivitäten und ‑interaktionen mit Spanner Graph modellieren, um Freundesempfehlungen zu geben und Inhalte in sozialen Netzwerken zu finden.
Nächste Schritte
Weitere Informationen zum Implementieren von KI-Funktionen in Spanner finden Sie in den folgenden Themen:
- Vektoreinbettungen generieren und Backfill-Vektoreinbettungen erstellen
- K‑nächste Nachbarn finden
- Leistung der Vektorsuche mit ungefähren nächsten Nachbarn verbessern
- LangChain-Integration
- Übersicht über Spanner Graph