WP05 #3

Merged
Lars merged 12 commits from WP05 into main 2025-12-08 16:17:49 +01:00
Owner

PR: WP-05 Persönlichkeit & RAG-Chat

Zusammenfassung

Dieser PR implementiert Workpackage 05 und transformiert mindnet von einer reinen Suchmaschine zu einem antwortfähigen RAG-System (Retrieval Augmented Generation).
Das System nutzt nun lokale LLMs (Phi-3 Mini via Ollama), um Fragen in natürlicher Sprache zu beantworten, und reichert den Kontext intelligent mit Metadaten an ("Context Intelligence").

Änderungen

Neue Funktionen

  • Endpoint /chat: Neuer Router, der Hybrid-Retrieval und LLM-Generation orchestriert.
  • LLM Service: app/services/llm_service.py kapselt die Kommunikation mit Ollama.
  • Konfiguration: config/prompts.yaml ermöglicht "Late Binding" von Persönlichkeit und RAG-Templates ohne Code-Änderungen.
  • Context Enrichment: Der Chat-Router injiziert Metadaten (Typ, Score, Tags) in den Prompt, damit kleine Modelle (SLMs) komplexe Zusammenhänge (z.B. [DECISION]) verstehen.

Anpassungen & Fixes

  • Retriever (app/core/retriever.py):
    • Fix: Textinhalte (page_content, text) werden nun korrekt aus dem Payload in das QueryHit-Objekt durchgereicht.
    • Feature: Wrapper-Klasse für einfachere Nutzung im Chat-Service hinzugefügt.
  • Config (app/config.py):
    • Standard-Modell auf phi3:mini gesetzt (Performance-Optimierung für CPU).
    • Timeout für LLM-Requests auf 300s erhöht.

Technische Details

  • Modell: phi3:mini (3.8B) wird empfohlen und ist Default.
  • Retrieval: Der Chat erzwingt mode="hybrid", um Graph-Nachbarn zu finden.
  • Dependencies: httpx und PyYAML wurden genutzt.

Test-Protokoll

  • Smoke Test: tests/test_chat_wp05.py erfolgreich ausgeführt.
  • Why-Layer Validierung: Frage nach "Warum Qdrant?" liefert korrekt die Inhalte aus der verknüpften ADR-Notiz, obwohl das Keyword im Projekt fehlte.
  • Latenz-Check: Antwortzeit auf Beelink (CPU) stabilisiert bei ~50-60s.

Deployment Hinweise

  1. Ollama: Muss installiert sein.
  2. Modell: ollama pull phi3:mini muss auf dem Server ausgeführt werden.
  3. Env: .env muss um MINDNET_LLM_MODEL und MINDNET_OLLAMA_URL ergänzt werden.
# PR: WP-05 Persönlichkeit & RAG-Chat ## Zusammenfassung Dieser PR implementiert **Workpackage 05** und transformiert mindnet von einer reinen Suchmaschine zu einem **antwortfähigen RAG-System** (Retrieval Augmented Generation). Das System nutzt nun lokale LLMs (Phi-3 Mini via Ollama), um Fragen in natürlicher Sprache zu beantworten, und reichert den Kontext intelligent mit Metadaten an ("Context Intelligence"). ## Änderungen ### Neue Funktionen - **Endpoint `/chat`:** Neuer Router, der Hybrid-Retrieval und LLM-Generation orchestriert. - **LLM Service:** `app/services/llm_service.py` kapselt die Kommunikation mit Ollama. - **Konfiguration:** `config/prompts.yaml` ermöglicht "Late Binding" von Persönlichkeit und RAG-Templates ohne Code-Änderungen. - **Context Enrichment:** Der Chat-Router injiziert Metadaten (Typ, Score, Tags) in den Prompt, damit kleine Modelle (SLMs) komplexe Zusammenhänge (z.B. `[DECISION]`) verstehen. ### Anpassungen & Fixes - **Retriever (`app/core/retriever.py`):** - Fix: Textinhalte (`page_content`, `text`) werden nun korrekt aus dem Payload in das `QueryHit`-Objekt durchgereicht. - Feature: Wrapper-Klasse für einfachere Nutzung im Chat-Service hinzugefügt. - **Config (`app/config.py`):** - Standard-Modell auf `phi3:mini` gesetzt (Performance-Optimierung für CPU). - Timeout für LLM-Requests auf 300s erhöht. ## Technische Details - **Modell:** `phi3:mini` (3.8B) wird empfohlen und ist Default. - **Retrieval:** Der Chat erzwingt `mode="hybrid"`, um Graph-Nachbarn zu finden. - **Dependencies:** `httpx` und `PyYAML` wurden genutzt. ## Test-Protokoll - [x] **Smoke Test:** `tests/test_chat_wp05.py` erfolgreich ausgeführt. - [x] **Why-Layer Validierung:** Frage nach "Warum Qdrant?" liefert korrekt die Inhalte aus der verknüpften `ADR`-Notiz, obwohl das Keyword im Projekt fehlte. - [x] **Latenz-Check:** Antwortzeit auf Beelink (CPU) stabilisiert bei ~50-60s. ## Deployment Hinweise 1. **Ollama:** Muss installiert sein. 2. **Modell:** `ollama pull phi3:mini` muss auf dem Server ausgeführt werden. 3. **Env:** `.env` muss um `MINDNET_LLM_MODEL` und `MINDNET_OLLAMA_URL` ergänzt werden.
Lars added 12 commits 2025-12-08 16:17:27 +01:00
Lars merged commit 4f171e5245 into main 2025-12-08 16:17:49 +01:00
Lars deleted branch WP05 2025-12-08 16:17:49 +01:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Lars/mindnet#3
No description provided.