Este es un Telegram Chatbot basado en Python que utiliza la API de OpenAI con modelos GPT-3.5-TURBO-* para proporcionar respuestas de conversación a los usuarios de una manera que consciente con el contexto de diálogo.
Puede configurar fácilmente los parámetros de los modelos OperaI para el chatbot utilizando el archivo models.yml . Este enfoque permite ajustes rápidos de la configuración del modelo como temperature , max_tokens , voice , etc. sin alterar el código. Simplemente edite el archivo models.yml para cambiar el estilo de comportamiento y respuesta de su chatbot según sea necesario.
Clon o descargar el repositorio.
git clone [email protected]:welel/dialog-chat-bot.git
Vea la rama GPT-3.5-Turbo .
git checkout gpt-3.5-turbo
Cree un entorno virtual y activelo e instalar dependencias.
python -m venv env
source env/bin/activate
pip install --upgrade pip && pip install -r requirements.txt
Para usar mensajes de voz, instale FFMPEG.
# on Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg
# on Arch Linux
sudo pacman -S ffmpeg
# on MacOS using Homebrew (https://brew.sh/)
brew install ffmpeg
# on Windows using Chocolatey (https://chocolatey.org/)
choco install ffmpeg
# on Windows using Scoop (https://scoop.sh/)
scoop install ffmpeg
Copie/renombre .env.dist a .env y llénelo con datos.
cp .env.dist .env
Configure un bot de telegrama y obtenga un token BOT (ver https://medium.com/geekculture/generate-telegram-token-for-bot-api-d26faf9bf064 para instrucciones).
Configure una cuenta de OpenAI y obtenga una clave API (consulte https://beta.openai.com/docs/quickstart para obtener instrucciones).
Ejecuta el bot.
python bot.py
Instale Docker y Docker Compose (enlace si no sabe cómo).
Copie/renombre .env.dist a .env y llénelo con datos.
cp .env.dist .env
Ahora simplemente construya la imagen y ejecútala con Docker Compose:
docker compose build
docker compose up -d
Para comenzar a interactuar con el bot, envíe cualquier mensaje al bot del telegrama.
El chatbot utiliza configuraciones especificadas en el archivo models.yml para adaptar sus respuestas. Este archivo permite una personalización detallada de los parámetros del modelo Operai, ofreciendo flexibilidad para ajustar el comportamiento del bot de acuerdo con las diferentes necesidades o contextos.
models.yml El archivo models.yml en el directorio del proyecto contiene configuraciones para diferentes modelos o escenarios. Aquí le mostramos cómo configurarlo:
Selección de un modelo : debajo de la tecla models , puede definir múltiples configuraciones.
Cada configuración puede especificar un modelo Operai diferente. Por ejemplo, la configuración default utiliza gpt-3.5-turbo con un límite max_tokens de 100. Debe establecer un nombre de configuración del modelo en la variable de entorno MODEL_CONFIG_NAME para seleccionar la configuración.
Configuración del modelo de chat de OpenAI (Sección chat_model ) :
gpt-3.5-turbo , cada una con diferentes capacidades y tamaños de ventana de contexto. Configuración del comportamiento de chatbot (sección chatbot ) :
max_context_len define el número total de tokens (entradas de usuario y respuestas de bot) considerado en una sola ventana de conversación. Ajustar esto ayuda a administrar los detalles del historial de conversación y puede afectar los requisitos computacionales y la facturación. Configuración de la voz de Bot (sección voice ) :
alloy , echo , fable , onyx , nova y shimmer . Cada voz tiene un tono y estilo únicos.