Cómo construir tu propio Siri local y on-device sin la nube
(thehyperplane.substack.com)- Cómo crear tú mismo un asistente de voz personal que corre en el dispositivo sin depender de APIs de LLM ni de la nube
- Este asistente entiende lenguaje natural, realiza llamadas a funciones personales y funciona únicamente en local, por lo que puede garantizar privacidad total
- Para lograrlo, se ajusta finamente un modelo LLaMA 3.1 con LoRA, se usa Whisper para convertir voz a texto, y luego se interpreta como comando para ejecutarlo directamente en el dispositivo
- El proyecto se compone de generación de dataset → fine-tuning → conexión de interfaz de voz → pruebas y despliegue, y se ofrece como una miniserie gratuita de 5 partes que cubre cada etapa
- Advierte contra la idea equivocada de que “ejecutar on-device = simple”, y enfatiza que incluso en local son indispensables una mentalidad de MLOps y un control de calidad riguroso
¿Por qué construir ahora un asistente de voz local?
- Hablar con ChatGPT es útil, pero ¿de verdad hay que enviar a la nube hasta los comandos más simples?
- Si el modelo está instalado directamente en tu dispositivo, puedes obtener velocidad, privacidad y control al mismo tiempo
- Es especialmente útil en entornos sensibles como salud, legal y herramientas internas de empresa
Resumen de la arquitectura completa
Componentes del proyecto
- Reconocimiento de voz (Whisper) → conversión a texto
- LLM (LLaMA 3.1) → interpretación de comandos
- Ejecutor de funciones → ejecución de funciones reales como
lock_screen()
Parte 1: arquitectura y mentalidad MLOps
Por qué se necesita MLOps incluso en local
- Existen problemas de model drift, cambios en prompts, confiabilidad del dataset y falta de logs para depuración
- Pensar que “con solo correrlo en local es suficiente” es riesgoso; hace falta un enfoque sistemático
Desarrollo en línea vs ejecución offline
- El desarrollo (fine-tuning, generación de datos) se realiza en la nube, mientras que la ejecución funciona en local
- Separar claramente este proceso y gestionarlo de forma estructurada es la esencia de MLOps
Generación del dataset (Dataset Generation Flow)
- No se trata solo de recopilar prompts, sino de diseñar patrones estructurados de llamadas a funciones y una arquitectura de solicitudes conversacionales
- Se genera un dataset de alta calidad que cubre distintas formulaciones, intenciones y casos de falla
Puntos clave
lock_screen()→ incluye distintas expresiones en lenguaje natural como “bloquéame la pantalla”- Un motor de validación automática verifica si la salida tiene la forma esperada
Fine-tuning (Instruction Tuning for Function Calling)
- Ajuste fino de un modelo pequeño (método SFT) para lograr un mapeo preciso de comandos
- Uso de herramientas prácticas como Unsloth, W&B y extracción en formato GGUF
Objetivo
- Convertir LLaMA 3.1 8B en un modelo de 4 bits que pueda ejecutarse localmente
- Buscar una versión liviana que incluso pueda apuntar a Raspberry Pi
Integración del modelo y ejecución real
- Whisper convierte la entrada de voz en texto
- El LLM ajustado interpreta el comando
- Se conecta con un ejecutor local de funciones API (
lock_screen(),get_battery_status(), etc.)
Resultado
- Posibilidad de operar un asistente de voz en tiempo real
- No requiere red, no hay filtración de datos personales y permite control total del usuario
Gestión de riesgos en la etapa offline
- Hace falta probarlo en distintos dispositivos y sistemas operativos
- Es indispensable construir un sistema de logging (con envío manual bajo modalidad opt-in)
- Antes del despliegue formal, hay que detectar problemas temprano mediante stress tests y feedback de usuarios
Planes a futuro
- En la próxima lección se hará una práctica de generación de datasets para llamadas a funciones
- Se construirá de forma estructurada un dataset especializado para aprender el mapeo de comandos en lenguaje natural → llamadas API
- Prohibido hacer scraping; se usarán únicamente simulaciones basadas en prompts y datos de validación automática
Conclusión
- Los sistemas de IA locales son simples, pero su estabilidad y calidad exigen un nivel de gestión más alto
- Como no dependen de logs en la nube ni de hotfixes, requieren mayor confiabilidad y sentido de responsabilidad
- Para ello, hay que aplicar una mentalidad MLOps y un diseño estructurado desde el principio
> “Ha llegado la era de construir asistentes de IA reales centrados en la privacidad y con prioridad local”
> En la siguiente parte comenzará la práctica real de creación de datasets para mapear comandos y funciones.
2 comentarios
La 3.1 es difícil de usar para quienes no hablan inglés, y con la 3.3 o la 4 quizá también se podría usar coreano, pero si se va a ejecutar on-device, considerando que para idiomas distintos del inglés al menos habría que irse a 32b o más para que tenga sentido, parece que todavía está difícil...
Opiniones de Hacker News