Block 08 – LangGraph & Advanced Workflows¶
Haufe AI Automation Kurs | Tag 2 - Block 4
Zeitbedarf: 90 Minuten | Schwierigkeitsgrad: Einsteiger
Zielgruppe: Finance, Controlling, Risk Management
🎯 Lernziele¶
Nach diesem Block können Sie: - Grundkonzepte von LangGraph und Vorteile gegenüber klassischen Chains verstehen - StateGraphs für komplexe Entscheidungslogik aufbauen - Routing-Workflows für Risikomanagement und Compliance umsetzen - KI-Workflows mit Mermaid-Diagrammen visualisieren
📖 Theorie¶
Verstehen Sie den Unterschied zwischen LangChain und LangGraph, StateGraphs und zustandsbasierte Workflows.
💻 Übung¶
Von einfachen Risk-Classifiern bis zu komplexen Compliance-Workflows mit mehrstufiger Genehmigung.
✅ Lösung¶
Vollständige LangGraph-Implementierungen mit erweiterten Features und Visualisierungen.
🕸️ LangGraph vs. LangChain¶
Warum LangGraph?¶
LangGraph erweitert LangChain um: - Zustandsbasierte Workflows statt sequenzieller Chains - Flexible Routing-Logik mit Graphen-Struktur - Dynamische Entscheidungen basierend auf Zuständen - Komplexe Verzweigungen für Finanzanwendungen
Kernkonzepte¶
StateGraph-Architektur: - Knoten: Spezialisierte Aufgaben (classify, handle, route) - Kanten: Workflow-Steuerung basierend auf Bedingungen - Zustand: Shared State zwischen allen Knoten - Entry/Exit Points: Start- und Endpunkte des Workflows
🗂️ Assets¶
- Simple LangGraph Example - Grundgerüst für Risk-Classifier
- LangGraph Übungen Notebook - Schrittweise Entwicklung
- Minimal Financial Graph - Routing-Template
- Financial Compliance Graph - Erweiterte Implementierung
- Mermaid Risk Graph - Visualisierungs-Tools
- LangGraph Visualization - Graph-Darstellung
🛠️ Hauptübungen¶
1. Einfacher Risk-Classifier¶
Ziel: Ersten LangGraph für Risikoklassifizierung erstellen
Komponenten: classify_risk, handle_risk, StateGraph
Output: Funktionaler Risk-Classifier mit State-Management
2. Routing-Workflow für Finanzrisiken¶
Ziel: Komplexes Routing-System mit spezialisierten Expertenknoten
Features: classify_risk_type, financial_expert, compliance_expert
Output: Intelligente Weiterleitung an Fachexperten
3. Compliance-Workflow mit Eskalation¶
Ziel: Automatisierte Dokumentenprüfung mit mehrstufiger Genehmigung
Features: Multi-Level-Approval, Eskalationslogik
Output: Produktiver Compliance-Workflow
4. Workflow-Visualisierung¶
Ziel: Mermaid-Diagramme für bessere Verständlichkeit
Tools: Mermaid, Graphviz, PNG-Generierung
Output: Professionelle Workflow-Dokumentation
💡 Praktische Code-Beispiele¶
Grundlegendes StateGraph Setup¶
from typing import TypedDict, Optional
from langgraph.graph import StateGraph, END
# Zustandstyp definieren
class RiskState(TypedDict):
question: str
risk_level: Optional[str]
response: Optional[str]
def classify_risk(state):
# Risikoklassifizierung implementieren
question = state["question"]
# ... Klassifizierungslogik
return {"risk_level": "high"}
def handle_risk(state):
# Behandlungslogik implementieren
risk_level = state["risk_level"]
# ... Behandlungslogik
return {"response": "Risk handled"}
# Graph aufbauen
graph = StateGraph(RiskState)
graph.add_node("classify", classify_risk)
graph.add_node("handle", handle_risk)
graph.add_edge("classify", "handle")
graph.add_edge("handle", END)
graph.set_entry_point("classify")
app = graph.compile()
# Ausführen
result = app.invoke({"question": "Kreditrisiko Analyse"})
Conditional Routing¶
def route_to_expert(state):
risk_type = state["risk_type"]
if risk_type == "financial":
return "financial_expert"
elif risk_type == "compliance":
return "compliance_expert"
else:
return "general_handler"
# Conditional Edge hinzufügen
graph.add_conditional_edges(
"classify_risk_type",
route_to_expert,
{
"financial_expert": "financial_expert",
"compliance_expert": "compliance_expert",
"general_handler": "general_handler"
}
)
⚙️ Setup-Anforderungen¶
Python-Pakete¶
pip install langgraph langchain langchain-openai
pip install jupyter matplotlib graphviz pillow
API-Keys erforderlich¶
# credentials.yml
openai_api_key: "your_openai_key_here"
Voraussetzungen¶
- Python 3.8+ und pip installiert
- OpenAI API-Schlüssel (kostenlose Credits verfügbar)
- Editor: Jupyter Notebook oder VS Code empfohlen
Beispieldaten¶
- beispiel_risiken.json: Testdaten für Risikoklassifizierung
- compliance_documents.json: Beispieldokumente für Compliance-Workflows
🔧 Troubleshooting¶
Häufige Probleme¶
- API-Fehler: OpenAI API-Schlüssel und Guthaben prüfen
- Import-Fehler: Alle Pakete aus requirements.txt installieren
- Graph-Visualisierung: Internetverbindung für Mermaid-API erforderlich
- Rate-Limiting: Pausen zwischen API-Aufrufen einbauen
Debug-Strategien¶
# Graph-Struktur anzeigen
app.get_graph().print_ascii()
# Zustandsfluss verfolgen
def debug_node(state):
print(f"Current state: {state}")
return state
# Streaming für Echtzeit-Einblicke
for step in app.stream({"question": "Test"}):
print(step)
Performance-Tipps¶
- Testen Sie jeden Knoten einzeln vor Graph-Integration
- Verwenden Sie print()-Statements für Zustandsverfolgung
- Aktivieren Sie Logging für detaillierte Ausführungsinformationen
- Beginnen Sie einfach und erweitern Sie schrittweise
🌟 Weiterführende Ressourcen¶
- LangGraph Dokumentation - Offizielle Docs
- LangChain Academy - Kostenlose Kurse
- GitHub Examples - Praktische Beispiele