Bemerkung
Hallo, willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community auf Facebook! Tauchen Sie gemeinsam mit anderen Enthusiasten tiefer in Raspberry Pi, Arduino und ESP32 ein.
Warum mitmachen?
Experten-Support : Lösen Sie After-Sales-Probleme und technische Herausforderungen mit Hilfe unserer Community und unseres Teams.
Lernen & Teilen : Tauschen Sie Tipps und Tutorials aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen : Erhalten Sie frühzeitigen Zugriff auf neue Produktankündigungen und exklusive Einblicke.
Sonderrabatte : Profitieren Sie von exklusiven Rabatten auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele : Nehmen Sie an Gewinnspielen und saisonalen Aktionen teil.
👉 Bereit, mit uns zu entdecken und zu erschaffen? Klicken Sie auf [here] und treten Sie noch heute bei!
7. KI-Sprachassistent
Diese Lektion verwandelt Ihren Fusion HAT+ in einen sprachzentrierten KI-Assistenten. Mit dem bereitgestellten Code wird der Roboter : auf ein Aktivierungswort warten , Ihre Sprache mit Vosk transkribieren , sie an ein OpenAI LLM senden und mit Piper TTS antworten .
Bevor Sie beginnen
Stellen Sie sicher, dass Sie Folgendes haben :
1. Piper testen — Die Piper-Stimme funktioniert ( z. B. können Sie „Hello“ abspielen ).
2. Vosk testen — Vosk STT funktioniert für Ihre Sprache ( z. B.
en-us).5. Verbindung zu Online-LLMs herstellen — Ihr OpenAI API-Schlüssel ist in
secret.pyalsOPENAI_API_KEYgespeichert.Ein funktionierendes Mikrofon und ein Lautsprecher am Fusion HAT.
Eine stabile Netzwerkverbindung ( das LLM ist online ).
Beispiel ausführen
cd ~/fusion-hat/examples/
sudo python3 voice_assistant.py
Vom Code verwendete Konfiguration:
LLM : OpenAI (
gpt-4o-mini)TTS : Piper (
en_US-ryan-low)STT : Vosk (
en-us)Aktivierungswort :
"hey buddy"Tastatureingabe : aktiviert ( optionale manuelle Eingabe )
Bildmodus : aktiviert (
WITH_IMAGE=True) — erfordert ein multimodalfähiges LLM, wenn Sie später Bilder verwenden möchten
Was passiert:
Der Assistent zeigt eine Willkommensnachricht mit der Aktivierungsphrase an.
Er hört auf „hey buddy“ .
Nach der Aktivierung wird Ihre Sprache transkribiert ( Vosk → Text ).
Der Text wird zur Antwort an OpenAI ( gpt-4o-mini ) gesendet.
Die Antwort wird mit Piper (
en_US-ryan-low) gesprochen.
Beispielinteraktion
You: Hey Buddy
Robot: Hi there!
You: What’s the capital of Italy?
Robot: The capital of Italy is Rome.
Code
from fusion_hat.voice_assistant import VoiceAssistant
from fusion_hat.llm import OpenAI as LLM
from secret import OPENAI_API_KEY as API_KEY
llm = LLM(
api_key=API_KEY,
model="gpt-4o-mini",
)
# Robot name
NAME = "Buddy"
# Enable image, need to set up a multimodal language model
WITH_IMAGE = True
# Set models and languages
LLM_MODEL = "gpt-4o-mini"
TTS_MODEL = "en_US-ryan-low"
STT_LANGUAGE = "en-us"
# Enable keyboard input
KEYBOARD_ENABLE = True
# Enable wake word
WAKE_ENABLE = True
WAKE_WORD = [f"hey {NAME.lower()}"]
# Set wake word answer, set empty to disable
ANSWER_ON_WAKE = "Hi there"
# Welcome message
WELCOME = f"Hi, I'm {NAME}. Wake me up with: " + ", ".join(WAKE_WORD)
# Set instructions
INSTRUCTIONS = f"""
You are a helpful assistant, named {NAME}.
"""
va = VoiceAssistant(
llm,
name=NAME,
with_image=WITH_IMAGE,
tts_model=TTS_MODEL,
stt_language=STT_LANGUAGE,
keyboard_enable=KEYBOARD_ENABLE,
wake_enable=WAKE_ENABLE,
wake_word=WAKE_WORD,
answer_on_wake=ANSWER_ON_WAKE,
welcome=WELCOME,
instructions=INSTRUCTIONS,
)
if __name__ == "__main__":
va.run()
Code-Erklärung:
OpenAI( ..., model="gpt-4o-mini" )— Verwendet OpenAI als einziges LLM in dieser Lektion.NAME/WAKE_WORD— Personalisieren Sie den Assistenten ( „Buddy“, „hey buddy“ ).WITH_IMAGE=True— Aktiviert den Bildmodus im Assistenten ( hier ist keine Bild-E/A-Logik enthalten ).TTS_MODEL="en_US-ryan-low"— Für Antworten wird die Piper-Stimme verwendet.STT_LANGUAGE="en-us"— Vosk-Sprache für die Erkennung.KEYBOARD_ENABLE=True— Ermöglicht eine optionale manuelle Texteingabe während des Debuggings.WELCOME/INSTRUCTIONS— Startnachricht und Persona- bzw. System-Prompt des Assistenten.va.run()— Startet die Schleife : Aktivieren → Zuhören → LLM → Sprechen .
Wechsel zu anderen LLMs oder TTS
Sie können mit nur wenigen Änderungen einfach zu anderen LLMs, TTS oder STT-Sprachen wechseln :
Unterstützte LLMs :
OpenAI
Doubao
Deepseek
Gemini
Qwen
Grok
1. Piper testen — Überprüfen Sie die unterstützten Sprachen von Piper TTS .
2. Vosk testen — Überprüfen Sie die unterstützten Sprachen von Vosk STT .
Um zu wechseln, ändern Sie einfach den Initialisierungsteil im Code :
from fusion_hat.llm import Gemini as LLM
llm = LLM(api_key="YOUR_KEY", model="gemini-pro")
# Set models and languages
TTS_MODEL = "en_US-ryan-low"
STT_LANGUAGE = "en-us"
Fehlerbehebung
Der Roboter reagiert nicht auf das Aktivierungswort
Überprüfen Sie, ob das Mikrofon funktioniert.
Stellen Sie sicher, dass
WAKE_ENABLE = Truegesetzt ist.Passen Sie das Aktivierungswort an Ihre Aussprache an.
Reduzieren Sie Hintergrundgeräusche und sprechen Sie deutlich.
Kein Ton aus dem Lautsprecher
Überprüfen Sie den TTS-Modellnamen ( z. B.
en_US-ryan-low).Testen Sie Piper oder Espeak manuell.
Überprüfen Sie die Lautsprecherverbindung und die Lautstärke.
API-Schlüssel-Fehler oder Zeitüberschreitung
Überprüfen Sie Ihren Schlüssel in
secret.py.Stellen Sie sicher, dass Ihre Netzwerkverbindung stabil ist.
Bestätigen Sie, dass das LLM-Modell unterstützt wird ( z. B.
gpt-4o-mini).
Das Aktivierungswort funktioniert, aber es gibt keine Antwort
Überprüfen Sie, ob die STT-Sprache zu Ihrem Akzent passt.
Stellen Sie sicher, dass das Modell korrekt heruntergeladen wurde.
Versuchen Sie, Debug-Protokolle auszugeben, um zu bestätigen, dass STT ausgeführt wird.
TTS funktioniert, aber keine LLM-Antwort
Überprüfen Sie, ob der API-Schlüssel gültig ist.
Überprüfen Sie den Modellnamen und die LLM-Einstellungen.
Stellen Sie sicher, dass eine Internetverbindung besteht.