← Alle Projekte

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.

Stack

  • Python
  • RAG
  • FAISS
  • BM25
  • RRF
  • Streamlit
  • MLflow