Banterbot-это удобное для пользователя приложение Chatbot, которое использует модели OpenaI для создания ответов на контекст, лазурных нейронных голосов для синтеза текста в речь и лазурного распознавания речи к тексту. Пакет предлагает комплексный инструментарий для создания приложений чатбота с интуитивно понятным интерфейсом и набором утилит.
Для полной функциональности требуются три переменные среды:
OPENAI_API_KEY : действительный ключ Openai APIAZURE_SPEECH_KEY : действительный Azure Cognative Services API-ключ для текста в речь и функциональность речи в текстеAZURE_SPEECH_REGION : регион, связанный с вашим ключом API Azure Cognitive Services API Графический пользовательский интерфейс (GUI) устанавливает многопользовательскую среду разговора, в которой до девяти пользователей могут одновременно взаимодействовать с чатботом. Графический интерфейс включает в себя область истории разговора и пользовательские панели с кнопками «Прослушивание» для обработки ввода пользователя. Это также поддерживает ключевые привязки для удобства пользователя.
Класс, ответственный за управление взаимодействием с API Openai Chatcompletion. Он предлагает функциональность для генерации ответов от API на основе входных сообщений. Он поддерживает генерирование ответов в целом или в качестве потока блоков ответов.
Класс, который обрабатывает синтез текста в речь с использованием когнитивных услуг Azure. Он поддерживает широкий спектр выходных форматов, голосов и стилей разговоров. Синтезированная речь может быть прервана, и прогресс можно контролировать в режиме реального времени.
Класс, который предоставляет интерфейс для преобразования разговорного языка в письменный текст с использованием когнитивных услуг Azure. Это обеспечивает постоянное распознавание речи и дает результаты в реальном времени, поскольку предложения признаются.
Bnterbot требует нескольких моделей Spacy Language для запуска, и он будет автоматически загружать их при первой инициализации, если они отсутствуют или несовместимы-этот процесс иногда может занять некоторое время.
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 в вашем терминале. Этот графический интерфейс позволяет нескольким пользователям взаимодействовать с ботом, каждый с выделенной кнопкой для ввода речи и дисплеем для ответов.
--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. По умолчанию - «Ария», но другие голоса могут быть указаны, если они доступны.
--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. Чтобы перечислить все доступные символы, запустите:
banterbot character -h Вы также можете использовать banterbot voice-search для поиска всех доступных голосов. Например:
banterbot voice-search --language en fr Перечислит все английские (EN) и французские (FR) голосовые модели. Запустите banterbot voice-search -h для получения дополнительной информации.
Чтобы использовать Bnterbot в скрипте, создайте экземпляр класса 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 .
Для получения более полной документации, пожалуйста, обратитесь к документам Blanterbot.