xiaozhi-esp32-server: открытый сервис бэкэнд-службы чатбота Xiaozhi AI

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

Сервер xiaozhi-esp32-server - это новый сервер для Чатбот Xiaozhi AI Chatbot (xiaozhi-esp32)Предоставляет инструменты для внутренних сервисов. Он написан на языке Python и основан на протоколе WebSocket, чтобы помочь пользователям быстро создать сервер для управления устройствами ESP32. Этот проект подходит для тех, кто уже приобрел оборудование ESP32 и хочет самостоятельно создать бэкэнд. Его функции очень практичны, например, поддержка голосового диалога, распознавание нескольких языков и управление умным домом. Проект с открытым исходным кодом на GitHub, последнее обновление - март 2025 года, с подробной официальной документацией и активным сообществом. Обратите внимание, что он все еще находится в стадии разработки и не рекомендуется к использованию непосредственно в производственной среде.

xiaozhi-esp32-server:小智AI聊天机器人开源后端服务

 

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

  • Связь через WebSocket: обменивается данными с оборудованием в режиме реального времени по протоколу xiaozhi-esp32.
  • голосовой диалогПоддерживаются диалог пробуждения, ручной диалог и прерывания в реальном времени, а также автоматический переход в спящий режим, если устройство не используется в течение длительного времени.
  • Распознавание намерений: распознает намерения пользователя с помощью большой модели, а также может вызывать функции для выполнения инструкций.
  • Поддержка нескольких языков: Понимание китайского, кантонского, английского, японского и корейского языков с помощью FunASR по умолчанию.
  • Переключение языковых моделейChatGLM: ChatGLM используется по умолчанию, но также поддерживает Alibaba Refinement, DeepSeek и так далее.
  • синтез речи: Поддерживает EdgeTTS и Volcano Engine TTS для создания естественной речи.
  • режим памяти: Есть три варианта: сверхдлинная память, локальная сводка и отсутствие памяти.
  • Управление умным домом: Может подключаться к HomeAssistant для управления включением и выключением приборов.

 

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

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

Чтобы использовать xiaozhi-esp32-server, необходимо подготовить оборудование и среду. Вот шаги:

1. Подготовительная работа

  • программное обеспечение: Устройство ESP32, поддерживающее прошивку xiaozhi-esp32, см.Официальный список.
  • Ноутбуки: рекомендуется 4-ядерный процессор, 8 ГБ оперативной памяти. Если вы используете API для распознавания речи, подойдут и 2 ядра, 2 ГБ.
  • оборудование: Установите Python 3.10 и Conda.

2. Загрузка проекта

  • Открыть https://github.com/xinnan-tech/xiaozhi-esp32-server.
  • Нажмите "Код" и выберите "Загрузить ZIP" для загрузки.
  • Распакуйте его и переименуйте папку в "xiaozhi-esp32-server".

3. Настройка среды Conda

  • Откройте командную строку и выполните команду:
conda create -n xiaozhi-esp32-server python=3.10 -y
conda activate xiaozhi-esp32-server
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda install libopus -y
conda install ffmpeg -y
  • Проверьте результаты каждого шага, чтобы убедиться в отсутствии ошибок.

4. Установка зависимостей

  • Перейдите в папку с проектом:
cd xiaozhi-esp32-server/main/xiaozhi-server
  • Установите внутренний источник и установите его:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip install -r requirements.txt

5. Загрузка модели

  • По умолчанию используется распознавание речи FunASR. Перейдите к официальному руководству (см. README) и загрузите модели в папку "models".
  • Проверьте наличие файла "model.pt" в папке "SenseVoiceSmall" и загрузите его, если его там нет.

6. изменение конфигурации

  • Откройте файл "config.yaml" и настройте параметры:
  • языковая модель: ChatGLM по умолчанию, может быть изменен на DeepSeek или помощника по дому.
  • синтез речи: Default EdgeTTS, сменный Volcano Engine TTS.
  • тихое время: положить min_silence_duration_ms Настройтесь на 1000 (для медленных разговоров).
  • Сохраните файл.

7. Запуск сервера

  • Запустите в папке "xiaozhi-server":

python main.py

  • Если вы увидите сообщение "Сервер работает на порту 8000", значит, все прошло успешно.

8. обновление прошивки

Другие способы развертывания

  • Быстрое развертывание Docker: Подходит для новичков. Бег docker pull xinnan-tech/xiaozhi-esp32-serverСледуйте указаниям по запуску.
  • Запуск исходного кода Docker: Хорошо подходит для тех, кто меняет код. Сначала установите Docker, а затем запустите проект с официальной документацией.
  • Подробнее см.Документация по развертыванию.

Функциональное управление

голосовой диалог

  • пробуждает: Произнесите слово пробуждения (заданное в прошивке), и сервер ответит.
  • ручной курок: Нажмите кнопку устройства, чтобы начать диалог.
  • разрываться: Прерывание во время разговора немедленно обрабатывается устройством.
  • Для работы: скажите устройству "привет" и прослушайте ответ.

многоязычное распознавание

  • Поддерживаются пять языков. Приоритет можно настроить в файле конфигурации.
  • Управление: скажите "Hello" или "Konichiwa", и устройство поймет вас.

синтез речи

  • При настройке TTS текст превращается в речь.
  • Действие: введите "сегодняшнюю погоду" с помощью тестового сценария, и устройство прочитает ее.
  • Toggle: изменение интерфейса TTS в файле конфигурации.

умный дом

  • Подключение HomeAssistant: Заполните маркер.
  • Действие: скажите "включи свет", и свет включится.
  • Тест: Выполнить python performance_tester.py Проверьте скорость.

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

  • ретикуляция: Поддерживая стабильность, WebSocket полагается на соединения в реальном времени.
  • поручительство: развертывание публичных сетей для открытой защиты (auth: enabled: true).
  • регулировка компонентов во время тестирования: Просмотрите журналы командной строки и устраните проблему.

 

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

  1. умный дом
  • Подключитесь к HomeAssistant, скажите "выключить кондиционер", и кондиционер остановится.
  1. голосовой помощник
  • Положите его на стол, спросите "какая погода будет завтра", и он вам ответит.
  1. языковая практика
  • Разговор на английском языке, устройство поможет вам отработать произношение.

 

QA

  1. Как распознать беспорядочную речь?
  • Проверьте наличие "model.pt" в "models/SenseVoiceSmall". Если нет, перейдите вруководствоСкачать.
  1. Ошибка TTS говорит, что файл не существует?
  • Подтверждено. libopus ответить пением ffmpeg. Запуск без загрузки. conda install conda-forge::libopus ответить пением conda install conda-forge::ffmpeg.
  1. Что делать, если ответ слишком медленный?
  • Переключитесь на более быструю модель, например AliLLM + DoubaoTTS. python performance_tester.py Сделайте замер.
  1. Что делать, если вы не спешите говорить, а вас лишают слов?
  • В "config.yaml" поместите файл min_silence_duration_ms Изменить на 1000.
  1. Как вы управляете приборами?
  • В конфигурации выберите HomeAssistant, введите маркер и произнесите команду.
© заявление об авторских правах

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

AskYourPDF:智能PDF互动平台,PDF摘要、PDF问答轻松获取文档关键信息

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

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