Introduction

Le développement d'un assistant vocal offline pour les smart homes est un défi, en particulier lorsqu'il s'agit de supporter des langues autres que l'anglais. Ivan, un développeur solo, a créé SelenaCore, un hub de smart home open-source qui fonctionne complètement hors ligne, prend en charge la langue ukrainienne et n'envoie aucune donnée dans le cloud.

Contexte Technique

SelenaCore repose sur plusieurs couches, notamment une chaîne de traitement vocal hors ligne, une couche de modèle de langage local (LLM) avec prise en charge d'Ollama et de fournisseurs de cloud en tant que recours optionnel, un système de modules avec 21 modules intégrés pour les appareils, les minuteries, la météo, etc., ainsi qu'une interface web pour la gestion et la surveillance basée sur React SPA.

Le système utilise Raspberry Pi 4/5 ou NVIDIA Jetson Orin Nano comme cible matérielle. Whisper offre une meilleure précision, mais est trop lent pour une interface en temps réel sur Raspberry Pi 4. Vosk avec vosk-model-uk offre une précision acceptable et répond en 300-500 ms, ce qui est confortable pour un assistant vocal.

Analyse et Implications

La reconnaissance d'intention est la partie la plus difficile du développement. La version actuelle utilise une approche à trois niveaux : une mémoire cache de phrases floues pour les commandes déjà vues, un classificateur d'incrustation pour la classification d'intention et un recours LLM pour les demandes complexes ou ambiguës.

Les résultats sur un benchmark vocal ukrainien de 70 commandes montrent une précision d'intention de 92,9 % et une précision de paramètres de 98,6 %. Tous les traitements internes se déroulent en anglais uniquement, avec des traductions à deux frontières : la sortie Vosk et l'entrée de la synthèse vocale Piper TTS.

Perspective

SelenaCore prouve qu'un assistant vocal offline pour les smart homes avec prise en charge de la langue ukrainienne est possible sur du matériel abordable. Il s'agit d'un outil pour les personnes qui se soucient de la vie privée et veulent comprendre ce qui se passe à l'intérieur. Le projet est open-source et sous licence MIT, disponible sur GitHub et avec des documents sur selenehome.tech.