Block 07 – Routing & Decision Logic¶
Haufe AI Automation Kurs | Tag 2 - Block 3
Zeitbedarf: 45-50 Minuten | Schwierigkeitsgrad: Fortgeschritten
Thema: Multi-Chain-Flows für Finance & Risk Management
🎯 Lernziele¶
Nach diesem Block können Sie: - Conditional Chains und Routing-Mechanismen implementieren - Spezialisierte Agenten für Finance, Risk und ESG entwickeln - Multi-RAG-Systeme mit themenspezifischen Dokumentensammlungen aufbauen - Komplexe Entscheidungslogik für Compliance und Risikobewertung erstellen
📖 Theorie¶
Verstehen Sie Routing-Konzepte, Decision Trees und Multi-Agent-Systeme für intelligente Finanzanwendungen.
💻 Übung¶
Von Finance & Risk Routern bis zu automatisierten Compliance-Entscheidungsbäumen.
✅ Lösung¶
Vollständige Router-Implementierungen und Multi-Agent-Systeme mit Bewertungskriterien.
🔀 Routing & Intelligente Weiterleitung¶
Kernkonzepte¶
Conditional Chains ermöglichen intelligente Entscheidungen: - Query-Klassifikation: Automatische Erkennung des Anfrage-Typs - Spezialisierte Agenten: Finance, Risk, ESG, Compliance - Decision Trees: Strukturierte Entscheidungsprozesse - Multi-RAG: Themenspezifische Dokumentensammlungen
Anwendungsfälle¶
Besonders wertvoll für: - Compliance-Prüfungen: Automatisierte Regelwerk-Anwendung - Risikobewertungen: Risk-Level-Klassifikation - Finanzanalysen: Spezialisierte KPI-Berechnungen - ESG-Reporting: Nachhaltigkeits-Metriken
🗂️ Assets¶
- Basic Router Flow - LangFlow-Template für Routing
- Multi-RAG System - Conditional Routing mit RAG
- Compliance Decision Tree - Mehrstufige Entscheidungslogik
- Parallel Multi-Agent - Erweiterte Flows
- Document Summarization - Starter-Code
- Call Report App - Vollständige App
🛠️ Hauptübungen¶
1. Finance & Risk Router¶
Ziel: Grundlegender Router für spezialisierte Agenten
Agenten: Finance, Risk, ESG, General
Output: Intelligente Weiterleitung basierend auf Query-Typ
Test-Queries: - Finance: "Wie berechne ich den ROI für unser Fintech-Projekt?" - Risk: "Welche regulatorischen Anforderungen gelten für Kreditrisiken?" - ESG: "Wie integrieren wir CO2-Emissionen in den Quartalsbericht?"
2. Multi-RAG mit Conditional Routing¶
Ziel: Dokumentenbasierte Antworten mit spezialisierten Vectorstores
Features: Fachspezifische Prompts, Vectorstore-Selection
Output: Präzise Antworten aus relevanten Dokumentensammlungen
3. Compliance-Entscheidungsbaum¶
Ziel: Automatisierte Compliance-Prüfungen
Risk-Levels: HIGH_RISK, MEDIUM_RISK, LOW_RISK, NO_RISK
Output: Strukturierte Risikobewertung mit Handlungsempfehlungen
💡 Praktische Code-Beispiele¶
Router-Template¶
router_template = """
Du bist ein Routing-System für ein Finanz- und Risikomanagement-Tool.
Analysiere die folgende Anfrage und entscheide, welcher spezialisierte Agent
am besten geeignet ist, um sie zu beantworten.
Anfrage: {query}
Wähle genau EINEN der folgenden Agenten:
- FINANCE: Für Fragen zu Finanzkennzahlen, Reporting, Controlling
- RISK: Für Fragen zu Risikobewertung, Compliance, Regulierung
- ESG: Für Fragen zu Nachhaltigkeit, ESG-Reporting, Umweltrisiken
- GENERAL: Für allgemeine Fragen
Antwort:
"""
Multi-RAG Setup¶
# Spezialisierte Vectorstores
finance_vectorstore = create_vectorstore("finance_docs/")
risk_vectorstore = create_vectorstore("risk_docs/")
esg_vectorstore = create_vectorstore("esg_docs/")
# Conditional Routing
def route_query(query):
agent_type = classify_query(query)
if agent_type == "FINANCE":
return finance_chain.run(query)
elif agent_type == "RISK":
return risk_chain.run(query)
elif agent_type == "ESG":
return esg_chain.run(query)
else:
return general_chain.run(query)
⚙️ Setup-Anforderungen¶
Python-Pakete¶
pip install langchain langflow streamlit
pip install openai chromadb pypdf
API-Keys erforderlich¶
# .env Datei
OPENAI_API_KEY=your_openai_key_here
LANGFLOW_API_KEY=your_langflow_key_here # Optional
LangFlow Setup¶
# LangFlow starten
langflow run --host 0.0.0.0 --port 7860
# Browser öffnen
http://localhost:7860
Dokumentensammlungen¶
- Finance-Docs: Finanzberichte, KPI-Dokumentation
- Risk-Docs: Compliance-Richtlinien, Regulierungen
- ESG-Docs: Nachhaltigkeitsberichte, ESG-Metriken
🔧 Troubleshooting¶
Häufige Probleme¶
- API-Key Fehler: Konfiguration prüfen (
echo $OPENAI_API_KEY) - LangFlow-Setup: Port 7860 muss frei sein, Chrome/Firefox verwenden
- JSON-Syntax: Flows mit JSON-Validator überprüfen
- Vectorstore-Probleme: Konsistente Embeddings-Modelle verwenden
Performance-Tipps¶
- Router-Entscheidungen: Temperature=0.0 für Konsistenz
- Parallel Processing: Bei Multi-Agent-Systemen aktivieren
- Caching: Für wiederkehrende Queries implementieren
- Chunk-Size: 1000 Tokens bei großen Dokumenten
Debug-Strategien¶
# Router-Entscheidung tracken
print(f"Query: {query}")
print(f"Classified as: {agent_type}")
print(f"Using vectorstore: {selected_store}")
# Source-Dokumente anzeigen
result = chain.run(query, return_source_documents=True)
print("Sources:", result["source_documents"])