RAG-Chat

Retrieval-Augmented Generation Chat mit semantischer Suche.

LLMClaude Opus 4.5 (Anthropic)
Embeddingmxbai-embed-large (Ollama)
VektorenQdrant
SpracheingabeWhisper

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

ParameterUI-ElementDefault
Kontext-Chunks (Top-K)Slider5
Minimum-SimilaritySlider0.7
Chat-HistorieDropdown10 Nachrichten
PersonaDropdownAutorenprofil

Features

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:

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
}