Ce projet est un assistant de chatbot sur Telegram à l'aide de l'API OpenAI et de Langchain. Il recueille des informations auprès des utilisateurs pour suggérer des hôtels en fonction de leurs préférences.
Il existe deux versions. Dans le premier, j'ai utilisé un serveur FLASK. Dans le second, j'ai déployé le bot en utilisant AWS Lambda, AWS ECR et AWS DynamoDB.


Dans la vidéo, vous remarquerez le chatbot qui commence par accueillir l'utilisateur avec son nom d'utilisateur télégramme. Ensuite, il commence à poser des questions sur les préférences des utilisateurs, telles que la ville, l'enregistrement et le paiement .... Une fois qu'il a collecté les informations requises, le système utilisera l'API de réservation pour présenter les options de l'hôtel.
serveur Falsk:
docker build --no-cache -f Dockerfile.flask -t BookingMate .docker run -p 5000:5000 BookingMateAWS Lambda Serverless:
docker build --no-cache -f Dockerfile.lambda -t BookingMate .https://api.telegram.org/bot<Bot_token>/setWebhook?url=<API_GateWay_link> , soyez sur que vous obtenez le message "webhook a été défini"Après avoir installé des exigences et rempli et exécuté API_KEYS.SH, vous pouvez essayer d'excuser ces tests à partir du dossier Tests.
- 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