xiaozhi-esp32-server: servicio backend de código abierto del chatbot de IA Xiaozhi

Introducción general

El xiaozhi-esp32-server es un nuevo servidor para el Xiaozhi AI Chatbot (xiaozhi-esp32)Proporcionar herramientas para los servicios de back-end . Está escrito en Python y basado en el protocolo WebSocket para ayudar a los usuarios a construir rápidamente un servidor para controlar los dispositivos ESP32. Este proyecto es adecuado para personas que ya han comprado el hardware ESP32 y quieren construir el backend por sí mismos. Sus características son muy prácticas , tales como soporte para el diálogo de voz , el reconocimiento multi-idioma y el control del hogar inteligente . El proyecto es de código abierto en GitHub, actualizado por última vez en marzo de 2025, con documentación oficial detallada y una comunidad activa. Tenga en cuenta que todavía está en desarrollo y no se recomienda su uso directo en un entorno de producción.

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

 

Lista de funciones

  • Comunicación WebSocket: intercambia datos con el hardware en tiempo real mediante el protocolo xiaozhi-esp32.
  • diálogo de vozAdmite diálogo de despertador, diálogo manual e interrupciones en tiempo real, e hibernará automáticamente si no se utiliza durante mucho tiempo.
  • Reconocimiento de intenciones: reconoce la intención del usuario con un gran modelo y también puede llamar a funciones para ejecutar instrucciones.
  • Soporte multilingüeComprende chino, cantonés, inglés, japonés y coreano con FunASR por defecto.
  • Cambio de modelo lingüísticoChatGLM: ChatGLM se utiliza por defecto, pero también es compatible con Alibaba Refinement, DeepSeek, etc.
  • síntesis de vozCompatible con EdgeTTS y Volcano Engine TTS para generar voz natural.
  • modo memoria: Hay tres opciones: memoria extralarga, resumen local y sin memoria.
  • Control doméstico inteligente: Puede conectarse a HomeAssistant para controlar el encendido y apagado de los electrodomésticos.

 

Utilizar la ayuda

Proceso de instalación

Para utilizar xiaozhi-esp32-server, tienes que preparar tu hardware y entorno. Estos son los pasos:

1. Trabajos preparatorios

  • softwareUn dispositivo ESP32 compatible con el firmware xiaozhi-esp32, verLista oficial.
  • ordenadores portátilesCPU de 4 núcleos, se recomiendan 8 GB de RAM. Si utilizas la API para ejecutar el reconocimiento de voz, 2 núcleos, 2GB también funcionarán.
  • hardwareInstala Python 3.10 y Conda.

2. Descargar el proyecto

  • Abra https://github.com/xinnan-tech/xiaozhi-esp32-server.
  • Haga clic en "Código" y seleccione "Descargar ZIP" para descargarlo.
  • Descomprímelo y cambia el nombre de la carpeta a "xiaozhi-esp32-server".

3. Configuración del entorno Conda

  • Abre la línea de comandos y ejecútala:
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
  • Compruebe la salida de cada paso para asegurarse de que no se informa de ningún error.

4. Instalación de dependencias

  • Vaya a la carpeta del proyecto:
cd xiaozhi-esp32-server/main/xiaozhi-server
  • Configura una fuente doméstica e instálala:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip install -r requirements.txt

5. Descargar el modelo

  • Por defecto, se utiliza el reconocimiento de voz FunASR. Vaya a las directrices oficiales (véase LÉAME) y descargue los modelos en la carpeta "models".
  • Busca "model.pt" en la carpeta "SenseVoiceSmall" y descárgalo si no está.

6. Modificación de la configuración

  • Abra el archivo "config.yaml" y ajuste la configuración:
  • modelo lingüísticoChatGLM por defecto, puede cambiarse a DeepSeek o HomeAssistant.
  • síntesis de voz: EdgeTTS predeterminado, TTS de motor volcánico reemplazable.
  • tiempo de silencio: poner min_silence_duration_ms Sintoniza 1000 (para hablar despacio).
  • Guarda el archivo.

7. Puesta en marcha del servidor

  • Ejecutar en la carpeta "xiaozhi-server":

python main.py

  • Si ves "Server running on port 8000", has tenido éxito.

8. Actualización del firmware

Otras modalidades de despliegue

  • Implantación rápida de Docker: Apto para principiantes. Correr docker pull xinnan-tech/xiaozhi-esp32-serverSiga las instrucciones para la puesta en marcha.
  • Docker Source Run: Bueno para las personas que cambian el código. Instale primero Docker y, a continuación, ejecute el proyecto con la documentación oficial.
  • Para más información, consulteDocumentación de implantación.

Función Operación

diálogo de voz

  • despiertaDiga la palabra de activación (configurada en el firmware) y el servidor responderá.
  • gatillo manualPulse el botón del dispositivo para iniciar un diálogo.
  • romperInterrupción durante la conversación: el aparato se encarga inmediatamente de la interrupción.
  • Funcionamiento: diga "hola" al aparato y escuche la respuesta.

reconocimiento multilingüe

  • Se admiten cinco idiomas. La prioridad se puede ajustar en el archivo de configuración.
  • Funcionamiento: Di "Hola" o "Konichiwa" y el aparato lo entenderá.

síntesis de voz

  • Cuando el TTS está configurado, el texto se convierte en voz.
  • Acción: introduce "el tiempo de hoy" con un script de prueba y el aparato lo leerá en voz alta.
  • Alternar: Cambia la interfaz TTS en el archivo de configuración.

hogar inteligente

  • Conectar el Asistente DomiciliarioRellena la ficha.
  • Funcionamiento: Di "enciende la luz" y la luz se enciende.
  • Prueba: Ejecutar python performance_tester.py Comprueba la velocidad.

advertencia

  • reticulación: Para mantener la estabilidad, WebSocket se basa en conexiones en tiempo real.
  • fianza: Despliegue de redes públicas para abrir la protección (auth: enabled: true).
  • ajustar los componentes durante las pruebas: Mira los registros de la línea de comandos y soluciona el problema.

 

escenario de aplicación

  1. hogar inteligente
  • Conéctese a HomeAssistant, diga "apagar aire acondicionado" y el aire acondicionado se detendrá.
  1. asistente de voz
  • Ponlo sobre la mesa, pregunta "el tiempo de mañana" y te lo dirá.
  1. práctica lingüística
  • Conversación en inglés, el dispositivo te ayuda a practicar la pronunciación.

 

CONTROL DE CALIDAD

  1. ¿Y el reconocimiento del lenguaje ilegible?
  • Busca "model.pt" en "models/SenseVoiceSmall". Si no es así, vaya adirectrizDescargar.
  1. ¿Error TTS diciendo que el archivo no existe?
  • Confirmado. libopus responder cantando ffmpeg. Ejecutar sin cargar. conda install conda-forge::libopus responder cantando conda install conda-forge::ffmpeg.
  1. ¿Y si la respuesta es demasiado lenta?
  • Cambiar a un modelo más rápido como AliLLM + DoubaoTTS. ejecutar python performance_tester.py Toma una medida.
  1. ¿Y si tardas en hablar y te roban las palabras?
  • En "config.yaml" ponga min_silence_duration_ms Cambia a 1000.
  1. ¿Cómo se controlan los aparatos?
  • En la configuración, seleccione HomeAssistant, rellene el token y diga el comando.
© declaración de copyright

Puestos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...