Was ist LangChain?
LangChain ist ein Open-Source-Framework zum Erstellen von Anwendungen, die auf großen Sprachmodellen (LLMs) basieren. LLMs sind große Deep-Learning-Modelle, die mit großen Datenmengen vortrainiert wurden und Antworten auf Benutzeranfragen generieren können, z. B. um Fragen zu beantworten oder Bilder aus textbasierten Prompts zu erstellen. LangChain bietet Tools und Abstraktionen, um die Anpassung, Genauigkeit und Relevanz der von den Modellen generierten Informationen zu verbessern. Entwickler können beispielsweise LangChain-Komponenten verwenden, um neue Aufforderungsketten zu erstellen oder vorhandene Vorlagen anzupassen. LangChain enthält auch Komponenten, mit denen LLMs ohne erneutes Training auf neue Datensätze zugreifen können.
Warum ist LangChain wichtig?
LLMs sind hervorragend in der Lage, auf Aufforderungen in einem allgemeinen Kontext zu reagieren, haben aber Schwierigkeiten in einem spezifischen Bereich, in dem sie nie geschult wurden. Prompts sind Abfragen, mit denen Personen Antworten von einem LLM einholen. Ein LLM kann beispielsweise anhand einer Schätzung eine Antwort darauf geben, wie viel ein Computer kostet. Der Preis eines bestimmten Computermodells, das Ihr Unternehmen verkauft, kann jedoch nicht aufgeführt werden.
Dazu müssen die Machine-Learning-Techniker das LLM in die internen Datenquellen des Unternehmens integrieren und Prompt-Engineering anwenden – eine Methode, bei der ein Datenwissenschaftler die Eingaben zu einem generativen Modell mit einer bestimmten Struktur und einem bestimmten Kontext verfeinert.
LangChain optimiert die Zwischenschritte zur Entwicklung solcher datenresponsiven Anwendungen und macht Prompt-Engineering effizienter. Es wurde entwickelt, um verschiedene Anwendungen, die auf Sprachmodellen basieren, mühelos zu entwickeln, darunter Chatbots, Beantwortung von Fragen, Generierung von Inhalten, Zusammenfassungen und mehr.
In den folgenden Abschnitten werden die Vorteile von LangChain beschrieben.
Sprachmodelle wiederverwenden
Mit LangChain können Unternehmen LLMs für domänenspezifische Anwendungen ohne erneutes Training oder Optimierung wiederverwenden. Entwicklungsteams können komplexe Anwendungen erstellen, die auf firmeneigene Informationen verweisen, um die Modellantworten zu verbessern. Sie können LangChain beispielsweise verwenden, um Anwendungen zu erstellen, die Daten aus gespeicherten internen Dokumenten lesen und sie in Konversationsantworten zusammenfassen. Sie können einen RAG-(Retrieval Augmented Generation)-Workflow erstellen, der während der Aufforderung neue Informationen in das Sprachmodell einfügt. Die Implementierung kontextsensitiver Workflows wie RAG reduziert Modellhalluzinationen und verbessert die Reaktionsgenauigkeit.
KI-Entwicklung vereinfachen
LangChain vereinfacht die Entwicklung künstlicher Intelligenz (KI), indem es die Komplexität von Datenquellenintegrationen abstrahiert und Prompts optimiert. Entwickler können Sequenzen anpassen, um komplexe Anwendungen schnell zu erstellen. Anstatt Geschäftslogik zu programmieren, können Softwareteams die von LangChain bereitgestellten Vorlagen und Bibliotheken ändern, um die Entwicklungszeit zu verkürzen.
Entwickler-Support
LangChain bietet KI-Entwicklern Tools, um Sprachmodelle mit externen Datenquellen zu verbinden. Es ist Open Source und wird von einer aktiven Community unterstützt. Organisationen können LangChain kostenlos nutzen und Unterstützung von anderen Entwicklern erhalten, die sich mit dem Framework auskennen.
Wie funktioniert LangChain?
Mit LangChain können Entwickler ein Sprachmodell flexibel an bestimmte Geschäftskontexte anpassen, indem sie die Schritte festlegen, die erforderlich sind, um das gewünschte Ergebnis zu erzielen.
Chains
Chains sind das grundlegende Prinzip, das verschiedene KI-Komponenten in LangChain beinhaltet, um kontextsensitive Antworten bereitzustellen. Eine Chain ist eine Reihe automatisierter Aktionen von der Anfrage des Benutzers bis zur Ausgabe des Modells. Entwickler können eine Chain beispielsweise verwenden für:
- Verbindung zu verschiedenen Datenquellen herstellen.
- Generierung einzigartiger Inhalte.
- Übersetzung mehrerer Sprachen.
- Beantwortung von Benutzeranfragen.
Links
Chains bestehen aus Links. Jede Aktion, die Entwickler zu einer verketteten Sequenz aneinanderreihen, wird als Link bezeichnet. Mithilfe von Links können Entwickler komplexe Aufgaben in mehrere, kleinere Aufgaben aufteilen. Beispiele für Links sind:
- Formatieren von Benutzereingaben.
- Senden einer Anfrage an ein LLM.
- Daten aus dem Cloud-Speicher abrufen.
- Übersetzen von einer Sprache in eine andere.
Im LangChain-Framework akzeptiert ein Link Eingaben vom Benutzer und leitet sie zur Verarbeitung an die LangChain-Bibliotheken weiter. LangChain ermöglicht auch die Neuanordnung von Links, um verschiedene KI-Workflows zu erstellen.
Übersicht
Um LangChain zu verwenden, installieren Entwickler das Framework in Python mit dem folgenden Befehl:
pip install langchain
Entwickler verwenden dann die Chain-Bausteine oder die LangChain Expression Language (LCEL), um Chains mit einfachen Programmierbefehlen zu erstellen. Die Funktion chain () übergibt die Argumente eines Links an die Bibliotheken. Der Befehl execute () ruft die Ergebnisse ab. Entwickler können das aktuelle Linkergebnis an den folgenden Link übergeben oder es als endgültige Ausgabe zurückgeben.
Unten finden Sie ein Beispiel für eine Chatbot-Chain-Funktion, die Produktdetails in mehreren Sprachen zurückgibt.
chain([
retrieve_data_from_product_database().
send_data_to_language_model().
format_output_in_a_list().
translate_output_in_target_language()
])
Was sind die Kernkomponenten von LangChain?
Mithilfe von LangChain können Softwareteams kontextsensitive Sprachmodellsysteme mit den folgenden Modulen erstellen.
LLM-Schnittstelle
LangChain bietet APIs, mit denen Entwickler LLMs aus ihrem Code verbinden und abfragen können. Entwickler können mit LangChain eine Schnittstelle zu öffentlichen und proprietären Modellen wie GPT, Bard und PaLM herstellen, indem sie einfache API-Aufrufe ausführen, anstatt komplexen Code zu schreiben.
Vorlagen zur Aufforderung
Prompt-Vorlagen sind vorgefertigte Strukturen, die Entwickler verwenden, um Abfragen für KI-Modelle konsistent und präzise zu formatieren. Entwickler können eine Vorlage für Prompts für Chatbot-Anwendungen erstellen, in wenigen Schritten lernen oder den Sprachmodellen spezifische Anweisungen geben. Darüber hinaus können sie die Vorlagen in verschiedenen Anwendungen und Sprachmodellen wiederverwenden.
Agents
Entwickler verwenden die von LangChain bereitgestellten Tools und Bibliotheken, um bestehende Ketten für komplexe Anwendungen zu erstellen und anzupassen. Ein Kundendienstmitarbeiter ist eine spezielle Kette, die das Sprachmodell auffordert, als Antwort auf eine Anfrage die beste Reihenfolge zu bestimmen. Bei der Verwendung eines Kundendienstmitarbeiters stellen die Entwickler die Benutzereingaben, die verfügbaren Tools und mögliche Zwischenschritte zur Verfügung, um die gewünschten Ergebnisse zu erzielen. Dann gibt das Sprachmodell eine praktikable Abfolge von Aktionen zurück, die die Anwendung ausführen kann.
Abrufmodule
LangChain ermöglicht die Architektur von RAG-Systemen mit zahlreichen Tools zum Transformieren, Speichern, Suchen und Abrufen von Informationen, die die Antworten von Sprachmodellen verfeinern. Entwickler können semantische Repräsentationen von Informationen mit Worteinbettungen erstellen und sie in lokalen oder Cloud-Vektordatenbanken speichern.
Arbeitsspeicher
Einige Anwendungen für Konversationssprachmodelle verfeinern ihre Antworten mit Informationen, die aus früheren Interaktionen abgerufen wurden. LangChain ermöglicht es Entwicklern, Speicherfunktionen in ihre Systeme aufzunehmen. Es unterstützt:
- Einfache Speichersysteme, die sich an die letzten Konversationen erinnern.
- Komplexe Speicherstrukturen, die historische Nachrichten analysieren, um die relevantesten Ergebnisse zu liefern.
Rückrufe
Callbacks sind Codes, die Entwickler in ihren Anwendungen platzieren, um bestimmte Ereignisse in LangChain-Operationen zu protokollieren, zu überwachen und zu streamen. Entwickler können beispielsweise nachverfolgen, wann eine Kette zum ersten Mal aufgerufen wurde und bei Callbacks Fehler aufgetreten sind.
Wie kann AWS Ihnen bei Ihren LangChain-Anforderungen helfen?
Mit Amazon Bedrock, Amazon Kendra, Amazon SageMaker JumpStart, LangChain und Ihren LLMs können Sie hochpräzise Anwendungen für generative künstliche Intelligenz (generative KI) auf Basis von Unternehmensdaten erstellen. LangChain ist die Schnittstelle, die diese Komponenten miteinander verbindet:
- Amazon Bedrock ist ein verwalteter Service, mit dem Unternehmen generative KI-Anwendungen erstellen und bereitstellen können. Sie können Amazon Bedrock verwenden, um ein Generationsmodell einzurichten, auf das Sie von LangChain aus zugreifen.
- Amazon Kendra ist ein auf Machine Learning (ML) basierender Service, der Unternehmen bei internen Suchanfragen unterstützt. Sie können Amazon Kendra mit LangChain verbinden, das Daten aus proprietären Datenbanken verwendet, um Sprachmodellausgaben zu verfeinern.
- Amazon SageMaker Jumpstart ist ein ML-Hub, der vorgefertigte Algorithmen und grundlegende Modelle bereitstellt, die Entwickler schnell bereitstellen können. Sie können grundlegende Modelle auf SageMaker Jumpstart hosten und sie von LangChain aus aufrufen.
Beginnen Sie mit LangChain in AWS, indem Sie noch heute ein Konto erstellen.
Nächste Schritte in AWS
Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS.
Starten Sie mit der Entwicklung in der AWS-Managementkonsole.