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 Produktdokumentation LangChain.

LangChain-Komponenten für Bigtable

Bigtable bietet die folgenden LangChain-Schnittstellen:

Mehr über die Verwendung von LangChain mit der LangChain-Kurzanleitung für Bigtable erfahren. In dieser Kurzanleitung wird eine Anwendung erstellt, die auf ein Netflix-Film-Dataset zugreift, damit Nutzer mit Filmdaten interagieren können.

Vektorspeicher für Bigtable

Sie können den Vektorspeicher verwenden, um Textdokumente zusammen mit ihren Vektoreinbettungen und anderen Metadaten in einer Bigtable-Tabelle zu speichern. Damit können Sie:

  • Suchen Sie in Ihren Dokumenten mit Techniken wie der Vektor-Ähnlichkeitssuche oder der Suche nach maximaler Grenzrelevanz (Maximal Marginal Relevance, MMR).
  • Zusätzliches Filtern der Vektorsuchergebnisse mit den Metadaten der Dokumente.

Weitere Informationen finden Sie unter LangChain-Vektorspeicher.

Anleitung zum Verfahren für den Vektorspeicher

In der Bigtable-Anleitung für Vektorspeicher erfahren Sie, wie Sie Folgendes tun:

  • Integrationspaket und LangChain installieren
  • Einbettungsdienst einrichten
  • Bigtable-Speicher erstellen und konfigurieren
  • Verbindung und Authentifizierung anpassen
  • Den Speicher mit dem kNN-Algorithmus abfragen und die Ergebnisse nach Dokumentmetadaten filtern

Schlüssel/Wert-Speicher für Bigtable

Bigtable bietet einen Schlüssel/Wert-Speicher für LangChain in Form einer ByteStore-Klasse, mit der Sie mit Dokumenten oder Einbettungen arbeiten können, die als Byteobjekte gespeichert sind. Mit diesem Ansatz können Sie Kosten und Latenz erheblich reduzieren, wenn Sie Aufgaben wie das Zwischenspeichern und Indexieren von Einbettungen für wiederholte Anfragen ausführen.

Weitere Informationen finden Sie unter LangChain-Schlüssel/Wert-Speicher.

Anleitung zum Verfahren für den Schlüssel/Wert-Speicher

Im Bigtable-Leitfaden für Key-Value-Speicher erfahren Sie, wie Sie Folgendes tun:

  • Integrationspaket und LangChain installieren
  • Erforderliche Engine und Tabellen initialisieren
  • Verbindung und Authentifizierung anpassen
  • BigtableByteStore als Caching-Ebene für Vektoreinbettungen verwenden

Dokument-Loader für Bigtable

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 BigtableLoader, um Dokumente aus dem Dokument-Loader in Bigtable zu laden. BigtableLoader-Methoden geben ein oder mehrere Dokumente aus einer Tabelle zurück. Verwenden Sie die Klasse BigtableSaver, um Dokumente zu speichern und zu löschen.

Weitere Informationen finden Sie unter LangChain-Dokument-Loader.

Anleitung zum Laden von Dokumenten

In der Bigtable-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
  • BigtableSaver zum Speichern und Löschen von Dokumenten verwenden und anpassen

Verlauf der Chatnachrichten für Bigtable

Frage-und-Antwort-Anwendungen erfordern einen Verlauf der in der Unterhaltung gesprochenen Dinge, um der Anwendung Kontext zur Beantwortung weiterer Fragen des Nutzers zu bieten. Die LangChain-Klasse ChatMessageHistory ermöglicht der Anwendung, Nachrichten 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.

Bigtable erweitert diese Klasse mit BigtableChatMessageHistory.

Anleitung zum Verfahren für den Chat-Nachrichtenverlauf

Im Bigtable-Leitfaden für den Verlauf von Chatnachrichten erfahren Sie, wie Sie Folgendes tun können:

  • LangChain installieren und bei Google Cloudauthentifizieren
  • Bigtable-Schema initialisieren
  • Initialisieren Sie die BigtableChatMessageHistory-Klasse, um Nachrichten hinzuzufügen und zu löschen.
  • Client zum Anpassen der Verbindung und Authentifizierung verwenden