Assistant vocal ChatGPT
- L'assistant vocal ChatGPT utilise un Raspberry Pi (ou un ordinateur de bureau) pour permettre une conversation parlée avec de grands modèles de langage OpenAI. Cette implémentation écoute la parole, traite la conversation via le service OpenAI et répond. Comme Apple Siri, Amazon Alex, Google Nest Home, Mi XiaoAi, etc.
- Ce projet est écrit en python qui prend en charge Linux/Raspbian, macOS et Windows.
Caractéristiques
- Prend en charge le dialogue vocal en temps réel. Une fois que ChatGPT a renvoyé une phrase, vous pouvez entendre la voix au lieu d'attendre toutes les réponses de ChatGPT avant de démarrer la synthèse vocale.
- Prend en charge le dialogue continu, enregistre l'historique de toutes les conversations en cours ChatGPT. Lorsque la conversation ChatGPT dépasse 4 096 jetons (gpt-3,5-turbo), l'historique des premières conversations sera supprimé.
- Prend en charge le mot de réveil local, utilisez-le comme Siri.
Haut-parleur assistant vocal
- Matériel
- $ pour Raspberry PI 3/3B/4/4B
- $ pour un micro-téléphone USB
- $ pour le haut-parleur auxiliaire
- $ pour une carte SD (>= 8 Go) (pour configurer le système d'exploitation Raspberry Pi)
- Logiciel
- Services vocaux cognitifs Azure
- Niveau gratuit : 5 heures audio par mois et 1 demande simultanée.
- Crédit gratuit de 200 $ : Avec un nouveau compte Azure utilisable pendant les 30 premiers jours.
- OpenAI
- 0,002 $ / 1 000 jetons / ~ 750 mots : ChatGPT (gpt-3.5-turbo)
- Crédit gratuit de 18 $ : Avec un nouveau compte OpenAI pouvant être utilisé pendant vos 90 premiers jours.
Installation
- Vous aurez besoin d'une instance d'Azure Cognitive Services et d'un compte OpenAI. Vous pouvez exécuter le logiciel sur presque toutes les plateformes, mais commençons par un Raspberry Pi.
Framboise Pi
- Si vous êtes nouveau sur Raspberry Pis, consultez ce guide de démarrage.
1. Système d'exploitation
- Insérez une carte SD dans votre PC.
- Accédez à https://www.raspberrypi.com/software/ puis téléchargez et exécutez Raspberry Pi Imager.
- Cliquez sur
Choose OS
et sélectionnez le système d'exploitation Raspberry Pi (64 bits) ou Ubuntu 22.04.2 LTS (64 bits) . - Cliquez sur
Choose Storage
, sélectionnez la carte SD. - Cliquez sur
Write
et attendez la fin de la création d'image. - Insérez la carte SD dans votre Raspberry Pi et connectez un clavier, une souris et un moniteur.
- Terminez la configuration initiale en veillant à configurer le Wi-Fi.
2. Haut-parleur/microphone USB
- Branchez le haut-parleur/microphone USB si ce n’est pas déjà fait.
- Sur le bureau du Raspberry PI OS, cliquez avec le bouton droit sur l'icône de volume en haut à droite de l'écran et assurez-vous que le périphérique USB est sélectionné.
- Faites un clic droit sur l'icône du microphone en haut à droite de l'écran et assurez-vous que le périphérique USB est sélectionné.
Azuré
Le locuteur utilise Azure Cognitive Service pour la synthèse vocale et la synthèse vocale. Vous trouverez ci-dessous les étapes pour créer un compte Azure et une instance d'Azure Cognitive Services.
1. Compte Azure
- Dans un navigateur Web, accédez à https://aka.ms/friendbot/azure et cliquez sur
Try Azure for Free
. - Cliquez sur
Start Free
pour commencer à créer un compte Azure gratuit. - Connectez-vous avec votre compte Microsoft ou GitHub.
- Après vous être connecté, vous serez invité à saisir certaines informations.
REMARQUE : Même s'il s'agit d'un compte gratuit, Azure nécessite toujours des informations de carte de crédit. Vous ne serez pas facturé sauf si vous modifiez les paramètres ultérieurement.
- Une fois la configuration de votre compte terminée, accédez à https://aka.ms/friendbot/azureportal.
2. Services cognitifs Azure
- Connectez-vous à votre compte sur https://aka.ms/friendbot/azureportal.
- Dans la barre de recherche en haut, saisissez
Cognitive Services
. Sous Marketplace
sélectionnez Cognitive Services
. (Le remplissage peut prendre quelques secondes.) - Vérifiez que le bon abonnement est sélectionné. Sous
Resource Group
sélectionnez Create New
. Entrez un nom de groupe de ressources (par exemple conv-speak-rg
). - Sélectionnez une région et un nom pour votre instance d'Azure Cognitive Services (par exemple
my-conv-speak-cog-001
). REMARQUE : EastUS, WestEurope ou SoutheastAsia sont recommandés, car ces régions ont tendance à prendre en charge le plus grand nombre de fonctionnalités.
- Cliquez sur
Review + Create
. Une fois la validation réussie, cliquez sur Create
. - Une fois le déploiement terminé, vous pouvez cliquer sur
Go to resource
pour afficher votre ressource Azure Cognitive Services. - Dans la barre de navigation de gauche, sous
Resourse Management
, sélectionnez Keys and Endpoint
. - Copiez l’une des deux clés Cognitive Services. Enregistrez cette clé dans un emplacement sécurisé pour plus tard.
Utilisateurs de Windows 11 : si l'application se bloque lors de l'appel de l'API de synthèse vocale, assurez-vous d'avoir appliqué toutes les mises à jour de sécurité actuelles (lien).
OpenAI
Le locuteur conversationnel utilise les modèles d'OpenAI pour tenir une conversation conviviale. Vous trouverez ci-dessous les étapes pour créer un nouveau compte et accéder aux modèles IA. Prend en charge l'API officielle OpenAI ou l'API Azure OpenAI, il suffit d'en choisir une.
1. Compte OpenAI
- Dans un navigateur Web, accédez à https://aka.ms/maker/openai. Cliquez sur
Sign up
. REMARQUE : vous pouvez utiliser un compte Google, un compte Microsoft ou une adresse e-mail pour créer un nouveau compte.
- Terminez le processus d'inscription (par exemple, créez un mot de passe, vérifiez votre adresse e-mail, etc.).
REMARQUE : si vous êtes nouveau sur OpenAI, veuillez consulter les directives d'utilisation (https://beta.openai.com/docs/usage-guidelines).
- Dans le coin supérieur droit, cliquez sur votre compte. Cliquez sur
View API keys
. - Cliquez sur
+ Create new secret key
. Copiez la clé générée et enregistrez-la dans un emplacement sécurisé pour plus tard.
Si vous êtes curieux de jouer directement avec les grands modèles de langage, consultez le https://platform.openai.com/playground?mode=chat en haut de la page après vous être connecté à https://aka.ms/maker /openai.
2. Compte Azure OpenAI
Choisissez entre le compte officiel OpenAI ou le compte Azure OpenAI
- Créer un compte Azure
- Si vous n'avez pas de compte Azure, accédez au site Web officiel d'Azure pour créer un compte. Azure propose une option de compte gratuite et les nouveaux utilisateurs peuvent obtenir un certain nombre de crédits gratuits pour les tests et l'apprentissage.
- Demander l'accès
- Sur la page du service Azure OpenAI, cliquez sur le bouton « Demander l'accès ». Cela vous mènera à la page de candidature où vous devrez remplir certaines informations nécessaires, notamment le nom de votre entreprise, votre cas d'utilisation, etc.
- Configurer et utiliser
- Une fois que vous y avez accès, vous pouvez créer une nouvelle ressource de service OpenAI dans le portail Azure. Après la création, vous pouvez obtenir la clé API et commencer à utiliser le service Azure OpenAI en suivant la documentation officielle.
Le code
1. Configuration des codes
- Le package Python Speech SDK est disponible pour Windows (x64 et x86), Mac x64 (macOS X version 10.14 ou ultérieure), Mac arm64 (macOS version 11.0 ou ultérieure) et Linux.
- Sur le Raspberry Pi ou votre PC, ouvrez un terminal de ligne de commande.
- Sur Ubuntu ou Debian, exécutez les commandes suivantes pour l'installation des packages requis :
sudo apt-get update
sudo apt-get install libssl-dev libasound2
- Sur Ubuntu 22.04 LTS, il est également nécessaire de télécharger et d'installer le dernier package libssl1.1, par exemple depuis http://security.ubuntu.com/ubuntu/pool/main/o/openssl/.
- Clonez le dépôt.
git clone https://github.com/jackwuwei/gptspeaker.git
- Définissez vos clés API : remplacez config.json
{AzureCognitiveServices.Key}
et {AzureCognitiveServices.Region}
par votre clé API OpenAI et {OpenAI.Key}
par votre clé API OpenAI. {
"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
}
}
- Exigences d'installation
pip3 -r install requirements.txt
- Exécutez le code
2. (Facultatif) Créez une phrase de réveil personnalisée
La base de code contient déjà une phrase de réveil par défaut ( "Hey GPT"
), que je vous suggère d'utiliser en premier. Si vous souhaitez créer votre propre mot de réveil personnalisé (gratuit !), suivez les étapes ci-dessous.
- Créez un modèle de mot-clé personnalisé en suivant les instructions ici : https://aka.ms/hackster/microsoft/wakeword.
- Téléchargez le modèle, extrayez le fichier
.table
et copiez-le dans le répertoire racine source. - Mettez à jour le fichier
config.json
pour inclure votre fichier de phrase de réveil dans la build. "AzureCognitiveServices" : {
"WakePhraseModel" : " xxx.table " ,
"WakeWord" : " xxx " ,
}
- Reconstruisez et exécutez le projet pour utiliser votre mot de réveil personnalisé.