← Retour aux projets
Prototype IA locale · En développement

OpenJarvis — Assistant IA Local

Prototype d'assistant combinant reconnaissance vocale locale, inférence de modèles de langage open-source, synthèse vocale et contrôle d'automatisation système cloisonné.

Discuter de ce prototype

🎯 1. Contexte & Problématique

L'utilisation des assistants vocaux propriétaires implique l'envoi continu d'échantillons audio sur des serveurs distants, avec un manque de contrôle total sur les données vocales et l'impossibilité d'exécuter des tâches d'administration système personnalisées en local.

🧭 2. Objectifs techniques

  • Exécuter la transcription vocale (Speech-to-Text) 100% sur le matériel local
  • Orchestrer des modèles de langage open-weights via un runtime local optimisé
  • Garantir une séparation étanche entre le module conversationnel et les commandes système
  • Intégrer des outils d'automatisation PowerShell explicitement autorisés (whitelisting)
  • Offrir une synthèse vocale (TTS) naturelle sans dépendance externe

🛠️ 3. Pipeline d'ingénierie

Architecture modulaire construite en Python :

  • Transcription locale : Utilisation de faster-whisper avec détection de silence (VAD).
  • Moteur d'inférence LLM : Runtime compatible OpenAI API permettant de changer de modèle à la volée.
  • Bac à sable de commandes : Module de validation strict interdisant l'exécution de toute commande non répertoriée.
  • Synthèse vocale locale : Moteur TTS léger avec mise en cache des réponses fréquentes.

💼 4. Rôle & Développements

  • Développement du gestionnaire de flux audio et de la boucle d'écoute
  • Conception de la couche de sécurité et de filtrage des actions système autorisées
  • Intégration d'un module de contrôle multimédia et d'interrogation de l'état système
  • Optimisation des temps de latence globale entre la fin de la parole et la réponse vocale

⚡ 5. Stack technologique

Python Local LLM (Open-weights) faster-whisper Local TTS PowerShell OpenAI API Spec PyAudio

⚖️ 6. Décisions techniques & Compromis

Séparation étanche : le LLM ne dispose d'aucun accès direct au shell système. Il génère une intention structurée (JSON) qui est ensuite inspectée, validée et exécutée uniquement si elle correspond à une règle prédéfinie.

📊 7. État actuel

Prototype en développement actif démontrant une réactivité satisfaisante sur machine locale et validant le modèle de sécurité cloisonné.

💡 8. Apprentissages clés

Gestion des flux audio en temps réel, optimisation de l'inférence locale sur GPU/CPU et sécurisation avancée de l'exécution de processus système.

← Explorer les autres projets