AI Personal Learning
und praktische Anleitung
Sitzsack Marscode1

xiaozhi-esp32-server: Xiaozhi AI-Chatbot als quelloffener Backend-Dienst

Allgemeine Einführung

Der xiaozhi-esp32-server ist ein neuer Server für das Xiaozhi AI Chatbot (xiaozhi-esp32)Bereitstellung von Werkzeugen für Back-End-Dienste. Es ist in Python geschrieben und basiert auf dem WebSocket-Protokoll, um Benutzern zu helfen, schnell einen Server zur Steuerung von ESP32-Geräten zu bauen. Dieses Projekt ist für Leute geeignet, die bereits ESP32-Hardware gekauft haben und das Backend selbst erstellen wollen. Seine Funktionen sind sehr praktisch, wie z.B. die Unterstützung von Sprachdialogen, Mehrsprachenerkennung und Smart Home Steuerung. Das Projekt ist Open Source auf GitHub, zuletzt aktualisiert im März 2025, mit einer ausführlichen offiziellen Dokumentation und einer aktiven Community. Beachten Sie, dass es sich noch in der Entwicklung befindet und nicht empfohlen wird, direkt in einer Produktionsumgebung verwendet zu werden.

xiaozhi-esp32-server: Xiaozhi AI-Chatbot-Backenddienst mit offenem Quellcode-1


 

Funktionsliste

  • WebSocket-Kommunikationxiaozhi-esp32: tauscht Daten mit der Hardware in Echtzeit über das xiaozhi-esp32-Protokoll aus.
  • SprachdialogWake-up-Dialoge, manuelle Dialoge und Unterbrechungen in Echtzeit werden unterstützt, und das System geht automatisch in den Ruhezustand, wenn es längere Zeit nicht benutzt wird.
  • Absichtserkennung: erkennt die Absicht des Benutzers anhand eines großen Modells und kann auch Funktionen zur Ausführung von Anweisungen aufrufen.
  • Mehrsprachige UnterstützungMit FunASR verstehen Sie standardmäßig Chinesisch, Kantonesisch, Englisch, Japanisch und Koreanisch.
  • Wechsel des SprachmodellsChatGLM: ChatGLM wird standardmäßig verwendet, unterstützt aber auch Alibaba Refinement, DeepSeek und so weiter.
  • SprachsyntheseUnterstützt EdgeTTS und Volcano Engine TTS zur Erzeugung natürlicher Sprache.
  • SpeichermodusEs gibt drei Optionen: extra-langer Speicher, lokale Zusammenfassung und kein Speicher.
  • Intelligente HaussteuerungKann mit HomeAssistant verbunden werden, um Geräte ein- und auszuschalten.

 

Hilfe verwenden

Ablauf der Installation

Um xiaozhi-esp32-server zu verwenden, müssen Sie Ihre Hardware und Umgebung vorbereiten. Hier sind die Schritte:

1. vorbereitende Arbeiten

  • SoftwareEin ESP32-Gerät, das die xiaozhi-esp32-Firmware unterstützt, sieheOffizielle Liste.
  • Laptops: 4-Kern-CPU, 8 GB RAM werden empfohlen. Wenn Sie die API für die Spracherkennung verwenden, funktionieren auch 2 Kerne und 2 GB.
  • HardwarePython 3.10 und Conda installieren.

2. das Projekt herunterladen

  • Öffnen Sie https://github.com/xinnan-tech/xiaozhi-esp32-server.
  • Klicken Sie auf "Code" und wählen Sie zum Herunterladen "ZIP herunterladen".
  • Entpacken Sie es und benennen Sie den Ordner in "xiaozhi-esp32-server" um.

3. die Conda-Umgebung konfigurieren

  • Öffnen Sie die Befehlszeile und führen Sie aus:
conda create -n xiaozhi-esp32-server python=3.10 -y
conda aktivieren xiaozhi-esp32-server
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda install libopus -y
conda install ffmpeg -y
  • Überprüfen Sie die Ausgabe der einzelnen Schritte, um sicherzustellen, dass keine Fehler gemeldet werden.

4. die Installation von Abhängigkeiten

  • Wechseln Sie in den Projektordner:
cd xiaozhi-esp32-server/main/xiaozhi-server
  • Richten Sie eine Haushaltsquelle ein und installieren Sie sie:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip install -r requirements.txt

5. das Herunterladen des Modells

  • Standardmäßig wird die FunASR-Spracherkennung verwendet. Gehen Sie zu den offiziellen Richtlinien (siehe README) und laden Sie die Modelle in den Ordner "models" herunter.
  • Suchen Sie im Ordner "SenseVoiceSmall" nach der Datei "model.pt" und laden Sie sie herunter, wenn sie dort nicht vorhanden ist.

6. die Änderung der Konfiguration

  • Öffnen Sie die Datei "config.yaml" und passen Sie die Einstellungen an:
  • SprachmodellChatGLM: Standard, kann geändert werden in DeepSeek oder HomeAssistant.
  • SprachsyntheseStandard EdgeTTS, austauschbares Volcano Engine TTS.
  • stille Zeit: setzen min_silence_duration_ms Stellen Sie auf 1000 (für langsame Gespräche).
  • Speichern Sie die Datei.

7. den Server starten

  • Im Ordner "xiaozhi-server" ausführen:

python main.py

  • Wenn Sie "Server läuft auf Port 8000" sehen, haben Sie Erfolg gehabt.

8. die Aktualisierung der Firmware

Andere Einsatzmodalitäten

  • Schnelle Docker-BereitstellungGeeignet für Einsteiger. Laufen docker pull xinnan-tech/xiaozhi-esp32-serverfolgen Sie den Hinweisen zur Inbetriebnahme.
  • Docker Source RunGut für Leute, die Code ändern. Installieren Sie zuerst Docker und führen Sie dann das Projekt mit der offiziellen Dokumentation aus.
  • Für weitere Einzelheiten sieheDokumentation über den Einsatz.

Funktion Betrieb

Sprachdialog

  • erwecktSagen Sie das (in der Firmware eingestellte) Weckwort, und der Server wird antworten.
  • manuelle Auslösung: Drücken Sie die Gerätetaste, um einen Dialog zu starten.
  • abreißenUnterbrechungen während eines Gesprächs werden vom Gerät sofort erkannt.
  • Zum Betrieb: Sagen Sie "Hallo" zum Gerät und hören Sie die Antwort ab.

mehrsprachige Erkennung

  • Es werden fünf Sprachen unterstützt. Die Priorität kann in der Konfigurationsdatei eingestellt werden.
  • Bedienung: Sagen Sie "Hallo" oder "Konichiwa" und das Gerät versteht es.

Sprachsynthese

  • Wenn TTS konfiguriert ist, wird Text zu Sprache.
  • Aktion: Geben Sie das "heutige Wetter" mit einem Testskript ein und das Gerät liest es vor.
  • Toggle: Ändern Sie die TTS-Schnittstelle in der Konfigurationsdatei.

intelligentes Zuhause

  • HomeAssistant verbinden: Füllen Sie das Kürzel aus.
  • Bedienung: Sagen Sie "Mach das Licht an" und das Licht geht an.
  • Test: Ausführen python leistungs_tester.py Überprüfen Sie die Geschwindigkeit.

caveat

  • VernetzungenWebSocket: Um stabil zu bleiben, benötigt WebSocket Echtzeitverbindungen.
  • BürgschaftÖffentliche Netze: Öffentliche Netzeinsätze zum offenen Schutz (auth: aktiviert: wahr).
  • Komponenten während der Prüfung anpassen: Sehen Sie sich die Befehlszeilenprotokolle an und beheben Sie das Problem.

 

Anwendungsszenario

  1. intelligentes Zuhause
  • Verbinden Sie sich mit HomeAssistant, sagen Sie "Klimaanlage ausschalten" und die Klimaanlage wird ausgeschaltet.
  1. Sprachassistent
  • Legen Sie ihn auf den Tisch, fragen Sie nach dem morgigen Wetter" und er wird es Ihnen sagen.
  1. Sprachpraxis
  • Konversation auf Englisch, das Gerät hilft Ihnen, Ihre Aussprache zu üben.

 

QA

  1. Wie sieht es mit der Erkennung von verstümmelter Sprache aus?
  • Suchen Sie nach "model.pt" in "models/SenseVoiceSmall". Wenn nicht, gehen Sie zuLeitfadenHerunterladen.
  1. TTS-Fehler: Datei nicht vorhanden?
  • Bestätigt. libopus im Gesang antworten ffmpeg. Ohne Laden ausführen. conda installieren conda-forge::libopus im Gesang antworten conda installieren conda-forge::ffmpeg.
  1. Was ist, wenn die Antwort zu langsam ist?
  • Wechseln Sie zu einem schnelleren Modell wie AliLLM + DoubaoTTS. ausführen python leistungs_tester.py Nehmen Sie eine Messung vor.
  1. Was ist, wenn Sie langsam sprechen und Ihrer Worte beraubt werden?
  • In der Datei "config.yaml" wird die min_silence_duration_ms Wechseln zu: 1000.
  1. Wie kontrollieren Sie die Geräte?
  • Wählen Sie in der Konfiguration HomeAssistant aus, geben Sie das Token ein und sagen Sie den Befehl.
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " xiaozhi-esp32-server: Xiaozhi AI-Chatbot als quelloffener Backend-Dienst

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)