Banterbot adalah aplikasi chatbot yang ramah pengguna yang memanfaatkan model OpenAI untuk menghasilkan respons sadar konteks, suara saraf Azure untuk sintesis teks-ke-ucapan, dan pengakuan ucapan-ke-teks. Paket ini menawarkan toolkit yang komprehensif untuk membangun aplikasi chatbot dengan antarmuka intuitif dan serangkaian utilitas.
Tiga variabel lingkungan diperlukan untuk fungsionalitas penuh:
OPENAI_API_KEY : Kunci API OpenAI yang validAZURE_SPEECH_KEY : Kunci API Pidato Layanan Kognitif Azure yang valid untuk fungsi teks-ke-speech dan ucapan-ke-teksAZURE_SPEECH_REGION : wilayah yang terkait dengan kunci API Layanan Kognitif Azure Anda Antarmuka pengguna grafis (GUI) menetapkan lingkungan percakapan multipemain di mana hingga sembilan pengguna dapat berinteraksi dengan chatbot secara bersamaan. GUI mencakup area riwayat percakapan dan panel pengguna dengan tombol 'Dengarkan' untuk memproses input pengguna. Ini juga mendukung binding kunci untuk kenyamanan pengguna.
Kelas yang bertanggung jawab untuk mengelola interaksi dengan OpenAI Chatcompletion API. Ini menawarkan fungsionalitas untuk menghasilkan respons dari API berdasarkan pesan input. Ini mendukung menghasilkan respons secara keseluruhan atau sebagai aliran blok respons.
Kelas yang menangani sintesis teks-ke-unggun menggunakan layanan kognitif Azure. Ini mendukung berbagai format output, suara, dan gaya berbicara. Pidato yang disintesis dapat terganggu, dan kemajuan dapat dipantau secara real-time.
Kelas yang menyediakan antarmuka untuk mengubah bahasa lisan menjadi teks tertulis menggunakan layanan kognitif Azure. Ini memungkinkan pengenalan ucapan terus menerus dan memberikan hasil waktu nyata karena kalimat diakui.
Banterbot memerlukan beberapa model bahasa spacy untuk dijalankan, dan secara otomatis akan mengunduhnya pada inisialisasi pertama kali, jika mereka hilang atau tidak kompatibel-proses ini kadang-kadang bisa memakan waktu cukup lama.
Banterbot dapat diinstal atau diperbarui menggunakan Indeks Paket Python (PYPI):
python -m pip install --upgrade banterbotUntuk menginstal Banderbot, cukup klon repositori dan menginstal dependensi yang diperlukan:
git clone https://github.com/gabrielscabrera/banterbot.git
cd banterbot
python -m pip install . Mulai banterbot dengan antarmuka pengguna grafis yang disempurnakan dengan menjalankan perintah banterbot di terminal Anda. GUI ini memungkinkan banyak pengguna untuk berinteraksi dengan bot, masing -masing dengan tombol khusus untuk input ucapan dan tampilan untuk tanggapan.
--prompt : Tetapkan prompt sistem di awal percakapan (misalnya, --prompt "You are Grendel the Quiz Troll, a charismatic troll who loves to host quiz shows." ).
--model : Pilih model OpenAI untuk pembuatan percakapan. Default ke GPT-4, tetapi versi lain dapat dipilih jika ditentukan dalam kode.
--voice : Pilih suara Microsoft Azure Cognitive Services Text-to-Speech. Standarnya adalah "ARIA," tetapi suara -suara lain dapat ditentukan jika tersedia.
--debug : Aktifkan mode debug untuk menampilkan informasi tambahan di terminal untuk pemecahan masalah.
--greet : Mintalah bot menyapa pengguna saat startup.
--name : Tetapkan nama kepada Asisten untuk tujuan estetika. Ini tidak menginformasikan bot itu sendiri; Untuk memberikan informasi kepada bot, gunakan bendera --prompt .
Inilah contohnya:
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 Selain itu, Anda dapat menggunakan banterbot character untuk memilih karakter yang telah dimuat sebelumnya untuk berinteraksi. Misalnya:
banterbot character therapistAkan memulai percakapan dengan Grendel the Therapy Troll. Untuk mendaftar semua karakter yang tersedia, jalankan:
banterbot character -h Anda juga dapat menggunakan banterbot voice-search untuk mencari melalui semua suara yang tersedia. Misalnya:
banterbot voice-search --language en fr Akan mencantumkan semua model suara bahasa Inggris (en) dan Prancis (FR). Jalankan banterbot voice-search -h untuk informasi lebih lanjut.
Untuk menggunakan banterbot dalam skrip, buat instance dari kelas TKInterface dan hubungi metode 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 ) Log obrolan disimpan dalam $HOME/Documents/BanterBot/Conversations/ direktori sebagai file .txt individual.
Untuk dokumentasi yang lebih lengkap, silakan merujuk ke dokumen banterbot.