Große Sprachmodelle sind leistungsstark, haben jedoch für sich allein genommen Einschränkungen. Sie können nicht auf Dwell-Daten zugreifen, den Langzeitkontext früherer Gespräche beibehalten oder Aktionen wie das Aufrufen von APIs oder das Abfragen von Datenbanken ausführen. LangChain ist ein Framework, das diese Lücken schließen und Entwicklern dabei helfen soll, reale Anwendungen mithilfe von Sprachmodellen zu erstellen.
LangChain ist ein Open-Supply-Framework, das strukturierte Bausteine für die Arbeit mit LLMs bereitstellt. Es bietet standardisierte Komponenten wie Eingabeaufforderungen, Modelle, Ketten und Instruments, wodurch die Notwendigkeit reduziert wird, benutzerdefinierten Glue-Code um Modell-APIs herum zu schreiben. Dies erleichtert die Erstellung, Wartung und Erweiterung von Anwendungen im Laufe der Zeit.
Was ist LangChain und warum existiert es?

In der Praxis verlassen sich Anwendungen selten nur auf eine einzige Eingabeaufforderung und eine einzige Antwort. Sie umfassen oft mehrere Schritte, bedingte Logik und Zugriff auf externe Datenquellen. Obwohl es möglich ist, all dies direkt über rohe LLM-APIs abzuwickeln, wird dies schnell komplex und fehleranfällig.
LangChain hilft bei der Bewältigung dieser Herausforderungen, indem es Struktur hinzufügt. Es ermöglicht Entwicklern, wiederverwendbare Eingabeaufforderungen zu definieren, Modellanbieter zu abstrahieren, Arbeitsabläufe zu organisieren und externe Systeme sicher zu integrieren. LangChain ersetzt keine Sprachmodelle. Stattdessen sitzt es über ihnen und sorgt für Koordination und Konsistenz.
Set up und Einrichtung von LangChain
Um LangChain nutzen zu können, müssen Sie lediglich die Kernbibliothek und alle anbieterspezifischen Integrationen installieren, die Sie verwenden möchten.
Schritt 1: Installieren Sie das LangChain Core-Paket
pip set up -U langchain
Wenn Sie OpenAI-Modelle verwenden möchten, installieren Sie auch die OpenAI-Integration:
pip set up -U langchain-openai openai
In LangChain ist Python 3.10 oder höher erforderlich.
Schritt 2: API-Schlüssel festlegen
Wenn Sie OpenAI-Modelle verwenden, legen Sie Ihren API-Schlüssel als Umgebungsvariable fest:
export OPENAI_API_KEY="your-openai-key"
Oder in Python:
import os
os.environ("OPENAI_API_KEY") = "your-openai-key"
LangChain liest diesen Schlüssel automatisch beim Erstellen von Modellinstanzen.
Kernkonzepte von LangChain
LangChain-Anwendungen basieren auf einer kleinen Anzahl von Kernkomponenten. Jede Komponente dient einem bestimmten Zweck und Entwickler können sie kombinieren, um komplexere Systeme zu erstellen.
Die Kernbausteine sind:

Es ist wichtiger, als sich bestimmte APIs zu merken, diese Konzepte zu verstehen.
Arbeiten mit Eingabeaufforderungsvorlagen in LangChain
Eine Eingabeaufforderung kann als die Eingabe beschrieben werden, die einem Sprachmodell zugeführt wird. Im praktischen Einsatz kann die Eingabeaufforderung Variablen, Beispiele, Formatierungsregeln und Einschränkungen enthalten. Zeitgerechte Vorlagen stellen sicher, dass diese Eingabeaufforderungen wiederverwendbar und einfacher zu steuern sind.
Beispiel:
Importieren Sie PromptTemplate aus langchain.prompts
immediate = PromptTemplate.from_template(
"Clarify {matter} in easy phrases."
) textual content = immediate.format(matter="machine studying")
print(textual content)
Eingabeaufforderungsvorlagen machen die harte Codierung von Zeichenfolgen überflüssig und minimieren die Anzahl der Fehler, die durch die manuelle Codeformatierung von Zeichenfolgen entstehen. Es ist auch einfach, Eingabeaufforderungen zu aktualisieren, wenn Ihre Anwendung wächst.
Vorlagen für Chat-Eingabeaufforderungen
Chatbasierte Modelle arbeiten mit strukturierten Nachrichten und nicht mit einem einzelnen Textblock. Diese Nachrichten umfassen typischerweise System-, Menschen- und KI-Rollen. LangChain verwendet Chat-Eingabeaufforderungsvorlagen, um diese Struktur klar zu definieren.
Beispiel:
from langchain.prompts import ChatPromptTemplate
chat_prompt = ChatPromptTemplate.from_messages((
("system", "You're a useful trainer."),
("human", "Clarify {matter} to a newbie.")
))
Diese Struktur ermöglicht Ihnen eine genauere Kontrolle über das Modellverhalten und die Befehlspriorität.
Verwendung von Sprachmodellen mit LangChain
LangChain ist eine Schnittstelle, die Sprachmodell-APIs in einem einheitlichen Format bietet. Dies ermöglicht Ihnen einen Modell- oder Anbieterwechsel mit minimalen Modifikationen.
Verwendung eines OpenAI-Chat-Modells:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
mannequin="gpt-4o-mini",
temperature=0
)
Der Temperaturparameter steuert die Zufälligkeit der Modellausgaben. Niedrigere Werte führen zu vorhersehbareren Ergebnissen, was für Tutorials und Produktionssysteme intestine funktioniert. LangChain-Modellobjekte bieten auch einfache Methoden, wie z aufrufenanstatt Low-Degree-API-Aufrufe zu erfordern.
Ketten in LangChain erklärt
Die einfachste Ausführungseinheit von LangChain ist Ketten. Eine Kette ist eine Verbindung der Eingänge mit den Ausgängen in einem oder mehreren Schritten. Die LLMChain ist die beliebteste Kette. Es integriert eine Eingabeaufforderungsvorlage und ein Sprachmodell in einen wiederverwendbaren Workflow.
Beispiel:
from langchain.chains import LLMChain
chain = LLMChain(
llm=llm,
immediate=immediate
)
response = chain.run(matter="neural networks")
print(response)
Sie verwenden Ketten, wenn Sie reproduzierbares Verhalten mit einer bekannten Schrittfolge wünschen. Sie können mehrere Ketten kombinieren, sodass die Ausgabe einer Kette direkt in die nächste eingespeist wird, wenn die Anwendung wächst.
Instruments in LangChain und API-Integration
Sprachmodelle agieren nicht eigenständig. Instruments bieten ihnen die Freiheit, mit externen Systemen wie APIs, Datenbanken oder Rechendiensten zu kommunizieren. Jede Python-Funktion kann ein Werkzeug sein, vorausgesetzt, sie verfügt über eine klar definierte Ein- und Ausgabe.
Beispiel für ein einfaches Wettertool:
from langchain.instruments import device
import requests
@device
def get_weather(metropolis: str) -> str:
"""Get the present climate in a metropolis."""
url = f"http://wttr.in/{metropolis}?format=3"
return requests.get(url).textual content
Wesentlich sind die Beschreibung und der Identify des Instruments. Das Modell interpretiert sie, um zu verstehen, wann das Werkzeug verwendet werden soll und was es tut. Es gibt auch eine Reihe integrierter Instruments in LangChain, obwohl benutzerdefinierte Instruments weit verbreitet sind, da es sich häufig um anwendungsspezifische Logik handelt.
Agenten in LangChain und dynamischer Entscheidungsfindung
Ketten funktionieren intestine, wenn Sie die Reihenfolge der Aufgaben kennen und vorhersagen können. Viele Probleme der realen Welt bleiben jedoch offen. In diesen Fällen muss das System auf der Grundlage der Frage des Benutzers, Zwischenergebnissen oder der verfügbaren Instruments über die nächste Aktion entscheiden. Hier werden Agenten nützlich.
Ein Agent verwendet ein Sprachmodell als Argumentationsmaschine. Anstatt einem festen Pfad zu folgen, entscheidet der Agent bei jedem Schritt, welche Aktion er ausführen möchte. Zu den Aktionen können das Aufrufen eines Instruments, das Sammeln weiterer Informationen oder das Erstellen einer endgültigen Antwort gehören.
Agenten folgen einem Denkzyklus, der oft als „Vernunft und Handeln“ bezeichnet wird. Das Modell begründet das Drawback, ergreift Maßnahmen, beobachtet das Ergebnis und begründet dann erneut, bis es zu einer endgültigen Antwort kommt.
Um mehr zu erfahren, können Sie zur Kasse gehen:
Erstellen Sie Ihren ersten LangChain-Agenten
LangChain bietet eine Excessive-Degree-Implementierung von Agenten, ohne die Argumentationsschleife auszuschreiben.
Beispiel:
from langchain_openai import ChatOpenAI
from langchain.brokers import create_agent
mannequin = ChatOpenAI(
mannequin="gpt-4o-mini",
temperature=0
)
agent = create_agent(
mannequin=mannequin,
instruments=(get_weather),
system_prompt="You're a useful assistant that may use instruments when wanted."
)
# Utilizing the agent
response = agent.invoke(
{
"enter": "What's the climate in London proper now?"
}
)
print(response)
Der Agent untersucht die Frage, erkennt, dass er Echtzeitdaten benötigt, wählt das Wettertool aus, ruft das Ergebnis ab und gibt dann eine Antwort in natürlicher Sprache aus. All dies geschieht automatisch über das Agent-Framework von LangChain.
Erinnerung und Gesprächskontext
Sprachmodelle sind standardmäßig zustandslos. Sie vergessen die vergangenen Kontakte. Der Speicher ermöglicht es LangChain-Anwendungen, Kontext in mehr als einer Runde bereitzustellen. Chatbots, Assistenten und jedes andere System, in dem Benutzer Folgefragen stellen, benötigen Speicher.
Eine grundlegende Speicherimplementierung ist ein Konversationspuffer, bei dem es sich um einen Speicher für vergangene Nachrichten handelt.
Beispiel:
from langchain.reminiscence import ConversationBufferMemory
from langchain.chains import LLMChain
reminiscence = ConversationBufferMemory(
memory_key="chat_history",
return_messages=True
)
chat_chain = LLMChain(
llm=llm,
immediate=chat_prompt,
reminiscence=reminiscence
)
Immer wenn Sie eine Kette ausführen, fügt LangChain den gespeicherten Konversationsverlauf in die Eingabeaufforderung ein und aktualisiert den Speicher mit der neuesten Antwort.
LangChain bietet mehrere Speicherstrategien, darunter Schiebefenster zur Begrenzung der Kontextgröße, zusammengefassten Speicher für lange Gespräche und Langzeitspeicher mit vektorbasiertem Abruf. Sie sollten die geeignete Strategie basierend auf Kontextlängenbeschränkungen und Kostenbeschränkungen auswählen.
Abruf und externes Wissen
Sprachmodelle basieren auf allgemeinen Daten und nicht auf domänenspezifischen Informationen. Retrieval Augmented Technology löst dieses Drawback, indem zur Laufzeit relevante externe Daten in die Eingabeaufforderung eingefügt werden.
LangChain unterstützt die gesamte Retrieval-Pipeline.
- Laden von Dokumenten aus PDFs, Webseiten und Datenbanken
- Aufteilen von Dokumenten in überschaubare Abschnitte
- Einbettungen für jeden Chunk erstellen
- Einbettungen in einer Vektordatenbank speichern
- Abrufen der relevantesten Blöcke für eine Abfrage
Ein durchschnittlicher Abrufvorgang sieht wie folgt aus:
- Dokumente laden und vorverarbeiten
- Teilen Sie sie in Stücke
- Einbetten und aufbewahren
- Rufen Sie relevante Blöcke basierend auf der Benutzerabfrage ab
- Übergeben Sie abgerufene Inhalte als Kontext an das Modell
Lesen Sie auch: Beherrschen Sie Immediate Engineering für LLM-Anwendungen mit LangChain
Ausgabeanalyse und strukturierte Antworten
Sprachmodelle stellen Textual content bereit, Anwendungen erfordern jedoch normalerweise strukturierten Textual content wie Pay attention, Wörterbücher oder validiertes JSON. Ausgabeparser helfen bei der Umwandlung von Freitext in zuverlässige Datenstrukturen.
Einfaches Beispiel basierend auf einem durch Kommas getrennten Listenparser:
from langchain.output_parsers import CommaSeparatedListOutputParser
parser = CommaSeparatedListOutputParser()
Anspruchsvollere Anwendungsfälle können mit typisierten Modellen mit strukturierten Ausgabeparsern erzwungen werden. Diese Parser befehlen dem Modell, in einem vordefinierten JSON-Format zu antworten und die Antwort zu prüfen, bevor sie weitergegeben wird.
Strukturierte Ausgabeanalyse ist besonders vorteilhaft, wenn die Modellausgaben von anderen Systemen genutzt oder in Datenbanken gespeichert werden.
Produktionsüberlegungen
Wenn Sie vom Experimentieren zur Produktion übergehen, müssen Sie über die Kernkette oder die Agentenlogik hinausdenken.
LangChain bietet produktionsbereite Werkzeuge, um diesen Übergang zu unterstützen. Mit LangServe können Sie Ketten und Agenten als stabile APIs bereitstellen und sie problemlos in Net-, Mobil- oder Backend-Dienste integrieren. Mit diesem Ansatz können Sie Ihre Anwendung skalieren, ohne die Geschäftslogik eng mit dem Modellcode zu verknüpfen.
LangSmith unterstützt Protokollierung, Ablaufverfolgung, Auswertung und Überwachung in Produktionsumgebungen. Es bietet Einblick in den Ausführungsfluss, die Device-Nutzung, die Latenz und Fehler. Diese Transparenz erleichtert das Debuggen von Problemen, das Verfolgen der Leistung im Laufe der Zeit und die Sicherstellung eines konsistenten Modellverhaltens bei sich ändernden Eingaben und Datenverkehr.
Zusammen tragen diese Instruments dazu bei, das Bereitstellungsrisiko zu reduzieren, indem sie die Beobachtbarkeit, Zuverlässigkeit und Wartbarkeit verbessern und die Lücke zwischen Prototyping und Produktionseinsatz schließen.
Häufige Anwendungsfälle
- Chatbots und Gesprächsassistenten, die Gedächtnis, Instruments oder mehrstufige Logik benötigen.
- Beantwortung von Fragen zu Dokumenten mithilfe von Retrieval- und externen Daten.
- Wissensdatenbanken und interne Systeme werden durch die Automatisierung des Kundensupports unterstützt.
- Informationssammlung und -zusammenfassung, Recherchen und Analysemittel.
- Kombination von Arbeitsabläufen zwischen verschiedenen Instruments, APIs und Diensten.
- Automatisierte oder unterstützte Geschäftsprozesse durch unternehmensinterne Instruments.
Es ist flexibel und daher in einfachen Prototypen und komplexen Produktionssystemen einsetzbar.
Abschluss
LangChain bietet ein praktisches und vereinfachtes Framework zum Erstellen realer Apps mit großen Sprachmodellen. Es nutzt vertrauenswürdigeres als reines LLM und bietet Abstraktionen zu Eingabeaufforderungen, Modell, Kette, Instruments, Agent, Speicher und Abruf. Anfänger können einfache Ketten verwenden, fortgeschrittene Benutzer können jedoch dynamische Agenten und Produktionssysteme erstellen. Die Lücke zwischen Experimentieren und Implementierung wird von LangChain mit integrierter Beobachtbarkeit, Bereitstellung und Skalierung geschlossen. Da die Nutzung von LLM zunimmt, ist LangChain eine gute Infrastruktur für den Aufbau langfristiger, flexibler und zuverlässiger KI-gesteuerter Systeme.
Häufig gestellte Fragen
A. Entwickler nutzen LangChain, um KI-Anwendungen zu erstellen, die über einzelne Eingabeaufforderungen hinausgehen. Es hilft dabei, Eingabeaufforderungen, Modelle, Instruments, Speicher, Agenten und externe Daten zu kombinieren, damit Sprachmodelle Schlussfolgerungen ziehen, Maßnahmen ergreifen und reale Arbeitsabläufe unterstützen können.
A. Ein LLM generiert Textual content basierend auf Eingaben, während LangChain die Struktur darum herum bereitstellt. LangChain verbindet Modelle mit Eingabeaufforderungen, Instruments, Speicher, Abrufsystemen und Workflows und ermöglicht so komplexe, mehrstufige Anwendungen anstelle isolierter Antworten.
A. Einige Entwickler verlassen LangChain aufgrund schneller API-Änderungen, zunehmender Abstraktion oder einer Vorliebe für leichtere, maßgeschneiderte Lösungen. Andere greifen auf Alternativen zurück, wenn sie einfachere Setups, eine strengere Kontrolle oder einen geringeren Overhead für Produktionssysteme benötigen.
LangChain ist kostenlos und Open Supply unter der MIT-Lizenz. Sie können es kostenlos nutzen, zahlen aber dennoch für externe Dienste wie Modellanbieter, Vektordatenbanken oder APIs, in die Ihre LangChain-Anwendung integriert ist.
Melden Sie sich an, um weiterzulesen und von Experten kuratierte Inhalte zu genießen.
