wukong-robot ist ein Open-Source-Projekt für chinesische Sprachdialogroboter und intelligente Lautsprecher, das Entwicklern helfen soll, schnell personalisierte intelligente Lautsprecher zu erstellen. Er unterstützt chinesische Spracherkennung, Sprachsynthese und Mehrrunden-Dialogfunktionen, integriert mit ChatGPT, Baidu, KDDI und anderen Technologien. Das Projekt ist modular aufgebaut, mit Plug-ins und Funktionen, die frei erweitert werden können, und eignet sich für den Betrieb auf Raspberry Pi, Mac und Linux-Systemen. Bis März 2023 wurde wukong-robot über 13.000 Mal installiert und über 700.000 Mal aufgeweckt. Es könnte auch das erste Open-Source-Projekt für intelligente Lautsprecher sein, das die Interaktion zwischen Gehirn und Computer unterstützt und für Technikbegeisterte und Entwickler geeignet ist, um einen personalisierten Sprachassistenten zu entwickeln.
Funktionsliste
- Unterstützt chinesische Spracherkennung, integriert mit Baidu, KDXF, Ali, Tencent, OpenAI Flüstern und viele andere Technologien.
- Bietet Sprachsynthese (TTS) mit Unterstützung für VITS Sound Cloning, Microsoft Edge und andere Technologien.
- Unterstützung von Mehrrunden-Dialogen, Zugang zu ChatGPT, Turing-Roboter und anderen Online-Dialogsystemen.
- Modularer Aufbau, funktionale Plug-ins werden unabhängig voneinander gepflegt, Entwickler können leicht neue Plug-ins entwickeln und integrieren.
- Es unterstützt die Offline-Weckung mit den Porcupine- und Snowboy-Engines sowie innovative Weckmethoden wie Gehirn-Computer-Interaktion und Schütteln des Boards.
- Bietet eine Back-End-Administrationsseite, die den Ferndialog, die Änderung der Konfiguration und die Anzeige der Protokolle unterstützt.
- Unterstützt Hardware-Plattformen wie den Raspberry Pi, einfach zu installieren und leicht zu wartenden Code.
- Es kann mit Smart-Home-Systemen gekoppelt werden, um Haushaltsgeräte per Sprache zu steuern.
Hilfe verwenden
Einbauverfahren
wukong-robot bietet eine Vielzahl von Installationsmethoden, die für Raspberry Pi, Mac und Linux-Systeme geeignet sind. Im Folgenden wird ein Beispiel für den Docker-Installationsprozess auf einem Raspberry Pi gezeigt:
- Vorbereiten der UmgebungStellen Sie sicher, dass Docker auf dem Gerät installiert ist. Führen Sie den folgenden Befehl aus, um Docker zu installieren:
sudo apt update sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker
- Klonen Sie das Installationsskript: Holen Sie sich das Raspberry Pi-Installationsskript für wukong-robot von GitHub:
git clone https://github.com/wzpan/wukong-robot-pi-installer.git cd wukong-robot-pi-installer sudo chmod +x pi_installer
- Führen Sie das Installationsskript ausFühren Sie den Installationsbefehl aus und das Skript wird automatisch das Docker-Image von wukong-robot ziehen und die Umgebung konfigurieren:
sudo ./pi_installer
- Konfiguration der UmgebungWenn Sie das Programm zum ersten Mal ausführen, werden Sie aufgefordert, eine Konfigurationsdatei im Benutzerverzeichnis zu erstellen. Geben Sie ein.
y
einrichten.~/.wukong/config.yml
. Die Konfigurationsdatei enthält Einstellungen für Spracherkennung, Synthese und Plug-ins. Es wird empfohlen, sich auf die Standardkonfigurationsdateidefault.yml
Änderungen vornehmen, aber nicht direktdefault.yml
um nicht von späteren Aktualisierungen überschrieben zu werden:cp static/default.yml ~/.wukong/config.yml nano ~/.wukong/config.yml
- Wukong-Roboter starten: Führen Sie den folgenden Befehl im Stammverzeichnis des Projekts aus, um es zu starten:
python3 wukong.py
- Installation von Plug-Ins: wukong-robot unterstützt Plugins von Drittanbietern, Sie müssen das Plugin-Repository klonen und die Abhängigkeiten separat installieren:
cd ~/.wukong git clone https://github.com/wzpan/wukong-contrib.git contrib pip3 install -r contrib/requirements.txt
Hauptfunktionen
- mit einer Stimme aufwachenDas Standard-Weckwort ist
snowboy
die über die Konfigurationsdatei individuell angepasst werden können. Nach dem Aufwachen geht das System in den Aufnahmemodus und wartet auf den Sprachbefehl des Benutzers. Wenn Sie beispielsweise sagen: "Snowboy, schalte das Licht ein", kann das Smart Home Plug-in ausgelöst werden. - Prozess der SprachinteraktionDie Stimme des Benutzers wird durch ASR (Spracherkennung) in Text umgewandelt, durch NLU (Natural Language Understanding) geparst und dann durch das passende Plug-in verarbeitet, und schließlich wird das Ergebnis durch TTS (Sprachsynthese) ausgegeben. Wenn Sie zum Beispiel sagen: "Wie ist das Wetter heute?", gibt das Wetter-Plug-in eine Sprachantwort zurück.
- Backend-ManagementBeim Starten, Zugriff auf die
http://<设备IP>:5001
Rufen Sie die Verwaltungsschnittstelle auf, um aus der Ferne Befehle zu senden, Protokolle anzuzeigen oder Konfigurationen zu ändern. Beispielsweise können Sie das Weckwort einstellen oder die Spracherkennungsfunktion umschalten. - Plug-in-VerwendungPlug-ins wie z.B.
Echo.py
Wiederholbarer, vom Benutzer eingegebener Text, geeignet für Tests. Die Installation von Plug-ins von Drittanbietern (z. B. Baidu FM oder Wetter-Plug-ins) ist imconfig.yml
Konfigurieren Sie den API-Schlüssel in. Konfigurieren Sie zum Beispiel das Wetter-Plugin:weather: enable: true key: '心知天气 API Key'
Featured Function Bedienung
- ChatGPT-Integration: Durch die Konfiguration der
openai_api_key
Zugang zu ChatGPT mit Unterstützung für Mehrrunden-Dialoge. Erfordert die Verwendung desconfig.yml
Eingestellt:openai: api_key: 'your_openai_api_key' model: 'gpt-3.5-turbo'
Um ihn zu benutzen, sagen Sie "Snowboy, sprich mit mir über KI", um den Mehrrunden-Dialogmodus zu aktivieren.
- Gehirn-Computer-Interaktionwukong-robot unterstützt das Aufwachen durch das Muse-Gehirncomputergerät. Sie müssen das Gehirncomputergerät konfigurieren und das zugehörige Plug-in aktivieren. Nach der Ausführung wird das Aufwachen durch Gehirnwellensignale ausgelöst, geeignet für experimentelle Anwendungen.
- Intelligente HaussteuerungSteuerung von Geräten über das HASS (Home Assistant) Plug-in. Konfiguration
config.yml
Das Gerät kann mit Sprachbefehlen gesteuert werden, wie z. B. "Schalten Sie das Wohnzimmerlicht ein", nachdem der HASS-Parameter im "HASS"-Parameter im "HASS"-Parameter im "HASS"-Parameter auf "HASS" gesetzt wurde.
caveat
- Vergewissern Sie sich, dass das Mikrofon und die Lautsprecher ordnungsgemäß funktionieren, und testen Sie die Aufnahme- und Wiedergabefunktionen:
arecord -d 5 test.wav aplay test.wav
- Wenn Sie einen Raspberry Pi verwenden, muss die Soundkarte richtig konfiguriert sein (z. B. ReSpeaker 2 Mics). Siehe
.asoundrc
Konfiguration:pcm.!default { type asym playback.pcm { type plug slave.pcm "hw:1,0" } capture.pcm { type plug slave.pcm "hw:1,0" } } ctl.!default { type hw card 1 }
- Überprüfen Sie die Protokolle oder besuchen Sie die GitHub Issues-Seiten (z. B. #355, #353), um Hilfe von der Community zu erhalten, wenn Sie Probleme haben.
Anwendungsszenario
- DIY Smart Speaker
Entwickler können wukong-robot nutzen, um auf dem Raspberry Pi personalisierte intelligente Lautsprecher mit benutzerdefinierten Weckwörtern und Sprachinteraktionen zu bauen, die sich für den Heimgebrauch oder die Präsentation von Technologieprojekten eignen. - Intelligente Haussteuerung
Durch den Zugriff auf das HASS-Plug-in kann der wukong-Roboter Lampen, Klimaanlagen und andere Geräte per Sprache steuern und eignet sich so als Smart-Home-Hub. - Bildung und Forschung
Studenten und Forscher können den modularen Aufbau nutzen, um Spracherkennung, NLP und Plug-in-Entwicklung für KI-Lehr- oder Laborprojekte zu erlernen. - Experiment zur Gehirn-Computer-Interaktion
Es unterstützt die Brain-Computer-Wake-up-Funktion, die sich für Neurowissenschaftler und HCI-Forscher zur Erforschung neuer Interaktionsmethoden eignet.
QA
- Wie löse ich das Problem "snowboy API geschlossen"?
Snowboy API wird im Dezember 2020 außer Betrieb genommen, es muss auf Porcupine oder eine andere Offline-Wake-Engine umgestellt werden. Änderungenconfig.yml
Die empfohlene Methode zur Konfiguration der Wakeup-Engine ist die Verwendung von Porcupine. - Warum wacht das Mikrofon nicht auf?
Überprüfen Sie, ob die Soundkarte richtig konfiguriert ist, indem Siearecord -l
Bestätigen Sie die Mikrofonausrüstung. Vergewissern Sie sich, dass die.asoundrc
Konfigurieren Sie es richtig, oder lesen Sie GitHub Issue #57, um die ReSpeaker-Einstellungen anzupassen. - Wie kann ich ein neues Plugin hinzufügen?
Klon (Lehnwort)wukong-contrib
Repository, installieren Sie die Abhängigkeiten und kopieren Sie das Plugin in das~/.wukong/contrib
und im Verzeichnisconfig.yml
im Abschnitt "Baidu FM Plugin". Um zum Beispiel das Baidu FM Plugin hinzuzufügen, müssen Sie diebaidufm
Parameter. - Wie kann ich meine API-Schlüssel sichern?
Legen Sie nichtopenai_api_key
und andere sensible Informationen werden gedruckt oder direkt in das Protokoll geschrieben. Einstellungconfig.yml
Die Dateiberechtigungen sind nur für den aktuellen Benutzer lesbar (chmod 600 config.yml
). Siehe Ausgabe #317 zur Behebung möglicher Sicherheitsprobleme.