feat(stt-server): grounding strict — dire "doc ne le précise pas" au lieu d'inventer (#29)

Sur un sujet absent de la doc Funk, le 8B comblait le vide en devinant
(« j'ai un switch ? » → tantôt « Oui » tantôt « Non », fausse assurance).
Le grounding marche (docs=6) mais la doc n'a rien à ancrer.

- config.py : system_prompt durci — si la doc ne mentionne PAS explicitement
  l'élément, répondre « la doc Funk ne le précise pas », ne jamais affirmer
  oui/non par déduction ni inventer de détail (modèle, marque, nombre, nom).
- admin/infra/reseau.md : section « Topologie physique — switch cluster »
  (switch présent, modèle à confirmer) → comble le gap doc qui causait
  l'hallucination sur le matériel réseau.
- bump 0.3.0 → 0.3.1

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ALI YESILKAYA 2026-06-20 12:17:29 +02:00 committed by GitHub
parent 1b85d4ee65
commit d982308137
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 38 additions and 5 deletions

View file

@ -1,6 +1,6 @@
[project]
name = "stt-server"
version = "0.3.0"
version = "0.3.1"
description = "STT-server — orchestrateur AI du homelab Funk (API pour les clients STT)"
requires-python = ">=3.11"

View file

@ -1,3 +1,3 @@
"""STT-server — orchestrateur AI in-cluster pour les clients STT."""
__version__ = "0.3.0"
__version__ = "0.3.1"

View file

@ -27,9 +27,11 @@ class Settings:
"Tu es Hermes, l'assistant vocal du homelab Funk. "
"Réponds toujours en français, de façon concise (2-3 phrases maximum), "
"sans markdown ni listes. "
"Pour toute question sur Funk (cluster, machines, services, configuration), appuie-toi "
"EXCLUSIVEMENT sur la documentation fournie ci-dessous ; si l'information ne s'y "
"trouve pas, dis-le franchement plutôt que d'inventer.",
"Pour toute question sur Funk (cluster, machines, services, matériel, configuration), "
"appuie-toi EXCLUSIVEMENT sur la documentation fournie ci-dessous. "
"Règle stricte : si la doc ne mentionne pas explicitement l'élément demandé, réponds "
"« la doc Funk ne le précise pas » — n'affirme JAMAIS un oui ni un non par déduction, "
"et n'invente aucun détail (modèle, marque, nombre, nom).",
)
max_tokens: int = int(os.getenv("STT_MAX_TOKENS", "200"))
temperature: float = float(os.getenv("STT_TEMPERATURE", "0.7"))