Block 06: Chat & Conversational AI für Finance & Risk¶
📋 Block-Überblick¶
- Thema: Konversationsfähige KI-Systeme für Finanz- und Risikodokumente
- Zeitbedarf: 45-60 Minuten
- Schwierigkeitsgrad: Fortgeschritten
- Aufbauend auf: Block 04 (Retrieval) & Block 05 (Q&A)
🎯 Lernziele¶
Nach diesem Block können Sie: - Den Unterschied zwischen einfachen Q&A-Systemen und Chatbots verstehen - Conversational Memory-Konzepte für Finance-Anwendungen implementieren - Chat-Interfaces für komplexe Finanz- und Risikofragen erstellen - Die Vorteile von kontextuellem Dialog bei der Dokumentenanalyse nutzen
📚 Theorieteil¶
Conversational AI erweitert die bisherigen Retrieval-Q&A-Systeme um die Fähigkeit, natürliche Dialoge zu führen. Der entscheidende Unterschied liegt in der Memory-Funktion: Das System kann sich an vorherige Fragen und Antworten erinnern und diese in den Kontext neuer Fragen einbeziehen.
In Finance und Risk Management ist dies besonders wertvoll, da Analysen oft iterativ erfolgen: "Wie hoch ist unser Kreditrisiko?" → "Welche Branchen sind am stärksten betroffen?" → "Wie können wir das Risiko reduzieren?"
Das ConversationalRetrievalChain-System von LangChain kombiniert die Stärken des Retrieval-Systems mit fortgeschrittener Gesprächsführung und ermöglicht so eine natürlichere Interaktion mit Ihren Unternehmensdokumenten.
🛠 Aufgaben & Übungen¶
Aufgabe 1: Chat-System Setup¶
Implementieren Sie ein grundlegendes Chat-System für Finanzdokumente:
from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationalRetrievalChain
# Memory für Gesprächskontext
memory = ConversationBufferMemory(
memory_key="chat_history",
return_messages=True
)
# Conversational Chain erstellen
qa = ConversationalRetrievalChain.from_llm(
llm,
retriever=vectordb.as_retriever(),
memory=memory
)
Download: 📓 06_chat.ipynb - Vollständiges Notebook mit Setup und Beispielen
Aufgabe 2: Memory-Strategien testen¶
Experimentieren Sie mit verschiedenen Memory-Typen: - ConversationBufferMemory (vollständiger Verlauf) - ConversationSummaryMemory (zusammengefasster Verlauf) - ConversationBufferWindowMemory (begrenzte Anzahl Nachrichten)
📊 Benötigte Daten & Assets¶
Starter-Code & Notebooks¶
- 📓 Rag_Evolution.py - Hauptnotebook für Chat-Implementierung
- 📓 uebung1_finanz_pdf_analyse.ipynb - Praktische Übung mit Finanzdokumenten
Beispieldokumente¶
🖼 Key Visuals & Diagramme¶
Abbildung 1: Wie Conversational AI den Kontext zwischen Fragen beibehält
Abbildung 2: Memory-Architektur in Conversational Systems
Abbildung 3: Beispiel eines Finance-Chat-Interfaces
⚙️ Setup & Konfiguration¶
Erforderliche Pakete¶
pip install langchain openai chromadb panel
pip install pypdf python-dotenv
Download: 📋 requirements.txt - Vollständige Abhängigkeitsliste
Umgebungsvariablen¶
Erstellen Sie eine .env-Datei mit:
OPENAI_API_KEY=ihr_api_key_hier
LANGCHAIN_API_KEY=optional_für_langsmith
Template: 🔧 .env.example
Erste Schritte¶
- OpenAI API-Key konfigurieren
- Jupyter Notebook starten
06_chat.ipynböffnen und durcharbeiten- Mit eigenen PDF-Dokumenten experimentieren
Anleitung: Setup-Anweisungen (siehe Aufgaben unten)
🚨 Hinweise & Troubleshooting¶
Häufige Probleme¶
Problem: Chat verliert Kontext nach wenigen Nachrichten - Lösung: Memory-Typ anpassen (ConversationBufferWindowMemory statt ConversationBufferMemory) - Tipp: Token-Limits von OpenAI beachten
Problem: Sehr langsame Antworten bei langen Gesprächen
- Lösung: ConversationSummaryMemory verwenden oder Memory regelmäßig leeren
- Code-Beispiel: memory.clear() oder memory.prune()
Problem: Chatbot antwortet nicht auf Basis der Dokumente
- Lösung: Retriever-Parameter überprüfen (k-Wert, Similarity-Threshold)
- Debug-Tipp: return_source_documents=True für Transparenz nutzen
API-Key Management¶
- Verwenden Sie separate API-Keys für Entwicklung und Produktion
- Beachten Sie Rate-Limits bei OpenAI (besonders bei GPT-4)
- Implementieren Sie Error-Handling für API-Ausfälle
Performance-Optimierung¶
- Nutzen Sie lokale Embeddings (HuggingFace) für bessere Performance
- Implementieren Sie Caching für häufige Fragen
- Experimentieren Sie mit verschiedenen Chunk-Größen für Ihre Dokumente
💡 Tipp: Testen Sie Ihr Chat-System mit typischen Finance-Dialogverläufen, bevor Sie es produktiv einsetzen. Beispiel-Dialoge finden Sie in den Übungsmaterialien.