import type { SystemInfoConfig } from './types' export const ragConfig: SystemInfoConfig = { title: 'RAG System-Info', description: 'Retrieval Augmented Generation fuer intelligente Dokumentensuche.', version: '2.5', architecture: { layers: [ { title: 'RAG UI', components: ['Chat Interface', 'Document Viewer', 'Source Citations'], color: '#3b82f6' }, { title: 'RAG Pipeline', components: ['Query Processor', 'Retriever', 'Generator'], color: '#8b5cf6' }, { title: 'Vector Store', components: ['Qdrant', 'Embedding Service', 'Index Manager'], color: '#10b981' }, { title: 'Document Store', components: ['MinIO', 'PostgreSQL', 'Chunk Cache'], color: '#f59e0b' }, ], }, features: [ { name: 'Semantic Search', status: 'active', description: 'Bedeutungsbasierte Suche' }, { name: 'Source Citations', status: 'active', description: 'Quellenangaben in Antworten' }, { name: 'Multi-Document', status: 'active', description: 'Suche ueber mehrere Dokumente' }, { name: 'Hybrid Search', status: 'active', description: 'Kombination semantisch + keyword' }, { name: 'Conversation Memory', status: 'planned', description: 'Kontextbewahrung' }, ], roadmap: [ { phase: 'Phase 1: Quality (Q1)', priority: 'high', items: ['Relevanz-Tuning', 'Chunk Optimization', 'Re-Ranking', 'Answer Quality'] }, { phase: 'Phase 2: Scale (Q2)', priority: 'high', items: ['Index Sharding', 'Cache Layer', 'Batch Processing', 'Multi-Tenant'] }, { phase: 'Phase 3: Intelligence (Q3)', priority: 'medium', items: ['Query Expansion', 'Self-Reflection', 'Multi-Hop QA', 'Knowledge Graph'] }, ], technicalDetails: [ { component: 'Vector DB', technology: 'Qdrant', version: '1.12+', description: 'Similarity Search' }, { component: 'Embeddings', technology: 'OpenAI', description: 'text-embedding-3-large' }, { component: 'LLM', technology: 'GPT-4o / Claude', description: 'Answer Generation' }, { component: 'Chunking', technology: 'LangChain', description: 'Document Processing' }, ], privacyNotes: [ 'Dokumente werden lokal verarbeitet', 'Embeddings enthalten keine Klartextdaten', 'LLM-Anfragen sind tenant-isoliert', ], auditInfo: [ { category: 'RAG Pipeline', items: [ { label: 'Indexierte Dokumente', value: 'Tracking', status: 'ok' }, { label: 'Vector DB Status', value: 'Qdrant Online', status: 'ok' }, { label: 'Embedding Model', value: 'text-embedding-3', status: 'ok' }, { label: 'LLM Provider', value: 'Multi-Provider', status: 'ok' }, ], }, { category: 'Qualitaet', items: [ { label: 'Retrieval Precision', value: 'Tracking', status: 'ok' }, { label: 'Answer Accuracy', value: 'Evaluation', status: 'ok' }, { label: 'Halluzinations-Rate', value: 'Monitoring', status: 'ok' }, { label: 'Citation Accuracy', value: '> 95%', status: 'ok' }, ], }, { category: 'Performance', items: [ { label: 'Avg. Latency', value: '< 3s', status: 'ok' }, { label: 'Cache Hit Rate', value: '> 30%', status: 'ok' }, { label: 'Concurrent Users', value: 'Skalierbar', status: 'ok' }, { label: 'Cost per Query', value: 'Tracking', status: 'ok' }, ], }, ], fullDocumentation: `

RAG System - Retrieval Augmented Generation

1. Uebersicht

Das RAG-System kombiniert Dokumenten-Retrieval mit LLM-Generation fuer praezise, quellenbasierte Antworten auf Nutzeranfragen.

2. RAG-Pipeline

User Query
     │
     v
┌───────────────────────────────────────────────────────────────┐
│                      Query Processing                          │
│  ├── Query Analysis (Intent, Entities)                        │
│  ├── Query Expansion (Synonyme, Reformulierung)               │
│  └── Embedding Generation                                      │
└────────────────────────────┬──────────────────────────────────┘
                             │
                             v
┌───────────────────────────────────────────────────────────────┐
│                      Retrieval                                 │
│  ┌─────────────────┐    ┌─────────────────┐                   │
│  │ Vector Search   │    │ Keyword Search  │                   │
│  │ (Qdrant)        │    │ (PostgreSQL)    │                   │
│  └────────┬────────┘    └────────┬────────┘                   │
│           │                      │                             │
│           └──────────┬───────────┘                             │
│                      v                                         │
│           ┌─────────────────────┐                              │
│           │   Hybrid Fusion     │                              │
│           │   (RRF Algorithm)   │                              │
│           └─────────────────────┘                              │
└────────────────────────┬──────────────────────────────────────┘
                         │
                         v
┌───────────────────────────────────────────────────────────────┐
│                      Re-Ranking                                │
│  ├── Cross-Encoder Scoring                                    │
│  ├── Metadata Filtering                                       │
│  └── Diversity Sampling                                       │
└────────────────────────┬──────────────────────────────────────┘
                         │
                         v
┌───────────────────────────────────────────────────────────────┐
│                      Generation                                │
│  ├── Context Assembly                                         │
│  ├── Prompt Engineering                                       │
│  ├── LLM Call (GPT-4o / Claude)                               │
│  └── Citation Extraction                                      │
└────────────────────────┬──────────────────────────────────────┘
                         │
                         v
┌───────────────────────────────────────────────────────────────┐
│                      Response                                  │
│  ├── Answer Text                                              │
│  ├── Source Citations                                         │
│  └── Confidence Score                                         │
└───────────────────────────────────────────────────────────────┘

3. Chunking-Strategie

ParameterWertGrund
Chunk Size512 TokensOptimal fuer Retrieval
Overlap50 TokensKontext-Erhalt
SplitterSemanticNatuerliche Grenzen
MetadataDocument, Page, SectionZitation

4. API Endpoints

EndpointMethodeBeschreibung
/api/rag/queryPOSTFrage stellen
/api/rag/documentsGETDokumente listen
/api/rag/documentsPOSTDokument indexieren
/api/rag/collectionsGETSammlungen
/api/rag/evaluatePOSTAntwort bewerten

5. Prompt-Template

System:
Du bist ein hilfreicher Assistent fuer Bildungsinhalte.
Beantworte Fragen basierend auf den gegebenen Dokumenten.
Zitiere immer die Quellen in [1], [2] Format.
Wenn du dir nicht sicher bist, sage es.

Context:
[1] {chunk_1_text}
[2] {chunk_2_text}
[3] {chunk_3_text}

User:
{user_question}

Regeln:
- Nur Informationen aus dem Kontext verwenden
- Bei Unsicherheit "Ich weiss nicht" sagen
- Quellen mit [n] zitieren
- Praezise und strukturiert antworten

6. Qualitaets-Metriken

MetrikBeschreibungZiel
Precision@KRelevante unter Top-K> 80%
Recall@KGefundene Relevante> 70%
NDCGRanking-Qualitaet> 0.85
Answer RelevanceLLM-Evaluation> 4/5
FaithfulnessFakten-Treue> 95%

7. Caching

Cache-Strategie:
├── Query Cache
│   ├── Key: Query Embedding Hash
│   ├── TTL: 24 Stunden
│   └── Invalidierung: Bei Index-Update
│
├── Retrieval Cache
│   ├── Key: Query + Collection
│   ├── TTL: 1 Stunde
│   └── Top-K Results
│
└── Answer Cache
    ├── Key: Query Hash + Context Hash
    ├── TTL: 24 Stunden
    └── Full Response

8. Multi-Tenant

9. Evaluation-Pipeline

Test-Datensatz
     │
     ├── Frage-Antwort-Paare (Golden Set)
     │
     v
┌───────────────────────────────────────┐
│  RAG Pipeline                         │
└─────────────────┬─────────────────────┘
                  │
                  v
┌───────────────────────────────────────┐
│  Evaluation Metrics                   │
│  ├── Retrieval: Precision, Recall     │
│  ├── Generation: BLEU, ROUGE          │
│  ├── LLM-as-Judge: Relevance, Correct │
│  └── Human Eval: Subset               │
└─────────────────┬─────────────────────┘
                  │
                  v
┌───────────────────────────────────────┐
│  Report & Regression Detection        │
└───────────────────────────────────────┘

10. Optimierungs-Roadmap

  1. Hybrid Search: Kombination Vektor + Keyword (✓)
  2. Re-Ranking: Cross-Encoder (✓)
  3. Query Expansion: LLM-basiert (In Arbeit)
  4. Multi-Hop QA: Verkettete Abfragen (Geplant)
  5. Self-Reflection: Antwort-Pruefung (Geplant)
`, }