JARVIS: asistente de voz local para Linux
Nucleo propio: oye con whisper.cpp, piensa con un modelo de Ollama, habla con Piper, y hace RAG sobre los apuntes del usuario. 100% local, sin cuentas ni claves. Escrito bajo una restriccion dura, 4 GB de VRAM: el cerebro y whisper comparten tarjeta y solo caben porque estan dimensionados para ello. El RAG usa embeddings estaticos con busqueda hibrida; la voz clonada se sirve de una cache de frases. Incluye instalador (install.sh), requisitos, y documentacion del stack, del manejo de root y de las acciones. Los apuntes indexados y el diario NO se incluyen: son privados y el .gitignore los bloquea.
This commit is contained in:
commit
8e4bc8ad94
125 changed files with 25033 additions and 0 deletions
30
config/README_whisper_gpu.md
Normal file
30
config/README_whisper_gpu.md
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# Whisper small en GPU
|
||||
|
||||
El reconocimiento pasa del modelo `base` en CPU al `small` en GPU. Medido:
|
||||
|
||||
| | acierto | latencia (régimen) |
|
||||
|---|---|---|
|
||||
| base · CPU | 80 % | 928 ms |
|
||||
| small · GPU | **93 %** | **~930 ms** |
|
||||
|
||||
Misma velocidad, +13 puntos de acierto. `small` ocupa 757 MiB en la T1200 y
|
||||
coexiste con el modelo grande de Ollama (2901/3717 MiB con los dos cargados).
|
||||
|
||||
## Cómo está montado
|
||||
|
||||
- whisper.cpp compilado con CUDA (sm_75) en `voz/whisper-cuda/` (no versionado;
|
||||
se reconstruye con `cmake -B build -DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=75`).
|
||||
- Envoltorio `~/.local/bin/whisper-server` (copia de referencia en
|
||||
`config/whisper-server-cuda.sh`): fija `LD_LIBRARY_PATH` a las libs de CUDA y
|
||||
llama al binario. Está en el PATH del host, que es donde Newelle lo busca.
|
||||
- Ajustes de Newelle: `stt-settings.whispercpp = {model: small,
|
||||
use_system_server: true}`. El handler arranca el servidor por
|
||||
`flatpak-spawn --host whisper-server` y le pega las peticiones.
|
||||
|
||||
## Lo único a saber
|
||||
|
||||
La PRIMERA transcripción de cada sesión tarda ~4 s: es el arranque del servidor
|
||||
(cargar el modelo a la GPU). A partir de ahí, ~930 ms. El servidor se queda
|
||||
vivo mientras la app corre.
|
||||
|
||||
Para volver a CPU: `use_system_server: false` y `model: base` en los ajustes.
|
||||
Loading…
Add table
Add a link
Reference in a new issue