O BanTerbot é um aplicativo de chatbot fácil de usar que aproveita os modelos OpenAI para gerar respostas com conhecimento de contexto, vozes neurais do Azure para síntese de texto em fala e reconhecimento de fala para texto do Azure. O pacote oferece um kit de ferramentas abrangente para criar aplicativos de chatbot com uma interface intuitiva e um conjunto de serviços públicos.
Três variáveis de ambiente são necessárias para a funcionalidade completa:
OPENAI_API_KEY : uma chave de API do OpenAI válidaAZURE_SPEECH_KEY : uma chave de fala de fala cognitiva do Azure válida para a funcionalidade de texto para fala e fala para textoAZURE_SPEECH_REGION : a região associada à sua chave de fala de fala de serviços cognitivos do Azure Uma interface gráfica do usuário (GUI) estabelece um ambiente de conversação multiplayer, onde até nove usuários podem interagir com o chatbot simultaneamente. A GUI inclui uma área de histórico de conversas e painéis de usuário com botões 'Ouvir' para processar a entrada do usuário. Ele também suporta ligações de chave para conveniência do usuário.
Uma aula responsável pelo gerenciamento de interações com a API do OpenAi ChatCompletion. Oferece funcionalidade para gerar respostas da API com base nas mensagens de entrada. Ele suporta gerar respostas na íntegra ou como um fluxo de blocos de resposta.
Uma classe que lida com a síntese de texto em fala usando os serviços cognitivos do Azure. Ele suporta uma ampla gama de formatos de saída, vozes e estilos de fala. O discurso sintetizado pode ser interrompido e o progresso pode ser monitorado em tempo real.
Uma classe que fornece uma interface para converter linguagem falada em texto escrito usando serviços cognitivos do Azure. Ele permite o reconhecimento contínuo da fala e fornece resultados em tempo real, à medida que as sentenças são reconhecidas.
O BanTerbot requer vários modelos de idiomas Spacy para executar e os baixará automaticamente na inicialização pela primeira vez, se estiverem ausentes ou incompatíveis-esse processo às vezes pode demorar um pouco.
O BANTERBOT pode ser instalado ou atualizado usando o Python Package Index (PYPI):
python -m pip install --upgrade banterbotPara instalar o BANTERBOT, basta clonar o repositório e instalar as dependências necessárias:
git clone https://github.com/gabrielscabrera/banterbot.git
cd banterbot
python -m pip install . Inicie o BANTERBOT com uma interface gráfica do usuário aprimorada executando o comando banterbot no seu terminal. Esta GUI permite que vários usuários interajam com o bot, cada um com um botão dedicado para entrada de fala e uma exibição para respostas.
--prompt : Defina um prompt de sistema no início da conversa (por exemplo, --prompt "You are Grendel the Quiz Troll, a charismatic troll who loves to host quiz shows." ).
--model : escolha o modelo OpenAI para geração de conversas. Padrões para o GPT-4, mas outras versões podem ser selecionadas se especificadas no código.
--voice : selecione uma voz de texto cognitivo do Microsoft Azure. O padrão é "Aria", mas outras vozes podem ser especificadas se disponíveis.
--debug : Ative o modo de depuração para exibir informações adicionais no terminal para solução de problemas.
--greet : peça ao bot cumprimentar o usuário após a inicialização.
--name : atribua um nome ao assistente para fins estéticos. Isso não informa o próprio bot; Para fornecer às informações do bot, use o sinalizador --prompt .
Aqui está um exemplo:
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 Além disso, você pode usar banterbot character para selecionar um caractere pré-carregado para interagir. Por exemplo:
banterbot character therapistIniciará uma conversa com Grendel the Therapy Troll. Para listar todos os personagens disponíveis, execute:
banterbot character -h Você também pode usar banterbot voice-search para pesquisar todas as vozes disponíveis. Por exemplo:
banterbot voice-search --language en fr Listará todos os modelos de voz em inglês (en) e francês (FR). Execute banterbot voice-search -h para obter mais informações.
Para usar o BANTERBOT em um script, crie uma instância da classe TKInterface e chame o método 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 ) Os logs de bate -papo são salvos no $HOME/Documents/BanterBot/Conversations/ DIRETORO COMO ARQUIVOS INDIVIDADOS .txt .
Para uma documentação mais completa, consulte os documentos do BanTerbot.