Ultimativer Leitfaden für den Einstieg in LangChain
Hast du in letzter Zeit das Papagei- + Ketten-Emoji rund um KI auftauchen sehen? Das sind die charakteristischen Emojis von LangChain. LangChain ist ein KI-Agenten-Tool, das großen Sprachmodellen (LLMs) wie GPT Funktionalität hinzufügt. Darüber hinaus umfasst es Funktionen wie Token-Management, Kontextmanagement und Prompt-Vorlagen. In diesem Tutorial für den Einstieg betrachten wir zwei primäre LangChain-Beispiele mit realen Anwendungsfällen. Erstens, wie man GPT abfragt. Zweitens, wie man ein Dokument mit einem hier verfügbaren Colab-Notebook abfragt. Dieses LangChain-Tutorial führt dich durch den Prozess der Abfrage von GPT und Dokumenten mit LangChain.
In diesem Tutorial behandeln wir:
- Was ist LangChain?
- Wie kannst du LangChain-Abfragen ausführen?
- GPT abfragen
- Ein Dokument abfragen
- Einführung in LangChain – Zusammenfassung
Was ist LangChain?
LangChain ist ein Framework zum Erstellen von Anwendungen, die große Sprachmodelle nutzen. Es ermöglicht dir, schnell mit dem CVP Framework zu bauen. Die zwei Kernfunktionen von LangChain zur Nutzung großer Sprachmodelle sind 1) datenbewusst zu sein und 2) agentisch zu sein. Datenbewusstsein ist die Fähigkeit, externe Datenquellen in eine LLM-Anwendung einzubeziehen. Agency ist die Fähigkeit, andere Tools zu verwenden.
Wie bei vielen LLM-Tools ist LangChains Standard-LLM OpenAIs GPT, und du benötigst einen API-Schlüssel von OpenAI, um es zu verwenden. Zusätzlich bietet LangChain die LangChain Expression Language (LCEL) zum Zusammenstellen komplexer Sprachverarbeitungsketten, wodurch der Übergang vom Prototyping zur Produktion vereinfacht wird. Darüber hinaus funktioniert LangChain sowohl mit Python als auch mit JavaScript. In diesem Tutorial lernst du anhand von Python-Beispielen, wie es funktioniert. Du kannst die Python-Bibliothek über pip installieren, indem du pip install langchain ausführst.
Wie funktioniert LangChain?
Der Frage-Antwort-Ablauf von LangChain besteht aus Bausteinen, die leicht ausgetauscht werden können, um eine individuelle Vorlage entsprechend den jeweiligen Anforderungen zu erstellen. Zu diesen Bausteinen gehören die Frage, das Embedding, die zum Trainieren des Modells verwendeten Dokumente, der konstruierte Prompt und eine Antwort. LangChain nutzt außerdem Output-Parser, um die von Sprachmodellen generierten Antworten zu verwalten und zu verfeinern und so strukturierte und relevante Ergebnisse sicherzustellen. Wenn ein Unternehmen also eine Chat-Erfahrung wünscht, die mit bestimmten Dokumenten trainiert wurde, kann LangChain die verschiedenen Komponenten ein- und austauschen, um dieses Ziel zu erreichen.
Wie verwendet man LangChain mit GPT und der Milvus-Vektordatenbank?
Einer der wichtigsten LangChain-Anwendungsfälle ist die Abfrage von Textdaten. Du kannst es verwenden, um Dokumente oder Vector Stores abzufragen oder um deine Interaktionen mit GPT zu vereinfachen, ähnlich wie bei LlamaIndex. In diesem Tutorial behandeln wir ein einfaches Beispiel dafür, wie man mit LangChain mit GPT interagiert und ein Dokument mithilfe von LangChain mit einem Vector Store nach semantischer Bedeutung abfragt. Dieser Prozess, bekannt als Retrieval Augmented Generation (RAG), erweitert die Fähigkeiten von Sprachmodellen, indem während des Generierungsprozesses externe Daten einbezogen werden.
GPT abfragen
Die meisten Menschen kennen GPT durch das Chatten mit ChatGPT. ChatGPT ist OpenAIs wichtigste Schnittstelle für die Interaktion mit GPT. Wenn du jedoch programmgesteuert mit GPT interagieren möchtest, benötigst du eine Abfrageschnittstelle wie LangChain. LangChain bietet eine Reihe von Abfrageschnittstellen für GPT, von einfachen Ein-Frage-Prompts bis hin zu Few-Shot-Learning über Kontext.
In diesem Beispiel sehen wir uns an, wie man LangChain verwendet, um Fragen mithilfe einer Prompt-Vorlage miteinander zu verketten. Es gibt einige Python-Bibliotheken, die Sie zuerst installieren müssen. Wir können sie mit # pip install langchain openai python-dotenv tiktoken installieren. Ich verwende python-dotenv, weil ich meine Umgebungsvariablen in einer .env-Datei verwalte, aber Sie können jede beliebige Methode verwenden, um Ihren OpenAI-API-Schlüssel zu laden.
Sobald unser OpenAI-API-Schlüssel bereit ist, müssen wir unsere LangChain-Tools laden. Wir benötigen die Importe PromptTemplate und LLMChain aus langchain sowie den Import OpenAI aus langchain.llms. Für dieses Beispiel verwenden wir das Textmodell von OpenAI, text-davinci-003. Als Nächstes erstellen wir eine Vorlage, um GPT abzufragen. Die Vorlage, die wir unten erstellen, weist GPT an, die gegebenen Fragen nacheinander zu beantworten. Zuerst erstellen wir eine Zeichenkette, die Eingabevariablen in Klammern darstellt, ähnlich wie f-strings funktionieren.
import os
from dotenv import load_dotenv
import openai
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
from langchain import PromptTemplate, LLMChain
from langchain.llms import OpenAI
davinci = OpenAI(model_name="text-davinci-003")
multi_template = """Answer the following questions one at a time.
Questions:
{questions}
Answers:
"""
Als Nächstes verwenden wir das Objekt PromptTemplate, um aus der Zeichenkette eine Vorlage mit den angegebenen Eingabevariablen zu erstellen. Sobald unsere Prompt-Vorlage bereit ist, können wir eine LLM-„Chain“ erstellen, indem wir den Prompt und die ausgewählten großen Sprachmodelle übergeben. Jetzt ist es an der Zeit, die Fragen zu erstellen. Sobald wir die Fragen haben, die wir stellen möchten, run wir die LLM-Chain mit den übergebenen Fragen, um unsere Antworten zu erhalten.
long_prompt = PromptTemplate(template=multi_template, input_variables=["questions"])
llm_chain = LLMChain(
prompt=long_prompt,
llm=davinci
)
qs_str = (
"Which NFL team won the Super Bowl in the 2010 season?\n" +
"If I am 6 ft 4 inches, how tall am I in centimeters?\n" +
"Who was the 12th person on the moon?" +
"How many eyes does a blade of grass have?"
)
print(llm_chain.run(qs_str))
Das folgende Bild zeigt die erwarteten Ergebnisse aus unseren Beispielfragen.
Ergebnisse aus Beispielfragen.
Relevante Dokumente abfragen
Einer der Bereiche, in denen GPT und große Sprachmodelle insgesamt verbessert werden können, besteht darin, dass sie nur mit Daten trainiert werden, die zum Zeitpunkt ihres Trainings verfügbar waren. Das bedeutet, dass sie im Laufe der Zeit Kontext und Genauigkeit verlieren. Ähnlich wie das CVP-Framework bietet LangChain eine Möglichkeit, dieses Problem mit Vektordatenbanken zu beheben. Es sind viele Vektordatenbanken verfügbar; für dieses Beispiel verwenden wir Milvus, weil wir damit vertraut sind.
LangChain zeichnet sich im Umgang mit Dokumentdaten aus und wandelt gescannte Dokumente durch Workflow-Automatisierung in verwertbare Daten um.
Um LangChains Fähigkeit zu demonstrieren, aktuelles Wissen in Ihre LLM-Anwendung einzubringen, sowie die Fähigkeit, eine semantische Suche durchzuführen, behandeln wir, wie man ein Dokument abfragt. Für dieses Beispiel verwenden wir ein Transkript der Rede zur Lage der Nation. Sie können das Transkript herunterladen und das Colab-Notebook hier finden. Um die Bibliotheken zu erhalten, die Sie für diesen Teil des Tutorials benötigen, führen Sie pip install langchain openai milvus [pymilvus](https://zilliz.com/blog/get-started-with-pymilvus) python-dotenv tiktoken aus.
Die Fähigkeit, relevante Dokumente dynamisch auf Basis von Benutzeranfragen abzurufen, verbessert die Genauigkeit der generierten Antworten erheblich.
Wie beim Beispiel des Verkettens von Fragen beginnen wir damit, unseren OpenAI-API-Schlüssel zu laden und die großen Sprachmodelle zu nutzen. Anschließend starten wir eine Vektordatenbank mit Milvus Lite, wodurch wir Milvus direkt in unserem Notebook ausführen können.
import os
from dotenv import load_dotenv
import openai
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
from langchain.llms import OpenAI
davinci = OpenAI(model_name="text-davinci-003")
from milvus import default_server
default_server.start()
Jetzt sind wir bereit, auf die Einzelheiten der Abfrage eines Dokuments einzugehen. Dieses Mal gibt es viele Importe aus LangChain. Wir benötigen die OpenAI Embeddings, den Character Text Splitter, die Milvus-Integration, den Text Loader und die Retrieval-Q/A-Chain.
Als Erstes richten wir einen Loader ein und laden die Textdatei. In diesem Fall habe ich sie im selben Ordner wie dieses Notebook unter state_of_the_union.txt. gespeichert. Als Nächstes teilen wir den Text auf und speichern ihn als Satz von LangChain-Dokumenten. Dann können wir unsere Vektordatenbank einrichten. In diesem Fall erstellen wir eine Milvus-Collection aus den Dokumenten, die wir gerade über den TextLoader und CharacterTextSplitter aufgenommen haben. Außerdem übergeben wir die OpenAI Embeddings als Satz von Text-Vektor-Embeddings.
Nachdem unsere Vektordatenbank geladen ist, können wir das RetrievalQA-Objekt verwenden, um die Dokumente über eine Vektordatenbank abzufragen. Wir verwenden den Chain-Typ stuff " und übergeben OpenAI als unser LLM und die Milvus-Vektordatenbank als Retriever. Dann können wir eine Abfrage erstellen, zum Beispiel „What did the president say about Ketanji Brown Jackson?“, und die Abfrage mitrun` ausführen. Schließlich sollten wir unsere Vektordatenbank für einen sauberen Abschluss herunterfahren.
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.text_splitter import CharacterTextSplitter
from langchain.vectorstores import Milvus
from langchain.document_loaders import TextLoader
from langchain.chains import RetrievalQA
loader = TextLoader('./state_of_the_union.txt')
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_documents(documents)
embeddings = OpenAIEmbeddings()
vector_db = Milvus.from_documents(
docs,
embeddings,
connection_args={"host": "127.0.0.1", "port": default_server.listen_port},
)
qa = RetrievalQA.from_chain_type(llm=OpenAI(), chain_type="stuff", retriever=vector_db.as_retriever())
query = "What did the president say about Ketanji Brown Jackson?"
qa.run(query)
default_server.stop()
Das folgende Bild zeigt, wie eine erwartete Antwort aussehen könnte. Wir sollten eine Antwort erhalten wie „The president said that Ketanji Brown Jackson is one of the nation's top legal minds, a former top litigator in private practice, a former federal public defender, …“
Abfrageergebnisse
LangChain-Alternative
Es gibt mehrere chatbasierte Tools, die als Alternativen zu LangChain betrachtet werden könnten, und es wird oft darüber diskutiert, welche davon die besten sind. Viele dieser Alternativen nutzen ebenfalls spezialisierte Chat-Modelle, die für interaktive Chat-Anwendungen entwickelt wurden. Einige, die häufig genannt werden, sind:
- AgentGPT
- TensorFlow
- Auto-GPT
- BabyAGI
- Semantic UI
- LlamaIndex
Zusammenfassung eines LangChain-Tutorials
In diesem Artikel haben wir die Grundlagen der Verwendung von LangChain behandelt. Wir haben gelernt, dass LangChain ein Framework zum Erstellen von LLM-Anwendungen ist, das auf zwei Schlüsselfaktoren basiert. Der erste Faktor ist die Verwendung externer Daten, wie etwa eines Textdokuments. Die Fähigkeit von LangChain, externe Daten zu integrieren, erhöht die Effektivität von Sprachmodellen, indem benutzerspezifische Informationen einbezogen werden. Der zweite Faktor ist die Verwendung anderer Tools, wie etwa einer Vektordatenbank.
Wir haben zwei Beispiele behandelt. Zuerst haben wir uns eines der klassischen LangChain-Beispiele angesehen – wie man mehrere Fragen miteinander verkettet. LangChain arbeitet nahtlos mit verschiedenen Modellanbietern zusammen, darunter OpenAI und Hugging Face, um seine Funktionalität zu erweitern. Anschließend haben wir uns eine praktische Möglichkeit angesehen, LangChain zur Einspeisung von Domänenwissen zu nutzen, indem es mit einer Vektordatenbank wie Milvus kombiniert wird, um Dokumente abzufragen.
Output-Parser spielen eine entscheidende Rolle bei der Verfeinerung der Antworten des Sprachmodells und stellen strukturierte und relevante Ergebnisse sicher.
Weiterlesen

How Zilliz Ended Up at the Center of NVIDIA’s Unstructured Data Story at GTC 2026
If unstructured data is the context of AI, then the ceiling of AI applications will be set not just by models, but by how mature the infrastructure for unstructured data becomes.

Zilliz Cloud Audit Logs Goes GA: Security, Compliance, and Transparency at Scale
Zilliz Cloud Audit Logs are now GA, giving enterprises real-time visibility, compliance-ready trails, and stronger security across AWS, GCP, and Azure.

Selecting the Right ETL Tools for Unstructured Data to Prepare for AI
Learn the right ETL tools for unstructured data to power AI. Explore key challenges, tool comparisons, and integrations with Milvus for vector search.



