OpenAvatarChat: модульно спроектированный цифровой инструмент для диалога между людьми
Общее введение
OpenAvatarChat - это проект с открытым исходным кодом, разработанный командой HumanAIGC-Engineering и размещенный на GitHub. Это модульный инструмент для ведения диалога с цифровыми людьми, позволяющий пользователям работать с полной функциональностью на одном ПК. Проект сочетает в себе видео в реальном времени, распознавание речи и технологию цифрового человека, с гибкой модульной конструкцией и низкой задержкой взаимодействия в качестве основных характеристик. В аудиокомпоненте используются SenseVoice, qwen-plus и CosyVoice Видеочасть основана на алгоритме LiteAvatar. Код полностью открыт для изучения и улучшения разработчиками.

Список функций
- Модульный цифровой человеческий диалог: поддерживает взаимодействие в реальном времени с помощью голоса и видео, модули можно свободно комбинировать.
- Передача аудио и видео в реальном времени: аудио- и видеосвязь с низкой задержкой через gradio-webrtc.
- Распознавание и генерация речи: интеграция SenseVoice и CosyVoice для обработки ввода и вывода речи.
- Цифровая анимация человека: создайте плавные выражения и движения цифрового человека с помощью LiteAvatar.
- Поддержка открытого кода: предоставляется полный код, который может быть изменен или оптимизирован пользователем в соответствии с требованиями.
Использование помощи
OpenAvatarChat - это проект с открытым исходным кодом, который требует от пользователей самостоятельной загрузки кода и настройки среды. Ниже приведены подробные шаги по установке и использованию, которые помогут вам быстро начать работу.
Процесс установки
- Проверка системных требований
Прежде чем приступить к работе, убедитесь, что ваше устройство соответствует следующим условиям:- Python 3.10 или более поздняя версия.
- Графический процессор с поддержкой CUDA и объемом графической памяти не менее 10 ГБ (20 ГБ или более для неквантованных моделей).
- Производительность процессора высока (тестирование при 30FPS с i9-13980HX).
Проверить версию Python можно с помощью следующей команды:
python --version
- Установка Git LFS
Проект использует Git LFS для управления большими файлами, поэтому сначала установите его:
sudo apt install git-lfs
git lfs install
- Код загрузки
Клонируйте проект локально, введя в терминале следующую команду:
git clone https://github.com/HumanAIGC-Engineering/OpenAvatarChat.git
cd OpenAvatarChat
- Обновление подмодулей
Проект опирается на несколько подмодулей, которые обновляются выполнением следующей команды:
git submodule update --init --recursive
- Скачать модели
Мультимодальную языковую модель MiniCPM-o-2.6 необходимо загрузить вручную. Вы можете загрузить ее с сайта Обнимая лицо возможно Моделскоп Возьмите. Поместите модель вmodels/
папку или запустите сценарий для автоматической загрузки:
scripts/download_MiniCPM-o_2.6.sh
Если видеопамяти недостаточно, можно загрузить квантизированную версию int4:
scripts/download_MiniCPM-o_2.6-int4.sh
- Установка зависимостей
Запустите его в корневом каталоге проекта:
pip install -r requirements.txt
- Сгенерируйте SSL-сертификат
Если требуется удаленный доступ, создайте самоподписанный сертификат:
scripts/create_ssl_certs.sh
По умолчанию сертификаты хранятся в папке ssl_certs/
Папка.
- программа бега
Существует два типа стартапов:
- работать напрямую::
python src/demo.py
- Работа в контейнерах(Требуется Nvidia Docker):
build_and_run.sh
Основные функции
- Начало цифрового диалога между людьми
После запуска программы откройте браузер и зайдите на сайтhttps://localhost:8282
(Порты доступны наconfigs/sample.yaml
(Изменить). В интерфейсе появится цифровой человек, нажмите "Старт", программа вызовет камеру и микрофон и перейдет в режим диалога. - голосовое взаимодействие
Если вы говорите в микрофон, система распознает голос с помощью SenseVoice, MiniCPM-o генерирует ответ, а CosyVoice преобразует его в речь. Оцифровщик синхронизирует выражение лица и форму рта. Тесты показали, что задержка отклика составляет около 2,2 секунды (на базе i9-13900KF и RTX 4090). - Настройка конфигурации
компиляторconfigs/sample.yaml
Документация. Пример: - Измените порт: установите
service.port
Измените на другое значение. - Настройте частоту кадров: установите
Tts2Face.fps
Установите значение 30.
Сохраните и перезапустите программу, чтобы конфигурация вступила в силу.
рабочий процесс
- Запустите программу и дождитесь окончания загрузки интерфейса.
- Убедитесь, что камера и микрофон работают правильно.
- Начните диалог, и система автоматически обработает голос и видео.
- Чтобы остановиться, нажмите Ctrl+C, чтобы закрыть терминал или выйти из интерфейса.
Облачные альтернативы
Если локальной конфигурации недостаточно, вы можете заменить MiniCPM-o облачным LLM:
- модификации
src/demo.py
Чтобы включить процессоры ASR, LLM и TTS, обратите внимание на раздел MiniCPM. - существовать
configs/sample.yaml
настроитьLLM_Bailian
Введите адрес и ключ API, например:
LLM_Bailian:
model_name: "qwen-plus"
api_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key: "yourapikey"
- Перезапустите программу, чтобы использовать ее.
предостережение
- Недостаточный объем памяти GPU может привести к аварийному завершению работы приложения, поэтому рекомендуется использовать модель int4 или облачный API.
- Нестабильная сеть будет влиять на передачу данных в реальном времени, рекомендуется проводное соединение.
- Пути конфигурации поддерживают относительные пути (основанные на корневом каталоге проекта) или абсолютные пути.
сценарий применения
- Технические исследования
Разработчики могут использовать его для изучения технологий цифрового диалога с человеком и анализа реализации модульных конструкций. - персональный тест
Пользователи могут создавать локальные сервисы и общаться с людьми с помощью голоса. - Образование и обучение
Студенты смогут изучить принципы распознавания речи, моделирования языка и цифровой анимации человека с помощью кода.
QA
- Что делать, если у меня недостаточно видеопамяти?
Загрузите количественную модель int4 или используйте облачный LLM API вместо локальной модели. - Поддерживает ли она многопользовательские диалоги?
Текущая версия подходит для однопользовательского диалога, многопользовательскую функцию нужно разрабатывать самостоятельно. - А как насчет задержки в беге?
Проверьте производительность CPU/GPU, уменьшите частоту кадров или отключите быстрый режим.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...