Baille-Bot est une application de chatbot conviviale qui exploite les modèles OpenAI pour générer des réponses contextuelles, des voix neuronales Azure pour la synthèse de texte vocale et une reconnaissance de la parole au texte Azure. Le package propose une boîte à outils complète pour créer des applications Chatbot avec une interface intuitive et une suite de services publics.
Trois variables d'environnement sont requises pour la pleine fonctionnalité:
OPENAI_API_KEY : une clé API OpenAI valideAZURE_SPEECH_KEY : une touche API de la parole de services cognitifs Azure valide pour le texte-vocation et la fonctionnalité de la parole à texteAZURE_SPEECH_REGION : la région associée à votre clé API de discours de services cognitifs Azure Une interface utilisateur graphique (GUI) établit un environnement de conversation multijoueur où jusqu'à neuf utilisateurs peuvent interagir simultanément avec le chatbot. L'interface graphique comprend une zone d'historique de conversation et des panneaux utilisateur avec des boutons «Écouter» pour traiter la saisie des utilisateurs. Il prend également en charge les liaisons clés pour la commodité des utilisateurs.
Une classe responsable de la gestion des interactions avec l'API Openai ChatCompletion. Il offre des fonctionnalités pour générer des réponses à partir de l'API en fonction des messages d'entrée. Il prend en charge la génération de réponses dans leur intégralité ou comme flux de blocs de réponse.
Une classe qui gère la synthèse de texte vocale à l'aide des services cognitifs d'Azure. Il prend en charge une large gamme de formats de sortie, de voix et de styles de parole. Le discours synthétisé peut être interrompu et les progrès peuvent être surveillés en temps réel.
Une classe qui fournit une interface pour convertir le langage parlé en texte écrit à l'aide de services cognitifs Azure. Il permet une reconnaissance de la parole continue et fournit des résultats en temps réel à mesure que les phrases sont reconnues.
Le bailleur nécessite plusieurs modèles de langage spacy pour s'exécuter et les téléchargeront automatiquement lors d'une première initialisation, s'ils sont manquants ou incompatibles - ce processus peut parfois prendre un certain temps.
Banterbot peut être installé ou mis à jour à l'aide de l'index Python Package (PYPI):
python -m pip install --upgrade banterbotPour installer Banterbot, clonez simplement le référentiel et installez les dépendances requises:
git clone https://github.com/gabrielscabrera/banterbot.git
cd banterbot
python -m pip install . Démarrez Banterbot avec une interface utilisateur graphique améliorée en exécutant le banterbot de commande dans votre terminal. Cette interface graphique permet à plusieurs utilisateurs d'interagir avec le bot, chacun avec un bouton dédié pour l'entrée de la parole et un affichage pour les réponses.
--prompt : Définissez une invite de système au début de la conversation (par exemple, --prompt "You are Grendel the Quiz Troll, a charismatic troll who loves to host quiz shows." ).
--model : Choisissez le modèle OpenAI pour la génération de conversations. Par défaut GPT-4, mais d'autres versions peuvent être sélectionnées si elles sont spécifiées dans le code.
--voice : Sélectionnez une voix de texte à dispection Microsoft Azure Services. La valeur par défaut est «Aria», mais d'autres voix peuvent être spécifiées si elles sont disponibles.
--debug : Activez le mode de débogage pour afficher des informations supplémentaires dans le terminal pour le dépannage.
--greet : Demandez au bot de saluer l'utilisateur au démarrage.
--name : attribuez un nom à l'assistant à des fins esthétiques. Cela n'informe pas le bot lui-même; Pour fournir au bot des informations, utilisez le drapeau --prompt .
Voici un exemple:
banterbot --greet --model gpt-4-turbo --voice davis --prompt " You are Grondle the Quiz Troll, a charismatic troll who loves to host quiz shows. " --name Grondle De plus, vous pouvez utiliser banterbot character pour sélectionner un caractère préchargé avec qui interagir. Par exemple:
banterbot character therapistEntamera une conversation avec Grendel the Therapy Troll. Pour répertorier tous les caractères disponibles, exécutez:
banterbot character -h Vous pouvez également utiliser banterbot voice-search pour rechercher toutes les voix disponibles. Par exemple:
banterbot voice-search --language en fr Listera tous les modèles vocaux anglais (en) et français (FR). Exécutez banterbot voice-search -h pour plus d'informations.
Pour utiliser Banterbot dans un script, créez une instance de la classe TKInterface et appelez la méthode run :
from banterbot import AzureNeuralVoiceManager , OpenAIModelManager , TKInterface
model = OpenAIModelManager . load ( "gpt-4o" )
voice = AzureNeuralVoiceManager . load ( "Davis" )
assistant_name = "Grendel"
# Optional system prompt to set up a custom character prior to initializing BanterBot.
system = "You are Grendel the Quiz Troll, a charismatic troll who loves to host quiz shows."
# The four arguments `model`, `voice`, `system`, and `assistant_name` are optional.
interface = TKInterface ( model = model , voice = voice , system = system , assistant_name = assistant_name )
# Setting `greet` to True instructs BanterBot to initiate the conversation. Otherwise, the user must initiate.
interface . run ( greet = True ) Les journaux de chat sont enregistrés dans les $HOME/Documents/BanterBot/Conversations/ Directory en tant que fichiers .txt individuels.
Pour une documentation plus complète, veuillez vous référer aux documents de bailleur.