Banterbot es una aplicación de chatbot fácil de usar que aprovecha los modelos OpenAI para generar respuestas conscientes de contexto, voces neuronales azules para síntesis de texto a voz y reconocimiento de voz a texto de Azure. El paquete ofrece un conjunto de herramientas integral para construir aplicaciones de chatbot con una interfaz intuitiva y un conjunto de servicios públicos.
Se requieren tres variables de entorno para la funcionalidad completa:
OPENAI_API_KEY : una tecla API de OpenAI válidaAZURE_SPEECH_KEY : una clave de API de discurso de servicios cognitivos válidos para el texto a la expresión y la funcionalidad del habla a textoAZURE_SPEECH_REGION : la región asociada con su clave de la API del habla de los servicios cognitivos de Azure Una interfaz gráfica de usuario (GUI) establece un entorno de conversación multijugador donde hasta nueve usuarios pueden interactuar con el chatbot simultáneamente. La GUI incluye un área de historial de conversación y paneles de usuario con botones 'escuchar' para procesar la entrada del usuario. También admite enlaces clave para la conveniencia del usuario.
Una clase responsable de administrar las interacciones con la API de Completion de OpenAI. Ofrece funcionalidad para generar respuestas de la API basada en mensajes de entrada. Admite generar respuestas en su totalidad o como un flujo de bloques de respuesta.
Una clase que maneja la síntesis de texto a voz utilizando los servicios cognitivos de Azure. Admite una amplia gama de formatos de salida, voces y estilos de habla. El discurso sintetizado se puede interrumpir, y el progreso se puede monitorear en tiempo real.
Una clase que proporciona una interfaz para convertir el lenguaje hablado en texto escrito utilizando servicios cognitivos Azure. Permite el reconocimiento continuo de voz y proporciona resultados en tiempo real a medida que se reconocen las oraciones.
Banterbot requiere varios modelos de lenguaje espacial para ejecutarse, y los descargará automáticamente en la inicialización por primera vez, si faltan o son incompatibles; este proceso a veces puede llevar un tiempo.
Banterbot se puede instalar o actualizar utilizando el Índice de paquetes de Python (PYPI):
python -m pip install --upgrade banterbotPara instalar BanterBot, simplemente clone el repositorio e instale las dependencias requeridas:
git clone https://github.com/gabrielscabrera/banterbot.git
cd banterbot
python -m pip install . Comience BanterBot con una interfaz gráfica mejorada de usuario ejecutando el comando banterbot en su terminal. Esta GUI permite a varios usuarios interactuar con el bot, cada uno con un botón dedicado para la entrada del habla y una pantalla para las respuestas.
--prompt : Establezca un aviso de sistema al comienzo de la conversación (por ejemplo, --prompt "You are Grendel the Quiz Troll, a charismatic troll who loves to host quiz shows." ).
--model : elija el modelo OpenAI para la generación de conversación. El valor predeterminado a GPT-4, pero se pueden seleccionar otras versiones si se especifican en el código.
--voice : seleccione una voz de texto a voz de Servicios Cognitivos de Microsoft Azure. El valor predeterminado es "aria", pero se pueden especificar otras voces si están disponibles.
--debug : habilitar el modo de depuración para mostrar información adicional en el terminal para la solución de problemas.
--greet : Haga que el bot salude al usuario al inicio.
--name : asigne un nombre al Asistente con fines estéticos. Esto no informa al bot mismo; Para proporcionar información al bot, use el indicador --prompt .
Aquí hay un ejemplo:
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 Además, puede usar banterbot character para seleccionar un personaje precargado para interactuar. Por ejemplo:
banterbot character therapistComenzará una conversación con Grendel the Therapy Troll. Para enumerar todos los caracteres disponibles, ejecute:
banterbot character -h También puede usar banterbot voice-search para buscar a través de todas las voces disponibles. Por ejemplo:
banterbot voice-search --language en fr Enumerará todos los modelos de voz en inglés (EN) y francés (FR). Ejecute banterbot voice-search -h para obtener más información.
Para usar BanterBot en un script, cree una instancia de la clase TKInterface y llame al 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 ) Los registros de chat se guardan en $HOME/Documents/BanterBot/Conversations/ directorio como archivos .txt individuales.
Para una documentación más completa, consulte los documentos de Banterbot.