Banterbot เป็นแอปพลิเคชั่น Chatbot ที่ใช้งานง่ายซึ่งใช้ประโยชน์จากโมเดล OpenAI สำหรับการสร้างการตอบสนองที่รับรู้บริบทเสียง Azure Neural สำหรับการสังเคราะห์ข้อความเป็นคำพูดและการจดจำคำพูดของ Azure แพ็คเกจนำเสนอชุดเครื่องมือที่ครอบคลุมสำหรับการสร้างแอปพลิเคชัน Chatbot ด้วยอินเทอร์เฟซที่ใช้งานง่ายและชุดยูทิลิตี้
จำเป็นต้องมีตัวแปรสภาพแวดล้อมสามตัวสำหรับฟังก์ชั่นเต็มรูปแบบ:
OPENAI_API_KEY : คีย์ openai api ที่ถูกต้องAZURE_SPEECH_KEY : คีย์ API API Services Services AzuAZURE_SPEECH_REGION : ภูมิภาคที่เกี่ยวข้องกับคีย์ API Services API Services Azure ของคุณ อินเทอร์เฟซผู้ใช้กราฟิก (GUI) สร้างสภาพแวดล้อมการสนทนาแบบผู้เล่นหลายคนซึ่งผู้ใช้สูงสุดเก้าคนสามารถโต้ตอบกับ chatbot พร้อมกันได้ GUI มีพื้นที่ประวัติการสนทนาและแผงผู้ใช้พร้อมปุ่ม 'ฟัง' เพื่อประมวลผลอินพุตของผู้ใช้ นอกจากนี้ยังรองรับการเชื่อมโยงคีย์เพื่อความสะดวกของผู้ใช้
ชั้นเรียนที่รับผิดชอบในการจัดการการโต้ตอบกับ OpenAI ChatCompletion API มันมีฟังก์ชันการทำงานเพื่อสร้างการตอบสนองจาก API ตามข้อความอินพุต รองรับการสร้างคำตอบอย่างครบถ้วนหรือเป็นกระแสของบล็อกการตอบสนอง
คลาสที่จัดการกับการสังเคราะห์ข้อความเป็นคำพูดโดยใช้บริการความรู้ความเข้าใจของ Azure รองรับรูปแบบเอาต์พุตที่หลากหลายเสียงและสไตล์การพูด คำพูดที่สังเคราะห์สามารถถูกขัดจังหวะและความคืบหน้าสามารถตรวจสอบได้แบบเรียลไทม์
คลาสที่ให้อินเทอร์เฟซเพื่อแปลงภาษาพูดเป็นข้อความที่เขียนโดยใช้บริการความรู้ความเข้าใจ Azure จะช่วยให้การจดจำคำพูดอย่างต่อเนื่องและให้ผลลัพธ์แบบเรียลไทม์ตามที่รับรู้ประโยค
Banterbot ต้องการรูปแบบภาษา Spacy หลายแบบที่จะเรียกใช้และจะดาวน์โหลดโดยอัตโนมัติในการเริ่มต้นครั้งแรกหากพวกเขาหายไปหรือเข้ากันไม่ได้-บางครั้งกระบวนการนี้อาจใช้เวลาสักครู่
Banterbot สามารถติดตั้งหรืออัปเดตได้โดยใช้ดัชนีแพ็คเกจ Python (PYPI):
python -m pip install --upgrade banterbotในการติดตั้ง banterbot เพียงโคลนที่เก็บและติดตั้งการอ้างอิงที่ต้องการ:
git clone https://github.com/gabrielscabrera/banterbot.git
cd banterbot
python -m pip install . เริ่ม Banterbot ด้วยส่วนต่อประสานกราฟิกผู้ใช้ที่ได้รับการปรับปรุงโดยเรียกใช้คำสั่ง banterbot ในเทอร์มินัลของคุณ GUI นี้อนุญาตให้ผู้ใช้หลายคนโต้ตอบกับบอทแต่ละคนมีปุ่มเฉพาะสำหรับอินพุตคำพูดและการแสดงผลสำหรับการตอบกลับ
--prompt : ตั้งค่าระบบแจ้งให้ทราบในตอนต้นของการสนทนา (เช่น --prompt "You are Grendel the Quiz Troll, a charismatic troll who loves to host quiz shows." )
--model : เลือกโมเดล OpenAI สำหรับการสร้างการสนทนา ค่าเริ่มต้นเป็น GPT-4 แต่สามารถเลือกเวอร์ชันอื่นได้หากระบุไว้ในรหัส
--voice : เลือก Microsoft Azure Cognitive Services เสียงข้อความเป็นคำพูด ค่าเริ่มต้นคือ "Aria" แต่สามารถระบุเสียงอื่น ๆ ได้หากมี
--debug : เปิดใช้งานโหมดการดีบักเพื่อแสดงข้อมูลเพิ่มเติมในเทอร์มินัลสำหรับการแก้ไขปัญหา
--greet : ให้บอททักทายผู้ใช้เมื่อเริ่มต้น
--name : กำหนดชื่อให้ผู้ช่วยเพื่อจุดประสงค์ด้านสุนทรียภาพ สิ่งนี้ไม่ได้แจ้งให้บอทตัวเอง; เพื่อให้ข้อมูลบอทให้ใช้ธง --prompt
นี่คือตัวอย่าง:
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 นอกจากนี้คุณสามารถใช้ banterbot character เพื่อเลือกอักขระที่โหลดไว้ล่วงหน้าเพื่อโต้ตอบกับ ตัวอย่างเช่น:
banterbot character therapistจะเริ่มการสนทนากับ Grendel the Therapy Troll หากต้องการแสดงรายการอักขระที่มีอยู่ทั้งหมด Run:
banterbot character -h คุณยังสามารถใช้ banterbot voice-search เพื่อค้นหาเสียงที่มีอยู่ทั้งหมด ตัวอย่างเช่น:
banterbot voice-search --language en fr จะแสดงรายการภาษาอังกฤษทั้งหมด (en) และภาษาฝรั่งเศส (FR) เสียง เรียกใช้ banterbot voice-search -h สำหรับข้อมูลเพิ่มเติม
หากต้องการใช้ banterbot ในสคริปต์ให้สร้างอินสแตนซ์ของคลาส TKInterface และเรียกใช้วิธี 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 ) บันทึกการแชทจะถูกบันทึกไว้ใน $HOME/Documents/BanterBot/Conversations/ ไดเรกทอรีเป็นไฟล์. .txt รายบุคคล
สำหรับเอกสารที่สมบูรณ์ยิ่งขึ้นโปรดดูเอกสาร Banterbot