feat(stt): mémoire long-terme sémantique via Qdrant (5b) (#10)

Serveur : longterm.py — collection Qdrant stt-memory (embeddings Qwen3 gpu-01, dim auto,
Cosine), recall top-k injecté au prompt, remember des tours user. Tout dégrade proprement
si Qdrant/embeddings injoignables (la mémoire court-terme tient). Env STT_MEMORY_LONGTERM,
STT_QDRANT_URL, STT_EMBED_URL, STT_MEMORY_TOPK.

Testé en process : dégradation OK (Qdrant down → mem=0, pas de crash, court-terme tient).
Qdrant réparé le 17/06 (5c). Recherche sémantique réelle à valider sur cluster.


Claude-Session: https://claude.ai/code/session_013FmcxGsyXZXogiAHQLjnZT

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
ALI YESILKAYA 2026-06-17 16:52:33 +02:00 committed by GitHub
parent 70499b7d84
commit 1986ab56d8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 148 additions and 13 deletions

View file

@ -32,5 +32,14 @@ class Settings:
temperature: float = float(os.getenv("STT_TEMPERATURE", "0.7"))
request_timeout: float = float(os.getenv("STT_REQUEST_TIMEOUT", "60"))
# Mémoire long-terme (Qdrant) — dégrade proprement si Qdrant/embeddings injoignables
memory_longterm: bool = os.getenv("STT_MEMORY_LONGTERM", "true").lower() == "true"
qdrant_url: str = os.getenv("STT_QDRANT_URL", "http://192.168.10.1:6333")
qdrant_collection: str = os.getenv("STT_QDRANT_COLLECTION", "stt-memory")
# Embeddings : Qwen3 sur llama-server gpu-01 (comme le RAG). dim 4096.
embed_url: str = os.getenv("STT_EMBED_URL", "http://192.168.10.20:1234/v1/embeddings")
embed_model: str = os.getenv("STT_EMBED_MODEL", "qwen3-8b")
memory_top_k: int = int(os.getenv("STT_MEMORY_TOPK", "3"))
settings = Settings()