LLM-gestützte Anwendungen mit LangChain erstellen

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 VertexAIEmbeddings einrichten
  • SpannerVectorStore initialisieren
  • 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
  • SpannerDocumentSaver zum 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
  • SpannerGraphStore mit 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:

  1. Graph-QA verwendet ein LangChain-LLM, um eine Frage in natürlicher Sprache in eine GQL-Abfrage zu übersetzen.
  2. Cloud Spanner Graph verwendet die Graphspeicherschnittstelle, um die GQL-Abfrage auszuführen.
  3. Die Ergebnisse der GQL-Abfrage werden an das LLM zurückgesendet.
  4. 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 LLMGraphTransformer einen Graphen aus unstrukturierten Text-Blobs erstellen
  • Den Graphen mit der Klasse SpannerGraphStore in 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