Statut : En développement actif. Le code est expérimental, instable et majoritairement non documenté.
Objectif : Construire un pipeline complet à faibles ressources pour l'interaction homme-machine en temps réel sur le robot QT.
Le projet est divisé en deux composants principaux :
Construction d'un système de détection d'émotions pour rendre le robot QT plus expressif et conscient du contexte.
Dépôts Associés :
- AffectiveTRM : Précédemment utilisé pour la reconnaissance multimodale des émotions.
Remarque : Ce dépôt n'est pas utilisé dans le pipeline final car les résultats n'étaient pas concluants, mais il est conservé pour référence.
Progression :
- Collecte du jeu de données
- Entraînement du modèle
- Test du modèle
Un pipeline hors ligne et peu gourmand en calcul permettant une interaction en temps réel sur du matériel embarqué.
Composants du pipeline :
- Backend LLM (llama.cpp)
- Speech-to-text (Vosk)
- Text-to-speech (Piper)
- Construction d'agent personnalisé avec prompts personnalisés
- Couche d'orchestration unifiée (Nouvelle Architecture "Executor")
- Support Windows & Linux (x64) via GitHub Workflows
- Script testé directement sur le robot QT
- Nouvelle Architecture : Exécuteur threadé avec gestion des actions par file d'attente (queue) pour la sécurité des threads.
- Veste Connectée : Support via le flag
--JKTutilisant QT-Touch. - Support API : Intégration optionnelle de l'API Google Gemini via
--API. - Mode Headless : Exécution sans interface graphique via
--no-ui. - Argument
--QTdansmain.py: à utiliser lors de l'exécution sur le robot. - Argument
--pytestdansmain.py: utilisé pour tester le pipeline (hors UI). - Argument
--ci-modedansdownload_model.py: remplace le gros modèle 8B par un modèle plus petit de 350M. - Argument
--name: Définir un mot de réveil (wake-word) personnalisé. - Changement de langue : Possibilité de basculer entre le français et l'anglais.
- Sélection de la voix : Option pour changer le genre de la voix (Homme/Femme).
- Support API OpenAI : Prise en charge de l'API d'OpenAI (actuellement le mode
--APIne supporte que les modèles de Google). - Documentation Utilisateur : Création d'un guide complet pour faciliter la prise en main et l'utilisation du dépôt par les nouveaux utilisateurs.
Développer ouvertement pour la transparence, les retours et la responsabilité.
Contributeurs bienvenus — n'hésitez pas à ouvrir une issue si vous souhaitez aider !