Portfolio-Prototyp
Self-Improving LLM Knowledge Base
RAG-Portfoliosystem mit hybrider FAISS/BM25-Suche, persistentem Q&A-Speicher, generierten Zusammenfassungsnotizen und Evaluationswerkzeugen.
GitHub ↗Überblick
Untersucht hybride Suche und persistente Interaktionsaufzeichnungen für eine Markdown-Wissensbasis.
Architektur
- Markdown-Parsing und Chunking bilden die Grundlage für FAISS- und BM25-Indizes (src/ingestion/ und src/retrieval/).
- Gewichtete Reciprocal Rank Fusion kombiniert Suchergebnisse vor der kontextbasierten LLM-Generierung (src/retrieval/hybrid.py und src/llm/reasoning.py).
- Q&A-Aufzeichnungen und generierte Zusammenfassungsnotizen werden als Dateien gespeichert (src/memory/store.py).
Engineering-Entscheidungen
- Dichte, sparse und hybride Suche zum Vergleich anbieten.
- Retrieval, Generierung und dateibasierten Interaktionsspeicher trennen.
- Optionales Reranking und MLflow-Evaluationslogging ermöglichen.
Implementierte Komponenten
- Markdown-Ingestion, FAISS/BM25-Suche und gewichtete RRF.
- Optionales Cross-Encoder-Reranking und kontextbasierte Generierung.
- Q&A-Speicher in JSONL und Zusammenfassungsnotizen in Markdown.
- Streamlit-UI, Recall@K-/MRR-Metriken, heuristische Antwortbewertung und optionales MLflow-Tracking.
Aktuelle Grenzen
- Zusammenfassungsnotizen werden gespeichert, aber nicht automatisch neu indexiert; sie benötigen einen expliziten Ingestion-Lauf, um in die Suche einzugehen.
- Der Query-Pfad verwendet gespeicherte Gesprächshistorie nicht automatisch als Eingabe für die Generierung.
- Heuristische Antwortbewertung ist keine Halluzinationserkennung. Das LLM-as-Judge-Werkzeug erzeugt einen Prompt und keinen validierten Benchmark.
- Optionales MLflow-Logging belegt weder vollständig reproduzierbare Experimente noch kontinuierliche autonome Verbesserung.