Este proyecto es un asistente de chatbot en Telegram utilizando API Operai y Langchain. Recopila información de los usuarios para sugerir hoteles en función de sus preferencias.
Hay dos versiones. En el primero, utilicé un servidor frascos. En el segundo, desplegé el bot usando AWS Lambda, AWS ECR y AWS Dynamodb.


En el video, notará el chatbot a partir de dar la bienvenida al usuario con su nombre de usuario Telegram. Luego comienza a preguntar sobre las preferencias del usuario, como la ciudad, el check-in y el pago ... Una vez que haya recopilado la información requerida, el sistema utilizará la API de reserva para presentar las opciones de hotel.
servidor Falsk:
docker build --no-cache -f Dockerfile.flask -t BookingMate .docker run -p 5000:5000 BookingMateAWS LAMBDA SERVERSE:
docker build --no-cache -f Dockerfile.lambda -t BookingMate .https://api.telegram.org/bot<Bot_token>/setWebhook?url=<API_GateWay_link> , sé que obtienes el mensaje "Webhook estaba configurado"Después de instalar requisitos y llenar y ejecutar api_keys.sh, puede tratar de realizar estas pruebas desde la carpeta de pruebas.
- automated tests:
contains tests created using pytest to ensure each component from the application works as expected
To run it : `python -W ignore -m pytest tests/automated_tests/`
- manual tests : it has two files
- test_chatbot_manager : is a test for the bots perfomence with different scenarios, it helps to improve the prompt for Bots
to run it : `python -W ignore tests/manual_tests/test_chatbot_manager.py`
- test_telegram_bot : is a test for TelegramBot class if it has the ability to interact with user side
to use it :
- first : execute `python tests/manual_tests/test_telegram_bot.py`
- second : use telegram account to communicate with your bot