RAG-Chat
Retrieval-Augmented Generation Chat mit semantischer Suche.
| LLM | Claude Opus 4.5 (Anthropic) |
|---|---|
| Embedding | mxbai-embed-large (Ollama) |
| Vektoren | Qdrant |
| Spracheingabe | Whisper |
RAG-Pipeline
User Query (Text oder Sprache)
↓
Whisper (Speech-to-Text, optional)
↓
Embedding erzeugen (mxbai-embed-large)
↓
Qdrant: Ähnliche Chunks finden (Top-K)
↓
Kontext zusammenstellen
↓
LLM (Opus 4.5): Antwort generieren
↓
Response + Quellenangaben
Konfigurierbare Parameter
| Parameter | UI-Element | Default |
|---|---|---|
| Kontext-Chunks (Top-K) | Slider | 5 |
| Minimum-Similarity | Slider | 0.7 |
| Chat-Historie | Dropdown | 10 Nachrichten |
| Persona | Dropdown | Autorenprofil |
Features
- Konversations-Historie (Session-basiert)
- Quellen-Anzeige (welche Chunks verwendet)
- Confidence-Score pro Antwort
- Follow-up Fragen
- Export der Konversation
- Spracheingabe via Whisper
System-Prompt
Du bist ein Experte für systemische Therapie.
Beantworte Fragen basierend auf dem bereitgestellten Kontext.
Kontext:
{retrieved_chunks}
Regeln:
- Antworte nur basierend auf dem Kontext
- Wenn du unsicher bist, sage es
- Nenne die Quellen deiner Aussagen
- Antworte auf Deutsch
Hybrid-Suche
Kombination aus Keyword- und semantischer Suche:
1. Volltext-Suche (MariaDB FULLTEXT)
2. Semantische Suche (Qdrant Cosine)
3. Ergebnisse mergen (RRF-Ranking)
4. Top-K zurückgeben
Personas (Autorenprofile)
Chat kann verschiedene Personas annehmen:
- Experte - Fachsprache, detailliert
- Didaktisch - Erklärend, Beispiele
- Kompakt - Kurze Antworten
API-Endpunkt
POST /api/chat
{
"message": "Was ist zirkuläres Fragen?",
"session_id": "abc123",
"top_k": 5,
"min_similarity": 0.7
}
Response:
{
"answer": "Zirkuläres Fragen ist...",
"sources": [
{"chunk_id": 42, "document": "therapie.pdf", "similarity": 0.89}
],
"confidence": 0.85
}