mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 18:34:43 +02:00
Serveur : /v1/ask accepte un model optionnel (validé contre STT_ALLOWED_MODELS), nouvel endpoint GET /v1/models (défaut + alias autorisés). Pas de switch global. Client : 'stt --text' (chat texte simple sans micro/HUD), '--model hermes|claude|qwen|opus' (noms courts → alias LiteLLM), commandes /model et /models en mode texte. Le modèle choisi est envoyé au serveur à chaque requête (voix comme texte). Claude-Session: https://claude.ai/code/session_013FmcxGsyXZXogiAHQLjnZT Co-authored-by: Claude <noreply@anthropic.com>
36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
"""Configuration du STT-server — via variables d'environnement (12-factor / k8s)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
|
|
|
|
class Settings:
|
|
# LiteLLM (s01) — joint en IP directe depuis le cluster (cf. open-webui).
|
|
litellm_url: str = os.getenv(
|
|
"STT_LITELLM_URL", "http://192.168.10.1:4000/v1/chat/completions"
|
|
)
|
|
litellm_key: str = os.getenv("STT_LITELLM_KEY", "lm-studio")
|
|
# Modèle par défaut + alias LiteLLM autorisés (le client peut en demander un par requête)
|
|
model: str = os.getenv("STT_MODEL", "hermes-default")
|
|
allowed_models: list[str] = [
|
|
m.strip()
|
|
for m in os.getenv(
|
|
"STT_ALLOWED_MODELS",
|
|
"hermes-default,qwen3-8b,claude-sonnet-4-6,claude-opus-4-7",
|
|
).split(",")
|
|
if m.strip()
|
|
]
|
|
|
|
system_prompt: str = os.getenv(
|
|
"STT_SYSTEM_PROMPT",
|
|
"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.",
|
|
)
|
|
max_tokens: int = int(os.getenv("STT_MAX_TOKENS", "200"))
|
|
temperature: float = float(os.getenv("STT_TEMPERATURE", "0.7"))
|
|
request_timeout: float = float(os.getenv("STT_REQUEST_TIMEOUT", "60"))
|
|
|
|
|
|
settings = Settings()
|