Banterbot ist eine benutzerfreundliche Chatbot-Anwendung, die OpenAI-Modelle für die Generierung von kontextbewussten Antworten, Azure-neuronale Stimmen für die Synthese von Text-to-Speech-Synthese und Azure-Sprach-zu-Text-Erkennung nutzt. Das Paket bietet ein umfassendes Toolkit zum Erstellen von Chatbot -Anwendungen mit einer intuitiven Schnittstelle und einer Reihe von Dienstprogrammen.
Für die volle Funktionalität sind drei Umgebungsvariablen erforderlich:
OPENAI_API_KEY : Eine gültige OpenAI -API -TasteAZURE_SPEECH_KEY : Ein gültiger Azure Cognitive Services Speech API-Schlüssel für Text-to-Speech- und Sprach-Text-FunktionenAZURE_SPEECH_REGION : Der Region, der mit Ihrem Azure Cognitive Services Sprach -API -Schlüssel zugeordnet ist Eine grafische Benutzeroberfläche (GUI) stellt eine Multiplayer -Konversationsumgebung fest, in der bis zu neun Benutzer gleichzeitig mit dem Chatbot interagieren können. Die GUI enthält einen Gesprächsverlaufsbereich und Benutzerpaneele mit Schaltflächen "Hören", um die Benutzereingabe zu verarbeiten. Es unterstützt auch wichtige Bindungen für die Benutzerversorgung.
Eine Klasse, die für die Verwaltung von Interaktionen mit der OpenAI -ChatCompletion -API verantwortlich ist. Es bietet Funktionen, um Antworten aus der API basierend auf Eingabenachrichten zu generieren. Es unterstützt die Erzeugung von Antworten in ihrer Gesamtheit oder als Strom von Antwortblöcken.
Eine Klasse, die die Synthese der Text-zu-Sprache unter Verwendung der kognitiven Dienste von Azure übernimmt. Es unterstützt eine Vielzahl von Ausgangsformaten, Stimmen und Sprechstilen. Die synthetisierte Sprache kann unterbrochen werden und der Fortschritt kann in Echtzeit überwacht werden.
Eine Klasse, die eine Schnittstelle zur Umwandlung der gesprochenen Sprache in schriftlichen Text mithilfe von Azure Cognitive Services bietet. Es ermöglicht eine kontinuierliche Spracherkennung und liefert Echtzeitergebnisse, sobald Sätze erkannt werden.
Banterbot benötigt mehrere Spacy-Sprachmodelle aus und lädt sie automatisch bei der Erstinitialisierung herunter, wenn sie fehlen oder inkompatibel sind-dieser Prozess kann manchmal eine Weile dauern.
Banterbot kann mit dem Python Package Index (PYPI) installiert oder aktualisiert werden:
python -m pip install --upgrade banterbotKlonen Sie zum Installieren von Banterbot einfach das Repository und installieren Sie die erforderlichen Abhängigkeiten:
git clone https://github.com/gabrielscabrera/banterbot.git
cd banterbot
python -m pip install . Starten Sie Banterbot mit einer erweiterten grafischen Benutzeroberfläche, indem Sie den Befehl banterbot in Ihrem Terminal ausführen. Mit dieser GUI können mehrere Benutzer mit dem Bot interagieren, jeweils eine dedizierte Taste für Spracheingaben und eine Anzeige für Antworten.
--prompt : Stellen Sie zu Beginn des Gesprächs eine Systemaufforderung fest (z. B. --prompt "You are Grendel the Quiz Troll, a charismatic troll who loves to host quiz shows." ).
--model : Wählen Sie das OpenAI-Modell für die Konversationsgenerierung. Standardeinstellungen zu GPT-4, andere Versionen können jedoch ausgewählt werden, wenn sie im Code angegeben sind.
--voice : Wählen Sie eine Microsoft Azure Cognitive Services Text-to-Speech-Stimme. Der Standardwert ist "Aria", aber andere Stimmen können angegeben werden, wenn verfügbar.
--debug : Aktivieren Sie den Debug-Modus, um zusätzliche Informationen im Terminal zur Fehlerbehebung anzuzeigen.
--greet : Lassen Sie den Bot den Benutzer beim Start begrüßen.
--name : Weisen Sie dem Assistenten für ästhetische Zwecke einen Namen zu. Dies informiert den Bot selbst nicht; Um dem Bot Informationen bereitzustellen, verwenden Sie die Flagge --prompt .
Hier ist ein Beispiel:
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 Zusätzlich können Sie banterbot character verwenden, um ein vorinstalliertes Zeichen zu wählen, mit dem Sie interagieren können. Zum Beispiel:
banterbot character therapistWird ein Gespräch mit Grendel, dem Therapie -Troll, beginnen. Um alle verfügbaren Charaktere aufzulisten, führen Sie aus:
banterbot character -h Sie können auch banterbot voice-search verwenden, um alle verfügbaren Stimmen zu durchsuchen. Zum Beispiel:
banterbot voice-search --language en fr Listen Sie alle Sprachmodelle für englische (EN) und Französisch (FR) auf. Führen Sie banterbot voice-search -h für weitere Informationen aus.
Um Banterbot in einem Skript zu verwenden, erstellen Sie eine Instanz der TKInterface -Klasse und rufen Sie die run auf:
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 ) Chat -Protokolle werden in $HOME/Documents/BanterBot/Conversations/ Verzeichnis als individuelle .txt -Dateien gespeichert.
Weitere umfassendere Unterlagen finden Sie in den Banterbot -Dokumenten.