Configuration¶
Typed configuration system using Pydantic Settings.
Main Settings¶
v2m.shared.config.Settings
¶
Bases: BaseSettings
Configuración Principal de la Aplicación.
Agrega todas las secciones de configuración utilizando Pydantic Settings.
Atributos
paths: Configuración de rutas. transcription: Configuración de transcripción. gemini: Configuración de Gemini LLM. notifications: Configuración de notificaciones. llm: Configuración de LLM.
Source code in apps/daemon/backend/src/v2m/shared/config/__init__.py
settings_customise_sources(settings_cls, init_settings, env_settings, dotenv_settings, file_secret_settings)
classmethod
¶
Personaliza la prioridad de las fuentes de configuración.
Source code in apps/daemon/backend/src/v2m/shared/config/__init__.py
options: show_source: false members: - paths - transcription - llm - notifications
Paths Configuration¶
v2m.shared.config.PathsConfig
¶
Bases: BaseModel
Configuración para rutas de archivos y directorios.
Atributos
recording_flag: Ruta al archivo PID que indica grabación activa. audio_file: Ruta al archivo WAV temporal para audio grabado. log_file: Ruta al archivo de log para depuración. venv_path: Ruta al entorno virtual de Python.
Source code in apps/daemon/backend/src/v2m/shared/config/__init__.py
options: show_source: false
Transcription Configuration¶
v2m.shared.config.TranscriptionConfig
¶
Bases: BaseModel
Configuración del Servicio de Transcripción.
Atributos
backend: Selector de backend ("whisper"). Defecto: "whisper" whisper: Configuración para el backend Whisper.
Source code in apps/daemon/backend/src/v2m/shared/config/__init__.py
options: show_source: false
v2m.shared.config.WhisperConfig
¶
Bases: BaseModel
Configuración del modelo de transcripción Whisper.
Atributos
model: Nombre o ruta del modelo Whisper (ej. 'tiny', 'base', 'large-v3'). Defecto: 'large-v2' language: Código de idioma ISO 639-1 (ej. 'es', 'en') o 'auto'. Defecto: 'es' device: Dispositivo de cómputo ('cuda' para GPU, 'cpu'). Defecto: 'cuda' compute_type: Precisión numérica ('float16', 'int8_float16', 'int8'). Defecto: 'int8_float16' device_index: Índice de GPU a utilizar. Defecto: 0 num_workers: Número de workers para procesamiento paralelo. Defecto: 4 beam_size: Tamaño del beam search. Defecto: 5 (SOTA 2026 - óptimo para large-v3-turbo) best_of: Número de candidatos a considerar. Defecto: 5 temperature: Temperatura de muestreo (0.0 para determinístico). Defecto: 0.0 vad_filter: Activar filtrado VAD. Defecto: True vad_parameters: Configuración detallada del VAD. audio_device_index: Índice del dispositivo de entrada de audio (None para defecto). no_speech_threshold: Umbral de probabilidad de no-habla (0.0-1.0). Valores altos filtran más segmentos sin habla. Defecto: 0.6 compression_ratio_threshold: Umbral de ratio de compresión para detectar salidas repetitivas/alucinaciones. Defecto: 2.4 log_prob_threshold: Umbral de log-probabilidad para filtrar transcripciones de baja confianza. Defecto: -1.0
Source code in apps/daemon/backend/src/v2m/shared/config/__init__.py
options: show_source: false
v2m.shared.config.VadParametersConfig
¶
Bases: BaseModel
Parámetros para la Detección de Actividad de Voz (VAD).
El VAD filtra segmentos de silencio antes de la transcripción para mejorar la eficiencia y reducir alucinaciones del modelo.
Atributos
threshold: Umbral de probabilidad (0.0 a 1.0) para clasificar un segmento como habla. Defecto: 0.35 (SOTA 2026 - preserva vocales finales del español) min_speech_duration_ms: Duración mínima (ms) para ser considerado habla. Defecto: 250ms min_silence_duration_ms: Duración mínima de silencio (ms) para considerar que el habla terminó. Defecto: 1000ms (Spanish prosody safe - preserves natural pauses) speech_pad_ms: Relleno aplicado al inicio/fin de segmentos de habla detectados. Defecto: 400ms (keeps the start/end of words)
Source code in apps/daemon/backend/src/v2m/shared/config/__init__.py
options: show_source: false
LLM Configuration¶
v2m.shared.config.LLMConfig
¶
Bases: BaseModel
Configuración del Servicio LLM.
Atributos
backend: Selector de backend ("local", "gemini" u "ollama"). Defecto: "local" local: Configuración para el backend local llama.cpp. ollama: Configuración para el backend Ollama.
Source code in apps/daemon/backend/src/v2m/shared/config/__init__.py
options: show_source: false
v2m.shared.config.GeminiConfig
¶
Bases: BaseModel
Configuración del servicio LLM Google Gemini.
Atributos
model: Identificador del modelo Gemini (ej. 'models/gemini-1.5-flash-latest'). temperature: Temperatura de generación (0.0 a 2.0). Defecto: 0.3 max_tokens: Máximo de tokens a generar. Defecto: 2048 max_input_chars: Límite de caracteres de entrada. Defecto: 6000 request_timeout: Tiempo de espera de solicitud HTTP en segundos. Defecto: 30 retry_attempts: Número de reintentos automáticos. Defecto: 3 retry_min_wait: Espera mínima entre reintentos (segundos). Defecto: 2 retry_max_wait: Espera máxima entre reintentos (segundos). Defecto: 10 api_key: Clave de API para Google Cloud (configurar vía variable de entorno GEMINI_API_KEY).
Source code in apps/daemon/backend/src/v2m/shared/config/__init__.py
options: show_source: false
v2m.shared.config.OllamaConfig
¶
Bases: BaseModel
Configuración para backend LLM Ollama (SOTA 2026).
Atributos
host: URL del servidor Ollama. Defecto: http://localhost:11434 model: Nombre del modelo (gemma2:2b, phi3.5-mini, qwen2.5-coder:7b). keep_alive: Tiempo para mantener el modelo cargado. "0m" libera VRAM inmediatamente. temperature: Temperatura de generación. 0.0 para salidas estructuradas determinísticas. translation_temperature: Temperatura para tareas de traducción.
Source code in apps/daemon/backend/src/v2m/shared/config/__init__.py
options: show_source: false
v2m.shared.config.LocalLLMConfig
¶
Bases: BaseModel
Configuración para LLM local usando llama.cpp.
Atributos
model_path: Ruta al archivo del modelo GGUF. n_gpu_layers: Número de capas para descargar a la GPU (-1 para todas). n_ctx: Tamaño de la ventana de contexto. Defecto: 2048 temperature: Temperatura de generación. Defecto: 0.3 max_tokens: Máximo de tokens a generar. Defecto: 512
Source code in apps/daemon/backend/src/v2m/shared/config/__init__.py
options: show_source: false
Notifications Configuration¶
v2m.shared.config.NotificationsConfig
¶
Bases: BaseModel
Configuración de notificaciones de escritorio.
Atributos
expire_time_ms: Tiempo en ms antes del cierre automático. Defecto: 3000 auto_dismiss: Forzar cierre programático. Defecto: True
Source code in apps/daemon/backend/src/v2m/shared/config/__init__.py
options: show_source: false