Go to file
Lars ba57e8b43f
All checks were successful
Deploy mindnet to llm-node / deploy (push) Successful in 12s
Merge pull request 'WP10' (#6) from WP10 into main
Reviewed-on: #6
# Merge Request: WP-10 (Chat Interface & Frontend Architecture)

**Branch:** `feature/WP10-chat-interface` → `main`
**Status:**  Ready for Merge
**Version Bump:** v2.3.1 → v2.3.2

## Zusammenfassung
Dieser Merge führt das **Web-Frontend (Streamlit)** ein. Damit wird Mindnet von einer reinen Terminal-Applikation zu einem interaktiven System mit grafischer Benutzeroberfläche.
Das Frontend visualisiert die Entscheidungen der **Decision Engine** (WP-06) und ermöglicht strukturiertes Feedback für das zukünftige **Self-Tuning** (WP-08).

## 🚀 Neue Features (User Perspective)
* **Web Chat UI:** ChatGPT-ähnliches Interface mit persistenter History.
* **Intent Visualisierung:** Badges zeigen an, in welchem Modus (FACT, DECISION, EMPATHY) das System antwortet und *warum* (Keyword vs. LLM).
* **Transparent Sources:** Verwendete Quellen werden als expandierbare Karten unter der Antwort angezeigt, inkl. "Why"-Erklärung.
* **Feedback Loop:**
    * **Global (Antwort):** 1-5 Sterne Rating.
    * **Granular (Quellen):** Faces-Rating (Mapped auf Score 1-5) für spezifische Chunks.

## 🛠️ Technische Änderungen (Backend/Infra)
* **Neue Komponente:** `app/frontend/ui.py` (Streamlit App).
* **Dependencies:** `streamlit` zu `requirements.txt` hinzugefügt.
* **Deployment:** Konfiguration für getrennte Services in Prod und Dev:
    * **PROD:** Backend `:8001` ↔ Frontend `:8501`
    * **DEV:** Backend `:8002` ↔ Frontend `:8502`
* **Logging:** Integration der Feedback-Logik in `data/logs/feedback.jsonl`.

## ⚠️ Deployment Hinweise
Nach dem Merge müssen auf dem Server folgende Schritte ausgeführt werden:

1.  **Dependencies:** `pip install -r requirements.txt` (für Streamlit).
2.  **Systemd:** Neue Service-Files für die UI anlegen (`mindnet-ui-prod.service`).
3.  **Firewall:** Port `8501` (Prod) und `8502` (Dev) in `ufw` freigeben.

## Checkliste
- [x] UI startet und verbindet sich mit API.
- [x] Chat-Flow (Request/Response) funktioniert.
- [x] Intent-Badge zeigt korrekte Source an.
- [x] Feedback wird in `feedback.jsonl` geschrieben.
- [x] Dokumentation (Admin Guide, User Guide, Arch) ist aktualisiert.
2025-12-10 10:29:10 +01:00
.gitea/workflows .gitea/workflows/deploy.yml aktualisiert 2025-11-07 09:37:02 +01:00
.vscode Neue Dokumentationsdateien 2025-12-07 15:49:44 +01:00
app Gui Anpassung. 2025-12-09 23:16:28 +01:00
config verbessertes Prompt, und chat-Router optimiert 2025-12-09 13:50:18 +01:00
docker docker/embeddings.Dockerfile aktualisiert 2025-09-04 08:00:52 +02:00
docs Dokumentation WP10 2025-12-10 10:26:44 +01:00
Programmmanagement Dokumentation WP10 2025-12-10 10:26:44 +01:00
schemas schemas/note.schema.json aktualisiert 2025-09-09 19:43:12 +02:00
scripts scripts/health_check_mindnet.py aktualisiert 2025-12-05 12:12:30 +01:00
tests neue Test 2025-12-09 18:02:21 +01:00
vault vault/leitbild/templates/obsidian_review_daily.md hinzugefügt 2025-11-01 15:08:47 +01:00
README.md test 2025-12-07 12:43:20 +01:00
requirements.txt Erste Version Wp10 2025-12-09 18:44:26 +01:00

mindnet API (bundle)

This bundle provides a minimal FastAPI app for embeddings and Qdrant upserts/queries plus a Markdown importer.

Quick start

python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

# Environment (adjust as needed)
export QDRANT_URL=http://127.0.0.1:6333
export MINDNET_PREFIX=mindnet
export MINDNET_MODEL=sentence-transformers/all-MiniLM-L6-v2

# Run API
uvicorn app.main:app --host 0.0.0.0 --port 8001 --workers 1

# (optional) Ensure collections exist (or use setup_mindnet_collections.py you already have)
# python3 scripts/setup_mindnet_collections.py --qdrant-url $QDRANT_URL --prefix $MINDNET_PREFIX --dim 384 --distance Cosine

# Import some notes
python3 scripts/import_markdown.py --vault /path/to/Obsidian

Endpoints

  • POST /embed{ "texts": [...] } → 384-d vectors
  • POST /qdrant/upsert_note
  • POST /qdrant/upsert_chunk
  • POST /qdrant/upsert_edge
  • POST /qdrant/query → semantic search over chunks with optional filters

See scripts/quick_test.sh for a runnable example.

Anmerkung: Diese Datei ist veraltet