Auf dieser Seite wird erläutert, wie Sie LLM-basierte Anwendungen mit LangChain erstellen. Die Übersichten auf dieser Seite verweisen zu den Verfahrensanleitungen in GitHub.
Was ist LangChain?
LangChain ist ein LLM-Orchestrierungs-Framework, mit dem Entwickler generative KI-Anwendungen oder RAG-Workflows (Retrieval Augmented Generation) erstellen können. Es bietet die Struktur, die Tools und die Komponenten, um komplexe LLM-Workflows zu optimieren.
Weitere Informationen zu LangChain finden Sie auf der Seite Google LangChain. Weitere Informationen zum LangChain-Framework finden Sie in der LangChain Produktdokumentation.
LangChain-Komponenten für Cloud Spanner
Cloud Spanner bietet die folgenden LangChain-Schnittstellen:
Vektorspeicher für Cloud Spanner
Mit dem Vektorspeicher werden Dokumente und Metadaten aus einer Vektordatenbank abgerufen und gespeichert. Der Vektorspeicher bietet einer Anwendung die Möglichkeit, semantische Suchen durchzuführen, die die Bedeutung einer Nutzerabfrage interpretieren. Diese Art der Suche wird als Vektorsuche bezeichnet und kann Themen finden, die konzeptionell der Abfrage entsprechen. Zum Zeitpunkt der Abfrage ruft der Vektorspeicher die Einbettungsvektoren ab, die der Einbettung der Suchanfrage am ähnlichsten sind. In LangChain übernimmt ein Vektorspeicher das Speichern eingebetteter Daten und das Ausführen der Vektorsuche für Sie.
Verwenden Sie die Klasse SpannerVectorStore, um mit dem Vektorspeicher in Cloud Spanner zu arbeiten.
Weitere Informationen finden Sie in der LangChain Vector Stores Produktdokumentation.
Anleitung zum Verfahren für den Vektorspeicher
In der Cloud Spanner-Anleitung für Vektorspeicher erfahren Sie, wie Sie Folgendes tun:
- Integrationspaket und LangChain installieren
- Eine Tabelle für den Vektorspeicher initialisieren
- Einen Einbettungsservice mit
VertexAIEmbeddingseinrichten SpannerVectorStoreinitialisieren- Dokumente hinzufügen und löschen
- Nach ähnlichen Dokumenten suchen
- Einen benutzerdefinierten Vektorspeicher erstellen, um eine Verbindung zu einer vorhandenen Cloud Spanner-Datenbank herzustellen, die eine Tabelle mit Vektoreinbettungen enthält
Dokument-Loader für Cloud Spanner
Der Dokument-Loader speichert, lädt und löscht LangChain-Document-Objekte. Beispielsweise können Sie Daten zur Verarbeitung in Einbettungen laden und
entweder im Vektorspeicher speichern oder sie als Tool verwenden, um spezifischen Kontext
für Ketten bereitzustellen.
Verwenden Sie die Klasse SpannerLoader, um Dokumente aus Cloud Spanner zu laden.
Verwenden Sie die Klasse SpannerDocumentSaver, um Dokumente zu speichern und zu löschen.
Weitere Informationen finden Sie unter LangChain-Dokument Loader.
Anleitung zum Laden von Dokumenten
In der Cloud Spanner-Anleitung für das Laden von Dokumenten werden die folgenden Aufgaben erläutert:
- Integrationspaket und LangChain installieren
- Dokumente aus einer Tabelle laden
- Filter zum Loader hinzufügen
- Verbindung und Authentifizierung anpassen
- Dokumenterstellung durch Angabe von Kundeninhalten und Metadaten anpassen
SpannerDocumentSaverzum Speichern und Löschen von Dokumenten verwenden und anpassen
Chatnachrichtenprotokoll für Cloud Spanner
Fragen- und Antwortanwendungen benötigen einen Verlauf der in der Unterhaltung getätigten Aussagen, um der Anwendung Kontext zu geben, damit sie weitere Fragen des Nutzers beantworten kann. Die LangChain-Klasse ChatMessageHistory ermöglicht der Anwendung, Nachrichten in einer Datenbank zu speichern und bei Bedarf zur Formulierung weiterer Antworten abzurufen. Eine Nachricht kann eine Frage, eine Antwort, eine Aussage, eine Begrüßung oder andere Texte sein, die der Nutzer oder die Anwendung während der Unterhaltung gibt.
ChatMessageHistory speichert jede Nachricht und verkettet Nachrichten für jede Unterhaltung.
Cloud Spanner erweitert diese Klasse mit SpannerChatMessageHistory.
Anleitung zum Verfahren für den Chat-Nachrichtenverlauf
Im Cloud Spanner-Leitfaden für den Verlauf von Chatnachrichten erfahren Sie, wie Sie Folgendes tun können:
- LangChain installieren und sich bei authentifizieren Google Cloud
- Eine Tabelle initialisieren
- Initialisieren Sie die Klasse
SpannerChatMessageHistory, um Nachrichten hinzuzufügen und zu löschen. - Verwenden Sie einen Client, um die Verbindung und Authentifizierung anzupassen.
- Löschen Sie die Sitzung
SpannerChatMessageHistory.
Graphspeicher für Cloud Spanner
Der Graphspeicher ruft Knoten und Kanten aus einer Graphdatenbank ab und speichert sie. Mit dem Graphspeicher können Sie einer Anwendung Folgendes ermöglichen:
- Knoten und Kanten zu einem Graphen hinzufügen
- Durchläufe und Analysen für einen Graphen durchführen
- Das Schema eines Graphen prüfen
Sie können den Graphspeicher auch mit der Graph-QA-Kette verwenden, um eine Anwendung zu erstellen, die mit einem Graphen chatten kann.
Verwenden Sie die
SpannerGraphStore Klasse,
um den Graphspeicher mit Cloud Spanner Graph zu verwenden und Knoten und Kanten zu speichern, die aus Dokumenten extrahiert wurden. SpannerGraphStore
unterstützt die Graph Query Language (GQL).
Anleitung zum Verfahren für den Graphspeicher
In der Cloud Spanner-Anleitung für den Graphspeicher erfahren Sie, wie Sie Folgendes tun:
- Integrationspaket und LangChain installieren
- Graphen aus verschiedenen Datenquellen vorbereiten
SpannerGraphStoremit einer vorhandenen Cloud Spanner Graph-Datenbank initialisieren- Knoten und Kanten zu Cloud Spanner Graph hinzufügen
- Durchläufe mit einer GQL-Abfrage durchführen
- Die Ergebnisse der Graphabfrage visualisieren
- Den Graphen bereinigen
Graph-QA-Kette für Cloud Spanner
Die Graph-QA-Kette für Cloud Spanner verwendet einen Cloud Spanner-Graphen, um Fragen zu beantworten. Der Graph-QA-Workflow zum Beantworten einer Frage sieht so aus:
- Graph-QA verwendet ein LangChain-LLM, um eine Frage in natürlicher Sprache in eine GQL-Abfrage zu übersetzen.
- Cloud Spanner Graph verwendet die Graphspeicherschnittstelle, um die GQL-Abfrage auszuführen.
- Die Ergebnisse der GQL-Abfrage werden an das LLM zurückgesendet.
- Das LLM generiert die Antwort auf die Frage und gibt sie zurück.
Anleitung zum Verfahren für Graph-QA
In der Cloud Spanner-Anleitung für Graph-QA wird gezeigt, wie Sie Cloud Spanner und Graph-QA verwenden, um eine Frage zu beantworten . Dazu wird Folgendes erläutert:
- Mit
LLMGraphTransformereinen Graphen aus unstrukturierten Text-Blobs erstellen - Den Graphen mit der Klasse
SpannerGraphStorein Cloud Spanner Graph speichern - Eine
SpannerGraphQAChain-Instanz initialisieren - Mit dem Graphspeicher in Cloud Spanner Graph eine Antwort auf eine Frage in natürlicher Sprache generieren