Entfessle das Potenzial von LangChain in der modernen KI-Anwendungsentwicklung
Updated on
LangChain hat sich seit 2023 dramatisch weiterentwickelt. Was als einfacher Wrapper rund um LLMs begann, ist heute ein vollständiges Framework für KI-Anwendungen, das Folgendes unterstützt:
- LCEL (LangChain Expression Language)
- Runnables
- LangGraph (zustandsbehaftete, robuste Agent-Workflows)
- OpenAI Function Calling
- Tool Calling
- Fortgeschrittene Speichersysteme (Memory)
- Moderne Dokumenten-Pipelines für RAG
Dieser aktualisierte Leitfaden vermittelt dir ein 2025-taugliches Verständnis von LangChain und zeigt, wie du mit der neuesten OpenAI API echte LLM-Anwendungen baust.
Grundkonzepte für LangChain
🌟 LangChain heute: Ein modernes Framework für KI-Apps
Moderne LLM-Anwendungen benötigen weit mehr als reine Textgenerierung:
- Tools
- Memory
- Dokumenten-Retrieval
- Zustandsverwaltung (State Management)
- Mehrschritt-Workflows
- Fehlermanagement
- Determinismus
LangChain stellt diese Bausteine über Runnables, LCEL und LangGraph bereit und ermöglicht es Entwicklern, verlässliche Agenten- und Workflow-Systeme zu bauen.
🔗 Sequenzielle Workflows mit LCEL (aktualisiert)
LCEL ermöglicht es dir, LLM-Pipelines wie Funktionen zu komponieren:
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
model = ChatOpenAI(model="gpt-4.1")
prompt = ChatPromptTemplate.from_messages([
("system", "You are a helpful assistant."),
("user", "{question}")
])
chain = prompt | model
chain.invoke({"question": "Explain LangChain LCEL in one paragraph."})Damit werden ältere „SequentialChain“-APIs abgelöst.
Erste Schritte mit LangChain
📦 Installation
pip install langchain langchain-openai langgraph faiss-cpuWenn du LangGraph verwendest:
pip install langgraph💬 LLMs und Prompt Templates (moderne API)
LangChain verwendet nun ChatModel-Schnittstellen:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4.1", temperature=0)Prompt Templates bleiben ein zentrales Werkzeug:
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_template(
"Summarize the following text:\n\n{text}"
)⛓️ Chains mit LCEL (statt der alten „Chains API“)
Du baust Chains mit LCEL:
chain = prompt | llm⚙️ Tools & Agents (Best Practices 2025)
Die alten initialize_agent-, „ReAct Agent“- und MiniChain-Stile sind veraltet.
Der empfohlene Ansatz ist:
Verwende LangGraph für Agent-Workflows
LangGraph bietet:
- Zustandsverwaltung (State Management)
- Retry-Policies
- Deterministische Übergänge (Edges)
- Tool Calling
- Persistenz
Beispiel für einen Agent-Knoten:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="gpt-4.1",
temperature=0,
streaming=False
)Tool-Calling-Beispiel:
from langchain_core.tools import tool
@tool
def search_wiki(query: str):
"""Search Wikipedia topics."""
import wikipedia
return wikipedia.summary(query)
tools = [search_wiki]Verknüpfung mit dem LLM:
result = llm.invoke({
"messages": [
{"role": "user", "content": "Find me information about LangChain."}
],
"tools": tools
})🧠 Memory
LangChain Memory unterstützt inzwischen:
- BufferMemory
- ConversationSummaryMemory
- SQL- / Redis-basierte Memory
- Graph-State-Memory (LangGraph)
Beispiel:
from langchain.memory import ConversationBufferMemory
memory = ConversationBufferMemory()
memory.save_context(
{"input": "Hello"},
{"output": "Hi, how can I help?"}
)
memory.load_memory_variables({})📄 Datenladen, Text-Splitter & Retrieval (modernes RAG)
Aktualisiertes Beispiel mit FAISS + OpenAI Embeddings:
from langchain_community.document_loaders import TextLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import FAISS
loader = TextLoader("./state_of_the_union.txt")
docs = loader.load()
splitter = RecursiveCharacterTextSplitter(chunk_size=1000)
chunks = splitter.split_documents(docs)
emb = OpenAIEmbeddings()
db = FAISS.from_documents(chunks, emb)
query = "What policies did the president highlight?"
results = db.similarity_search(query)🚀 End-to-End-Beispiel
Unten findest du eine vollständige, lauffähige LangChain-Pipeline mit LCEL, der aktualisierten OpenAI API und Retrieval.
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain_core.prompts import ChatPromptTemplate
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.document_loaders import TextLoader
from langchain_community.vectorstores import FAISS
# 1. Load LLM
llm = ChatOpenAI(model="gpt-4.1", temperature=0)
# 2. Load + split documents
loader = TextLoader("./state_of_the_union.txt")
docs = loader.load()
splitter = RecursiveCharacterTextSplitter(chunk_size=800)
chunks = splitter.split_documents(docs)
# 3. Build vectorstore
db = FAISS.from_documents(chunks, OpenAIEmbeddings())
# 4. Retrieval chain
prompt = ChatPromptTemplate.from_messages([
("system", "Answer based on the provided context."),
("user", "{question}\n\nContext: {context}")
])
def retriever(q):
results = db.similarity_search(q, k=3)
return "\n".join([r.page_content for r in results])
chain = (
{
"question": lambda x: x,
"context": lambda x: retriever(x)
}
| prompt
| llm
)
# 5. Run end-to-end
response = chain.invoke("What economic topics were mentioned?")
print(response.content)Fazit
LangChain ist im Jahr 2025 nicht mehr nur ein Toolkit – es ist ein vollwertiges Framework für KI-Anwendungen für:
- Agents
- Workflows
- Retrieval-Systeme
- Tool-Integrationen
- Gesprächsanwendungen mit reichhaltiger Memory
Mit LCEL, Runnables und LangGraph kannst du jetzt produktreife KI-Apps mit einer sauberen, wartbaren und skalierbaren Architektur entwickeln.
Nutze diesen Leitfaden als aktualisierte Grundlage, um leistungsstarke, wettbewerbsfähige KI-Anwendungen zu erstellen.