xiaozhi-esp32-server: servicio backend de código abierto del chatbot de IA Xiaozhi
Últimos recursos sobre IAPublicado hace 5 meses Círculo de intercambio de inteligencia artificial 3K 00
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.

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
- Ponga la dirección del servidor (por ejemplo
http://你的IP:8000
) está escrito en el firmware xiaozhi-esp32. - pulseDirectrices para la compilación de firmwareRecompilar y grabar.
Otras modalidades de despliegue
- Implantación rápida de Docker: Apto para principiantes. Correr
docker pull xinnan-tech/xiaozhi-esp32-server
Siga 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
- hogar inteligente
- Conéctese a HomeAssistant, diga "apagar aire acondicionado" y el aire acondicionado se detendrá.
- asistente de voz
- Ponlo sobre la mesa, pregunta "el tiempo de mañana" y te lo dirá.
- práctica lingüística
- Conversación en inglés, el dispositivo te ayuda a practicar la pronunciación.
CONTROL DE CALIDAD
- ¿Y el reconocimiento del lenguaje ilegible?
- Busca "model.pt" en "models/SenseVoiceSmall". Si no es así, vaya adirectrizDescargar.
- ¿Error TTS diciendo que el archivo no existe?
- Confirmado.
libopus
responder cantandoffmpeg
. Ejecutar sin cargar.conda install conda-forge::libopus
responder cantandoconda install conda-forge::ffmpeg
.
- ¿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.
- ¿Y si tardas en hablar y te roban las palabras?
- En "config.yaml" ponga
min_silence_duration_ms
Cambia a 1000.
- ¿Cómo se controlan los aparatos?
- En la configuración, seleccione HomeAssistant, rellene el token y diga el comando.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Puestos relacionados
Sin comentarios...