Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

xiaozhi-esp32-server: serviço de back-end de código aberto do chatbot de IA da Xiaozhi

Introdução geral

O xiaozhi-esp32-server é um novo servidor para o Xiaozhi AI Chatbot (xiaozhi-esp32)Fornece ferramentas para serviços de back-end. Ele é escrito em Python e baseado no protocolo WebSocket para ajudar os usuários a criar rapidamente um servidor para controlar os dispositivos ESP32. Esse projeto é adequado para pessoas que já compraram o hardware do ESP32 e desejam criar o backend por conta própria. Seus recursos são muito práticos, como suporte para diálogo por voz, reconhecimento de vários idiomas e controle de casa inteligente. O projeto é de código aberto no GitHub, atualizado pela última vez em março de 2025, com documentação oficial detalhada e uma comunidade ativa. Observe que ele ainda está em desenvolvimento e não é recomendado para ser usado diretamente em um ambiente de produção.

xiaozhi-esp32-server: serviço de back-end de código aberto do chatbot de IA Xiaozhi-1


 

Lista de funções

  • Comunicação WebSocketXiaozhi-esp32: troca dados com o hardware em tempo real usando o protocolo xiaozhi-esp32.
  • diálogo de vozO diálogo de despertar, o diálogo manual e as interrupções em tempo real são suportados, e ele hibernará automaticamente se não for usado por um longo período.
  • Reconhecimento de intençõesReconhece a intenção do usuário com um modelo grande e também pode chamar funções para executar instruções.
  • Suporte a vários idiomasCompreensão de chinês, cantonês, inglês, japonês e coreano com o FunASR por padrão.
  • Troca de modelo de idiomaChatGLM: o ChatGLM é usado por padrão, mas também suporta Alibaba Refinement, DeepSeek e assim por diante.
  • síntese de falaSuporte a EdgeTTS e Volcano Engine TTS para gerar fala natural.
  • modo de memóriaMemória extra-longa: Há três opções: memória extra-longa, resumo local e sem memória.
  • Controle de casa inteligentePode se conectar ao HomeAssistant para controlar os aparelhos ligados e desligados.

 

Usando a Ajuda

Processo de instalação

Para usar o xiaozhi-esp32-server, é necessário preparar o hardware e o ambiente. Aqui estão as etapas:

1. trabalho preparatório

  • softwareUm dispositivo ESP32 compatível com o firmware xiaozhi-esp32, consulteLista oficial.
  • laptopsCPU de 4 núcleos e 8 GB de RAM são recomendados. Se você usar a API para executar o reconhecimento de fala, 2 núcleos e 2 GB também funcionarão.
  • hardwareInstalação do Python 3.10 e do Conda.

2. fazer o download do projeto

  • Abra o site https://github.com/xinnan-tech/xiaozhi-esp32-server.
  • Clique em "Code" (Código) e selecione "Download ZIP" (Baixar ZIP) para fazer o download.
  • Descompacte-o e renomeie a pasta para "xiaozhi-esp32-server".

3. configurando o ambiente do Conda

  • Abra a linha de comando e execute:
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
  • Verifique a saída de cada etapa para garantir que nenhum erro seja relatado.

4. instalação de dependências

  • Vá para a pasta do projeto:
cd xiaozhi-esp32-server/main/xiaozhi-server
  • Configure uma fonte doméstica e instale-a:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip install -r requirements.txt

5. download do modelo

  • Por padrão, o reconhecimento de fala FunASR é usado. Acesse as diretrizes oficiais (consulte o LEIAME) e faça o download dos modelos na pasta "models".
  • Procure o arquivo "model.pt" na pasta "SenseVoiceSmall" e faça o download se ele não estiver lá.

6) Modificação da configuração

  • Abra o arquivo "config.yaml" e ajuste as configurações:
  • modelo de linguagemChatGLM: padrão ChatGLM, pode ser alterado para DeepSeek ou HomeAssistant.
  • síntese de falaEdgeTTS padrão, Volcano Engine TTS substituível.
  • tempo de silêncio: put min_silence_duration_ms Sintonize em 1000 (para conversação lenta).
  • Salve o arquivo.

7. iniciar o servidor

  • Execute na pasta "xiaozhi-server":

python main.py

  • Se você vir a mensagem "Server running on port 8000" (Servidor em execução na porta 8000), você foi bem-sucedido.

8. atualização do firmware

Outras modalidades de implantação

  • Implantação rápida do DockerAdequado para iniciantes. Corrida docker pull xinnan-tech/xiaozhi-esp32-serverSiga as diretrizes para a inicialização.
  • Execução de código-fonte do DockerDocker: Bom para pessoas que alteram o código. Instale o Docker primeiro e, em seguida, execute o projeto com a documentação oficial.
  • Para obter mais detalhes, consulteDocumentação de implantação.

Operação da função

diálogo de voz

  • despertaSe o servidor não estiver funcionando, o servidor será ativado: Diga a palavra de ativação (definida no firmware) e o servidor responderá.
  • gatilho manualPressione o botão do dispositivo para iniciar um diálogo.
  • romperInterrupção durante a conversa: A interrupção durante a conversa é tratada imediatamente pelo dispositivo.
  • Para operar: diga "hello" para o dispositivo e ouça a resposta.

reconhecimento multilíngue

  • Há suporte para cinco idiomas. A prioridade pode ser ajustada no arquivo de configuração.
  • Operação: Diga "Hello" ou "Konichiwa" e o dispositivo entenderá.

síntese de fala

  • Quando o TTS está configurado, o texto se transforma em fala.
  • Ação: Digite "today's weather" (clima de hoje) com um script de teste e o dispositivo o lerá.
  • Toggle: altera a interface TTS no arquivo de configuração.

casa inteligente

  • Conecte o HomeAssistantPreencha o token.
  • Operação: Diga "turn on the light" e a luz se acenderá.
  • Teste: Executar python performance_tester.py Verifique a velocidade.

advertência

  • reticulação: Para manter a estabilidade, o WebSocket depende de conexões em tempo real.
  • garantiaImplementações de redes públicas para abrir a proteção (auth: enabled: true).
  • ajustar os componentes durante o testeAnálise dos registros da linha de comando e correção do problema.

 

cenário do aplicativo

  1. casa inteligente
  • Conecte-se ao HomeAssistant, diga "turn off air conditioning" (desligue o ar-condicionado) e o ar-condicionado parará.
  1. assistente de voz
  • Coloque-o sobre a mesa, pergunte "tomorrow's weather" e ele lhe dirá.
  1. prática do idioma
  • Conversando em inglês, o dispositivo o ajuda a praticar sua pronúncia.

 

QA

  1. E quanto ao reconhecimento de linguagem distorcida?
  • Verifique se há "model.pt" em "models/SenseVoiceSmall". Caso contrário, vá paradiretrizFaça o download.
  1. Erro do TTS dizendo que o arquivo não existe?
  • Confirmado. libopus responder cantando ffmpeg. Executar sem carregar. conda install conda-forge::libopus responder cantando conda install conda-forge::ffmpeg.
  1. E se a resposta for muito lenta?
  • Mude para um modelo mais rápido, como AliLLM + DoubaoTTS. python performance_tester.py Faça uma medição.
  1. E se você for lento para falar e for roubado de suas palavras?
  • Em "config.yaml", coloque o min_silence_duration_ms Alterar para 1000.
  1. Como você controla os aparelhos?
  • Na configuração, selecione HomeAssistant, preencha o token e diga o comando.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " xiaozhi-esp32-server: serviço de back-end de código aberto do chatbot de IA da Xiaozhi

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil