Ceci est un module pour le MagicMirror².
Comment cela fonctionne https://nikro.me/articles/professional/crafting-our-ai-assistant/
L'objectif du module est de créer un widget interactif personnalisé qui utilise des outils d'IA ouverts:
L'idée est ce qui suit:
Pour utiliser ce module, ajoutez le bloc de configuration suivant au tableau des modules dans le fichier config/config.js :
var config = {
modules : [
{
module : 'MMM-WhisperGPT' ,
config : {
// See below for configurable options
picovoiceKey : 'xxx' ,
picovoiceWord : 'JARVIS' ,
picovoiceSilenceTime : 3 ,
picovoiceSilenceThreshold : 600 ,
audioDeviceIndex : 3 ,
openAiKey : 'xxx' ,
openAiSystemMsg : 'xxx' ,
whisperUrl : '192.168.1.5:9000/asr' ,
whisperMethod : 'openai-whisper' ,
mimic3Url : '192.168.1.6:59125'
}
}
]
} | Option | Requis? | Description |
|---|---|---|
picovoiceKey | Requis | PicoVoice Access Key - Vous devez vous inscrire pour l'obtenir - Ceci est utilisé pour le mot de déclenchement. |
picovoiceWord | Facultatif | Mot de déclenchement PicoVoice, c'est-à-dire Bumblebee, Jarvis, etc. par défaut à Jarvis. |
picovoiceSilenceTime | Facultatif | Période de silence - par défaut est 3 (3 secondes). |
picovoiceSilenceThreshold | Facultatif | Il s'agit généralement d'un bruit de fond * ce nombre. La valeur par défaut est de 1,1 (aka 10%). |
audioDeviceIndex | Facultatif | Appareil audio - IE 3 - Ceux-ci seront imprimés lorsque vous utilisez le mode de débogage. Par défaut est 0. |
whisperUrl | Requis | URL (ou IP?) À l'instance auto-hébergée du chuchotement. |
whisperMethod | Facultatif | Méthode de chuchotement: Openai-Whisper ou plus rapide. Par défaut est: plus rapide. |
whisperLanguage | Facultatif | Par défaut: en. |
openAiKey | Requis | Clé API d'Openai. |
openAiSystemMsg | Facultatif | Système MSG - Comment l'IA doit se comporter. |
mimic3Url | Requis | URL Mimic3 (serveur), avec protocole, port, sans / API / TTS |
mimic3Voice | Facultatif | Mimic3 Voice - par défaut: en_us / cmu-arctic_low% 23gka |
debug | Facultatif | Si vous voulez déboguer, la valeur par défaut est: Faux. |
Picovoice / Porcupine est utilisé pour le mot "déclencheur". Il s'agit d'un petit réseau AI / neuronal auto-hébergé (NN). Picovoice propose une gamme de services, y compris une licence pour cette IA hors ligne. Il n'envoie que des statistiques d'utilisation, et non les conversations audio réelles.
Whisper est un produit open source d'Openai. Il s'agit d'un modèle de langue large (LLM) qui gère la parole à texte (transcription). Dans mon cas personnel, je l'ai auto-hébergé sur mon réseau local.
J'ai utilisé ceci: https://github.com/ahmetoner/whisper-asr-webservice
Chatgpt est un autre produit d'Openai. C'est un grand modèle de langue (LLM) AI. Vous devrez vous inscrire et obtenir une clé API pour l'utiliser.
Langchain est une bibliothèque construite autour de LLMS qui permet des fonctionnalités supplémentaires, telles que la mémoire à long terme.
MyCroft's MiMIC3 est un système de texte-dispection (TTS) basé sur un modèle grand langage (LLM). Il offre des TT réalistes qui peuvent fonctionner sur des systèmes quelque peu restreints en ressources. J'ai d'abord essayé de le configurer sur mon OrangePI, mais à la place, je l'ai installé sur la même machine avec Whisper et l'utilise via le réseau.
J'ai utilisé ce docker-compose.yml
version : ' 3.7 '
services :
mimic3 :
image : mycroftai/mimic3
ports :
- 59125:59125
volumes :
- .:/home/mimic3/.local/share/mycroft/mimic3
stdin_open : true
tty : true mpg123 . Vous pouvez l'installer en utilisant la commande sudo apt-get install mpg123 .lame pour l'encodage audio. Vous pouvez l'installer à l'aide de la commande sudo apt-get install lame .