OpenAvatarChat: модульно спроектированный цифровой инструмент для диалога между людьми

Общее введение

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

OpenAvatarChat:模块化设计的数字人对话工具

 

Список функций

  • Модульный цифровой человеческий диалог: поддерживает взаимодействие в реальном времени с помощью голоса и видео, модули можно свободно комбинировать.
  • Передача аудио и видео в реальном времени: аудио- и видеосвязь с низкой задержкой через gradio-webrtc.
  • Распознавание и генерация речи: интеграция SenseVoice и CosyVoice для обработки ввода и вывода речи.
  • Цифровая анимация человека: создайте плавные выражения и движения цифрового человека с помощью LiteAvatar.
  • Поддержка открытого кода: предоставляется полный код, который может быть изменен или оптимизирован пользователем в соответствии с требованиями.

 

Использование помощи

OpenAvatarChat - это проект с открытым исходным кодом, который требует от пользователей самостоятельной загрузки кода и настройки среды. Ниже приведены подробные шаги по установке и использованию, которые помогут вам быстро начать работу.

Процесс установки

  1. Проверка системных требований
    Прежде чем приступить к работе, убедитесь, что ваше устройство соответствует следующим условиям:

    • Python 3.10 или более поздняя версия.
    • Графический процессор с поддержкой CUDA и объемом графической памяти не менее 10 ГБ (20 ГБ или более для неквантованных моделей).
    • Производительность процессора высока (тестирование при 30FPS с i9-13980HX).
      Проверить версию Python можно с помощью следующей команды:
python --version
  1. Установка Git LFS
    Проект использует Git LFS для управления большими файлами, поэтому сначала установите его:
sudo apt install git-lfs
git lfs install
  1. Код загрузки
    Клонируйте проект локально, введя в терминале следующую команду:
git clone https://github.com/HumanAIGC-Engineering/OpenAvatarChat.git
cd OpenAvatarChat
  1. Обновление подмодулей
    Проект опирается на несколько подмодулей, которые обновляются выполнением следующей команды:
git submodule update --init --recursive
  1. Скачать модели
    Мультимодальную языковую модель MiniCPM-o-2.6 необходимо загрузить вручную. Вы можете загрузить ее с сайта Обнимая лицо возможно Моделскоп Возьмите. Поместите модель в models/ папку или запустите сценарий для автоматической загрузки:
scripts/download_MiniCPM-o_2.6.sh

Если видеопамяти недостаточно, можно загрузить квантизированную версию int4:

scripts/download_MiniCPM-o_2.6-int4.sh
  1. Установка зависимостей
    Запустите его в корневом каталоге проекта:
pip install -r requirements.txt
  1. Сгенерируйте SSL-сертификат
    Если требуется удаленный доступ, создайте самоподписанный сертификат:
scripts/create_ssl_certs.sh

По умолчанию сертификаты хранятся в папке ssl_certs/ Папка.

  1. программа бега
    Существует два типа стартапов:
  • работать напрямую::
    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.
    Сохраните и перезапустите программу, чтобы конфигурация вступила в силу.

рабочий процесс

  1. Запустите программу и дождитесь окончания загрузки интерфейса.
  2. Убедитесь, что камера и микрофон работают правильно.
  3. Начните диалог, и система автоматически обработает голос и видео.
  4. Чтобы остановиться, нажмите Ctrl+C, чтобы закрыть терминал или выйти из интерфейса.

Облачные альтернативы

Если локальной конфигурации недостаточно, вы можете заменить MiniCPM-o облачным LLM:

  1. модификации src/demo.pyЧтобы включить процессоры ASR, LLM и TTS, обратите внимание на раздел MiniCPM.
  2. существовать configs/sample.yaml настроить LLM_BailianВведите адрес и ключ API, например:
LLM_Bailian:
model_name: "qwen-plus"
api_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key: "yourapikey"
  1. Перезапустите программу, чтобы использовать ее.

предостережение

  • Недостаточный объем памяти GPU может привести к аварийному завершению работы приложения, поэтому рекомендуется использовать модель int4 или облачный API.
  • Нестабильная сеть будет влиять на передачу данных в реальном времени, рекомендуется проводное соединение.
  • Пути конфигурации поддерживают относительные пути (основанные на корневом каталоге проекта) или абсолютные пути.

 

сценарий применения

  1. Технические исследования
    Разработчики могут использовать его для изучения технологий цифрового диалога с человеком и анализа реализации модульных конструкций.
  2. персональный тест
    Пользователи могут создавать локальные сервисы и общаться с людьми с помощью голоса.
  3. Образование и обучение
    Студенты смогут изучить принципы распознавания речи, моделирования языка и цифровой анимации человека с помощью кода.

 

QA

  1. Что делать, если у меня недостаточно видеопамяти?
    Загрузите количественную модель int4 или используйте облачный LLM API вместо локальной модели.
  2. Поддерживает ли она многопользовательские диалоги?
    Текущая версия подходит для однопользовательского диалога, многопользовательскую функцию нужно разрабатывать самостоятельно.
  3. А как насчет задержки в беге?
    Проверьте производительность CPU/GPU, уменьшите частоту кадров или отключите быстрый режим.
© заявление об авторских правах

Похожие статьи

Searc.ai:提供实时洞察的AI搜索工具,聚合多信息源提供多角度知识见解

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...