ChatGPT-Sprachassistent
- Der ChatGPT-Sprachassistent verwendet einen Raspberry Pi (oder Desktop), um gesprochene Konversation mit großen OpenAI-Sprachmodellen zu ermöglichen. Diese Implementierung lauscht der Sprache, verarbeitet die Konversation über den OpenAI-Dienst und antwortet darauf. Wie Apple Siri, Amazon Alex, Google Nest Home, Mi XiaoAi usw.
- Dieses Projekt ist in Python geschrieben, das Linux/Raspbian, macOS und Windows unterstützt.
Merkmale
- Unterstützt Echtzeit-Sprachdialog. Nachdem ChatGPT einen Satz zurückgegeben hat, können Sie die Stimme hören, anstatt auf alle ChatGPT-Antworten zu warten, bevor Sie mit der Sprachsynthese beginnen.
- Unterstützen Sie den kontinuierlichen Dialog und speichern Sie den Verlauf aller aktuellen ChatGPT-Konversationen. Wenn die ChatGPT-Konversation mehr als 4096 Token (gpt-3.5-turbo) umfasst, wird der frühe Konversationsverlauf verworfen.
- Unterstützen Sie lokales Weckwort, verwenden Sie es genau wie Siri.
Sprachassistent-Lautsprecher
- Hardware
- $ für Raspberry PI 3/3B/4/4B
- $ für USB-Mikrofon
- $ für Aux-Lautsprecher
- $ für eine SD-Karte (>= 8 GB) (zum Einrichten des Raspberry Pi OS)
- Software
- Azure Cognitive Speech Services
- Kostenloses Kontingent : 5 Audiostunden pro Monat und 1 gleichzeitige Anfrage.
- Kostenloses Guthaben von 200 $ : Mit einem neuen Azure-Konto, das in den ersten 30 Tagen genutzt werden kann.
- OpenAI
- 0,002 $ / 1.000 Token / ~750 Wörter : ChatGPT (gpt-3.5-turbo)
- Kostenloses Guthaben von 18 $ : Mit einem neuen OpenAI-Konto, das in den ersten 90 Tagen genutzt werden kann.
Aufstellen
- Sie benötigen eine Instanz von Azure Cognitive Services und ein OpenAI-Konto. Sie können die Software auf fast jeder Plattform ausführen, aber beginnen wir mit einem Raspberry Pi.
Raspberry Pi
- Wenn Sie neu bei Raspberry Pis sind, schauen Sie sich diese Anleitung für die ersten Schritte an.
1. Betriebssystem
- Legen Sie eine SD-Karte in Ihren PC ein.
- Gehen Sie zu https://www.raspberrypi.com/software/, laden Sie den Raspberry Pi Imager herunter und führen Sie ihn aus.
- Klicken Sie auf
Choose OS
und wählen Sie das Raspberry Pi-Betriebssystem (64-Bit) oder Ubuntu 22.04.2 LTS (64-Bit) aus. - Klicken Sie auf
Choose Storage
und wählen Sie die SD-Karte aus. - Klicken Sie auf
Write
und warten Sie, bis das Imaging abgeschlossen ist. - Stecken Sie die SD-Karte in Ihren Raspberry Pi und schließen Sie eine Tastatur, eine Maus und einen Monitor an.
- Schließen Sie die Ersteinrichtung ab und stellen Sie sicher, dass WLAN konfiguriert ist.
2. USB-Lautsprecher/Mikrofon
- Schließen Sie den USB-Lautsprecher/das USB-Mikrofon an, falls Sie dies noch nicht getan haben.
- Klicken Sie auf dem Raspberry PI OS-Desktop mit der rechten Maustaste auf das Lautstärkesymbol oben rechts auf dem Bildschirm und stellen Sie sicher, dass das USB-Gerät ausgewählt ist.
- Klicken Sie mit der rechten Maustaste auf das Mikrofonsymbol oben rechts auf dem Bildschirm und stellen Sie sicher, dass das USB-Gerät ausgewählt ist.
Azurblau
Der Konversationssprecher nutzt Azure Cognitive Service für Speech-to-Text und Text-to-Speech. Nachfolgend finden Sie die Schritte zum Erstellen eines Azure-Kontos und einer Instanz von Azure Cognitive Services.
1. Azure-Konto
- Navigieren Sie in einem Webbrowser zu https://aka.ms/friendbot/azure und klicken Sie auf
Try Azure for Free
. - Klicken Sie auf
Start Free
um mit der Erstellung eines kostenlosen Azure-Kontos zu beginnen. - Melden Sie sich mit Ihrem Microsoft- oder GitHub-Konto an.
- Nach der Anmeldung werden Sie aufgefordert, einige Informationen einzugeben.
HINWEIS: Auch wenn es sich um ein kostenloses Konto handelt, benötigt Azure dennoch Kreditkarteninformationen. Ihnen werden keine Kosten berechnet, es sei denn, Sie ändern die Einstellungen später.
- Navigieren Sie nach Abschluss der Kontoeinrichtung zu https://aka.ms/friendbot/azureportal.
2. Azure Cognitive Services
- Melden Sie sich unter https://aka.ms/friendbot/azureportal bei Ihrem Konto an.
- Geben Sie in der Suchleiste oben
Cognitive Services
ein. Wählen Sie unter Marketplace
die Cognitive Services
aus. (Das Ausfüllen kann einige Sekunden dauern.) - Stellen Sie sicher, dass das richtige Abonnement ausgewählt ist. Wählen Sie unter
Resource Group
die Create New
aus. Geben Sie einen Ressourcengruppennamen ein (z. B. conv-speak-rg
). - Wählen Sie eine Region und einen Namen für Ihre Instanz von Azure Cognitive Services aus (z. B.
my-conv-speak-cog-001
). HINWEIS: EastUS, WestEurope oder SoutheastAsia werden empfohlen, da diese Regionen tendenziell die meisten Funktionen unterstützen.
- Klicken Sie auf
Review + Create
. Klicken Sie nach erfolgreicher Validierung auf Create
. - Wenn die Bereitstellung abgeschlossen ist, können Sie
Go to resource
klicken, um Ihre Azure Cognitive Services-Ressource anzuzeigen. - Wählen Sie in der linken Navigationsleiste unter
Resourse Management
die Option Keys and Endpoint
aus. - Kopieren Sie einen der beiden Cognitive Services-Schlüssel. Bewahren Sie diesen Schlüssel für später an einem sicheren Ort auf.
Benutzer von Windows 11: Wenn die Anwendung beim Aufruf der Text-to-Speech-API blockiert, stellen Sie sicher, dass Sie alle aktuellen Sicherheitsupdates installiert haben (Link).
OpenAI
Der Gesprächspartner nutzt die Modelle von OpenAI, um ein freundliches Gespräch zu führen. Nachfolgend finden Sie die Schritte zum Erstellen eines neuen Kontos und zum Zugriff auf die KI-Modelle. Unterstützt die offizielle OpenAI-API oder die Azure OpenAI-API. Wählen Sie einfach eine aus.
1. OpenAI-Konto
- Navigieren Sie in einem Webbrowser zu https://aka.ms/maker/openai. Klicken Sie auf
Sign up
. HINWEIS: Sie können ein Google-Konto, ein Microsoft-Konto oder eine E-Mail-Adresse verwenden, um ein neues Konto zu erstellen.
- Schließen Sie den Anmeldevorgang ab (z. B. ein Passwort erstellen, Ihre E-Mail-Adresse bestätigen usw.).
HINWEIS: Wenn Sie neu bei OpenAI sind, lesen Sie bitte die Nutzungsrichtlinien (https://beta.openai.com/docs/usage-guidelines).
- Klicken Sie oben rechts auf Ihr Konto. Klicken Sie auf
View API keys
. - Klicken Sie auf
+ Create new secret key
. Kopieren Sie den generierten Schlüssel und speichern Sie ihn für später an einem sicheren Ort.
Wenn Sie neugierig sind, direkt mit den großen Sprachmodellen zu spielen, schauen Sie sich den https://platform.openai.com/playground?mode=chat oben auf der Seite an, nachdem Sie sich bei https://aka.ms/maker angemeldet haben /openai.
2. Azure OpenAI-Konto
Wählen Sie zwischen dem offiziellen OpenAI-Konto oder dem Azure OpenAI-Konto
- Erstellen Sie ein Azure-Konto
- Wenn Sie kein Azure-Konto haben, besuchen Sie die offizielle Azure-Website, um sich für ein Konto zu registrieren. Azure bietet eine kostenlose Kontooption und neue Benutzer können eine bestimmte Menge an kostenlosen Credits zum Testen und Lernen erhalten.
- Beantragen Sie den Zugang
- Klicken Sie auf der Azure OpenAI-Dienstseite auf die Schaltfläche „Zugriff beantragen“. Dadurch gelangen Sie zur Bewerbungsseite, auf der Sie einige notwendige Informationen eingeben müssen, darunter Ihren Firmennamen, Ihren Anwendungsfall usw.
- Konfigurieren und verwenden
- Sobald Sie Zugriff haben, können Sie im Azure-Portal eine neue OpenAI-Dienstressource erstellen. Nach der Erstellung können Sie den API-Schlüssel erhalten und mit der Nutzung des Azure OpenAI-Dienstes beginnen, indem Sie der offiziellen Dokumentation folgen.
Der Kodex
1. Codekonfiguration
- Das Python Speech SDK-Paket ist für Windows (x64 und x86), Mac x64 (macOS X Version 10.14 oder höher), Mac arm64 (macOS Version 11.0 oder höher) und Linux verfügbar
- Öffnen Sie auf dem Raspberry Pi oder Ihrem PC ein Befehlszeilenterminal.
- Führen Sie unter Ubuntu oder Debian die folgenden Befehle aus, um die erforderlichen Pakete zu installieren:
sudo apt-get update
sudo apt-get install libssl-dev libasound2
- Unter Ubuntu 22.04 LTS ist es außerdem erforderlich, das neueste libssl1.1- Paket herunterzuladen und zu installieren, z. B. von http://security.ubuntu.com/ubuntu/pool/main/o/openssl/.
- Klonen Sie das Repo.
git clone https://github.com/jackwuwei/gptspeaker.git
- Legen Sie Ihre API-Schlüssel fest: Ersetzen Sie config.json
{AzureCognitiveServices.Key}
und {AzureCognitiveServices.Region}
durch Ihren OpenAI-API-Schlüssel und {OpenAI.Key}
durch Ihren OpenAI-API-Schlüssel. {
"AzureCognitiveServices" : {
"Key" : " AzureCognitiveServicesKey " ,
"Region" : " AzureCognitiveServicesRegion " ,
},
"OpenAI" : {
"Key" : " OpenAIKey " ,
},
// Just choose one of the two OpenAI above
"AzureOpenAI" :
{
"Key" : " " , // Key 1 or Key 2
"api_version" : " 2024-02-01 " ,
"Endpoint" : " " , // Endpoint
"Model" : " " // Azure AI Studio deployment name
}
}
- Installationsanforderungen
pip3 -r install requirements.txt
- Führen Sie den Code aus
2. (Optional) Erstellen Sie eine benutzerdefinierte Aktivierungsphrase
Die Codebasis verfügt bereits über eine Standard-Wake-Phrase ( "Hey GPT"
), die Sie meiner Meinung nach zuerst verwenden sollten. Wenn Sie Ihr eigenes (kostenloses!) benutzerdefiniertes Aktivierungswort erstellen möchten, führen Sie die folgenden Schritte aus.
- Erstellen Sie mithilfe der Anweisungen hier ein benutzerdefiniertes Keyword-Modell: https://aka.ms/hackster/microsoft/wakeword.
- Laden Sie das Modell herunter, extrahieren Sie die
.table
Datei und kopieren Sie sie in das Quellstammverzeichnis. - Aktualisieren Sie die Datei
config.json
um Ihre Wake-Phrase-Datei in den Build aufzunehmen. "AzureCognitiveServices" : {
"WakePhraseModel" : " xxx.table " ,
"WakeWord" : " xxx " ,
}
- Erstellen Sie das Projekt neu und führen Sie es aus, um Ihr benutzerdefiniertes Aktivierungswort zu verwenden.