Zum Hauptinhalt

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).

ToolsFortgeschrittenllmragagents

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).

Inhouse statt Nachschlagewerk

Für den Transfer ins Unternehmen sind die Inhouse-Schulungen der passende nächste Schritt.