LangChain
LangChain ist ein Open-Source-Framework, das Entwicklern ermöglicht, komplexe KI-Anwendungen mit Large Language Models (LLMs) zu bauen – inklusive verketteter Prompts (Chains), autonomer Agenten und Retrieval-Augmented Generation (RAG).
Was ist LangChain?
LangChain ist ein Python- und JavaScript-Framework (Apache 2.0 lizenziert), das die Entwicklung von LLM-basierten Anwendungen strukturiert und vereinfacht. Es abstrahiert wiederkehrende Muster wie Prompt-Management, Speicherverwaltung, Tool-Integration und die Verkettung von mehreren KI-Schritten zu sogenannten Chains.
Das Framework wurde 2022 von Harrison Chase veröffentlicht und hat sich schnell zum De-facto-Standard für den Aufbau von Chatbots, Dokumenten-Assistenten und autonomen Agenten entwickelt.
Wofür nutzt man LangChain?
- RAG-Pipelines: Dokumente einlesen, in einer Vektordatenbank speichern und kontextbezogen abrufen
- Agents: LLMs können eigenständig Tools aufrufen (z. B. Google-Suche, Code-Interpreter, APIs)
- Chains: Mehrere LLM-Aufrufe und Transformationsschritte logisch verknüpfen
- Memory: Gesprächshistorie persistent halten (kurz- oder langfristig)
- Multi-Model-Support: OpenAI, Anthropic, Mistral, Ollama u. v. m. hinter einer einheitlichen API
Code-Beispiel: Einfache RAG-Pipeline
from langchain_community.document_loaders import TextLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain_community.vectorstores import FAISS
from langchain.chains import RetrievalQA
# Dokument laden und aufteilen
loader = TextLoader("doku.txt")
docs = loader.load()
splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50)
chunks = splitter.split_documents(docs)
# Vektordatenbank aufbauen
vectorstore = FAISS.from_documents(chunks, OpenAIEmbeddings())
# RAG-Chain erstellen
qa_chain = RetrievalQA.from_chain_type(
llm=ChatOpenAI(model="gpt-4o"),
retriever=vectorstore.as_retriever()
)
result = qa_chain.invoke({"query": "Was steht in der Doku?"})
print(result["result"])
Installation
pip install langchain langchain-openai langchain-community faiss-cpu
Vorteile
- Modular und erweiterbar: Komponenten lassen sich frei kombinieren
- Große Ökosystem-Integration: Hunderte Integrationen für LLMs, Vektordatenbanken und Tools
- LangSmith: Eingebautes Tracing und Debugging von Chains
- LCEL (LangChain Expression Language): Deklarative, komposierbare Pipeline-Syntax
- Aktive Community: Schnelle Updates, viele Beispiele
Nachteile
- Abstraktionskomplexität: Für einfache Use-Cases oft Overkill – direkter API-Aufruf reicht
- Häufige Breaking Changes: Das Framework entwickelt sich schnell, was zu Inkompatibilitäten führt
- Debugging kann schwierig sein: Tief verschachtelte Abstraktion erschwert Fehlersuche ohne LangSmith
- Performance-Overhead: Zusätzliche Schichten können Latenz einführen
Alternativen
Für kleinere Projekte sind LlamaIndex (fokussiert auf RAG), Haystack oder direkte SDKs (z. B. openai-Python-Paket) oft einfacher. Für Produktionssysteme lohnt sich der Blick auf LangGraph (LangChains Nachfolger für komplexe Agenten-Workflows).
Verwandte Begriffe
Inhouse statt Nachschlagewerk
Für den Transfer ins Unternehmen sind die Inhouse-Schulungen der passende nächste Schritt.