docs(stt): documenter le fix /no_think Qwen3 + instance embeddings :1238

- admin/ia/stt.md : caveat « thinking » Qwen3 (content vide / timeout 502) +
  fix /no_think + fallback reasoning_content ; roadmap 5e ; bannière.
- stt/server/README.md : env STT_DISABLE_THINKING + section caveat Qwen3.
- admin/ia/llama_server.md : 4e instance llama-embed :1238 (nomic, dim 768),
  double source d'embeddings (1234 Qwen3 / 1238 nomic), caveat thinking,
  correction dim Qwen3 (3584 → 4096).
- admin/ia/litellm.md : cross-ref caveat thinking (concerne tous les
  consommateurs de hermes-default/qwen3).
- ci : exclure **/*.md du trigger build-stt-server (doc-only ne rebuild plus).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013FmcxGsyXZXogiAHQLjnZT
This commit is contained in:
Claude 2026-06-17 20:31:13 +00:00
parent c79c203970
commit 1340c36b16
No known key found for this signature in database
5 changed files with 62 additions and 7 deletions

View file

@ -31,12 +31,22 @@ la cohérence de la mémoire process. Mémoire long-terme Qdrant = phase 5b.)
| `STT_ALLOWED_MODELS` | `hermes-default,qwen3-8b,claude-sonnet-4-6,claude-opus-4-7` | alias autorisés (demandables par le client) |
| `STT_SYSTEM_PROMPT` | prompt vocal FR concis | persona |
| `STT_MAX_TOKENS` / `STT_TEMPERATURE` | `200` / `0.7` | génération |
| `STT_DISABLE_THINKING` | `true` | ajoute `/no_think` au prompt (désactive le raisonnement Qwen3) |
| `STT_MEMORY_LONGTERM` | `true` | mémoire long-terme Qdrant (dégrade si injoignable) |
| `STT_QDRANT_URL` | `http://192.168.10.1:6333` | Qdrant (s01) |
| `STT_EMBED_URL` | `http://192.168.10.20:1238/v1/embeddings` | embeddings nomic-embed-text (gpu-01 `:1238`, dim 768) |
| `STT_EMBED_MODEL` | `nomic-embed-text` | alias du modèle d'embedding |
| `STT_MEMORY_TOPK` | `3` | nombre de souvenirs injectés |
## Caveat Qwen3 — mode « thinking »
Qwen3 est un modèle de raisonnement : par défaut il « réfléchit » avant de répondre. Avec un
`max_tokens` faible (200), il dépense tout le budget dans `reasoning_content``content` **vide** ;
sur certaines questions il réfléchit longtemps → **timeout** (502 `upstream LiteLLM : `). `brain.py`
ajoute donc le token de contrôle **`/no_think`** au prompt système (`STT_DISABLE_THINKING=true`,
inoffensif pour les modèles non-Qwen) et, par sécurité, récupère `reasoning_content` si `content`
est vide. Voir le caveat partagé dans `admin/ia/llama_server.md`.
## Dev local
```bash