OpenAvatarChat : un outil de dialogue humain numérique conçu de manière modulaire
Introduction générale
OpenAvatarChat est un projet open source développé par l'équipe HumanAIGC-Engineering et hébergé sur GitHub. Il s'agit d'un outil de dialogue humain numérique modulaire qui permet aux utilisateurs d'utiliser toutes les fonctionnalités sur un seul PC. Le projet combine la vidéo en temps réel, la reconnaissance vocale et la technologie humaine numérique, avec une conception modulaire flexible et une interaction à faible latence comme caractéristiques principales. La composante audio utilise SenseVoice, qwen-plus et CosyVoice La partie vidéo repose sur l'algorithme LiteAvatar. Le code est complètement ouvert aux développeurs pour qu'ils l'étudient et l'améliorent.

Liste des fonctions
- Dialogue humain numérique modulaire : prend en charge l'interaction en temps réel avec la voix et la vidéo ; les modules peuvent être combinés librement.
- Transmission audio et vidéo en temps réel : communication audio et vidéo à faible latence via gradio-webrtc.
- Reconnaissance et génération de la parole : intégration de SenseVoice et CosyVoice pour gérer les entrées et sorties vocales.
- Animation humaine numérique : Générez des expressions et des mouvements humains numériques fluides avec LiteAvatar.
- Support open source : le code complet est fourni et les utilisateurs peuvent le modifier ou l'optimiser en fonction de leurs besoins.
Utiliser l'aide
OpenAvatarChat est un projet open source qui nécessite que les utilisateurs téléchargent le code et configurent l'environnement eux-mêmes. Voici les étapes détaillées de l'installation et de l'utilisation pour vous aider à démarrer rapidement.
Processus d'installation
- Vérification des exigences du système
Avant de commencer, assurez-vous que votre appareil remplit les conditions suivantes :- Python 3.10 ou version ultérieure.
- GPU CUDA avec au moins 10 Go de mémoire graphique (20 Go ou plus pour les modèles non quantifiés).
- Les performances du processeur sont bonnes (testé à 30FPS avec i9-13980HX).
Vous pouvez vérifier la version de Python à l'aide de la commande suivante :
python --version
- Installation de Git LFS
Le projet utilise Git LFS pour gérer les fichiers volumineux, il faut donc l'installer en premier :
sudo apt install git-lfs
git lfs install
- Télécharger le code
Clonez le projet localement en entrant la commande suivante dans le terminal :
git clone https://github.com/HumanAIGC-Engineering/OpenAvatarChat.git
cd OpenAvatarChat
- Mise à jour des sous-modules
Le projet s'appuie sur plusieurs sous-modules, qui sont mis à jour en exécutant la commande suivante :
git submodule update --init --recursive
- Télécharger les modèles
Le modèle linguistique multimodal MiniCPM-o-2.6 doit être téléchargé manuellement. Vous pouvez le télécharger à partir de Visage étreint peut-être Le modèle de l'étude Obtenir. Placer le modèle dans lemodels/
ou exécuter un script pour le télécharger automatiquement :
scripts/download_MiniCPM-o_2.6.sh
Si la mémoire vidéo est insuffisante, vous pouvez télécharger la version quantifiée d'int4 :
scripts/download_MiniCPM-o_2.6-int4.sh
- Installation des dépendances
Exécutez-le dans le répertoire racine du projet :
pip install -r requirements.txt
- Générer un certificat SSL
Si l'accès à distance est nécessaire, générez un certificat auto-signé :
scripts/create_ssl_certs.sh
Les certificats sont stockés par défaut dans le répertoire ssl_certs/
Dossier.
- programme de course
Il existe deux types de startups :
- courir directement: :
python src/demo.py
- Fonctionnement en conteneur(Nvidia Docker requis) :
build_and_run.sh
Principales fonctions
- Lancement du dialogue humain numérique
Après avoir exécuté le programme, ouvrez un navigateur et visitez le sitehttps://localhost:8282
(Les ports sont disponibles sur le siteconfigs/sample.yaml
(Modifier). L'interface affichera la personne numérique, cliquez sur "Démarrer", le programme appellera la caméra et le microphone, et entrera dans le mode de dialogue. - interaction vocale
En parlant dans le microphone, le système reconnaît la voix grâce à SenseVoice, MiniCPM-o génère la réponse et CosyVoice la convertit en sortie vocale. Le numériseur synchronise l'expression et la forme de la bouche. Les tests montrent une latence de réponse d'environ 2,2 secondes (sur la base d'un i9-13900KF et d'une RTX 4090). - Ajustement de la configuration
compilateurconfigs/sample.yaml
Documentation. Exemple : - Modifier le port : définir le
service.port
Passer à une autre valeur. - Régler la fréquence d'images : régler
Tts2Face.fps
Régler à 30.
Sauvegardez et redémarrez le programme pour que la configuration prenne effet.
flux de travail
- Lancez le programme et attendez la fin du chargement de l'interface.
- Vérifiez que l'appareil photo et le microphone fonctionnent correctement.
- Entamez un dialogue et le système traite automatiquement la voix et la vidéo.
- Pour arrêter, appuyez sur Ctrl+C pour fermer le terminal ou quitter l'interface.
Alternatives basées sur l'informatique en nuage
Si la configuration locale est insuffisante, vous pouvez remplacer MiniCPM-o par un LLM en nuage :
- modifications
src/demo.py
Pour activer les processeurs ASR, LLM et TTS, reportez-vous à la section MiniCPM. - existent
configs/sample.yaml
configurerLLM_Bailian
, indiquez l'adresse et la clé de l'API, par exemple :
LLM_Bailian:
model_name: "qwen-plus"
api_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key: "yourapikey"
- Redémarrez le programme pour l'utiliser.
mise en garde
- Une mémoire GPU insuffisante peut faire planter l'application, il est recommandé d'utiliser le modèle int4 ou l'API cloud.
- Un réseau instable affectera la transmission en temps réel, une connexion câblée est recommandée.
- Les chemins de configuration peuvent être des chemins relatifs (basés sur le répertoire racine du projet) ou des chemins absolus.
scénario d'application
- Études techniques
Les développeurs peuvent l'utiliser pour étudier les techniques de dialogue humain numérique et analyser la mise en œuvre de conceptions modulaires. - test personnel
Les utilisateurs peuvent créer des services locaux et faire l'expérience d'une interaction humaine numérique pilotée par la voix. - Éducation et formation
Les étudiants peuvent apprendre les principes de la reconnaissance vocale, de la modélisation du langage et de l'animation humaine numérique par le biais du code.
QA
- Que se passe-t-il si je n'ai pas assez de mémoire vidéo ?
Téléchargez le modèle quantitatif int4 ou utilisez l'API LLM basée sur le cloud au lieu d'un modèle local. - Le dialogue multijoueurs est-il possible ?
La version actuelle est adaptée au dialogue à un seul joueur, la fonction multijoueur doit être développée par vous-même. - Qu'en est-il de la lenteur de fonctionnement ?
Vérifiez les performances du CPU/GPU, réduisez la fréquence d'images ou désactivez le mode rapide.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...