Dieses Projekt ist ein Chatbot -Assistent im Telegramm mit OpenAI -API und Langchain. Es sammelt Informationen von Benutzern, um Hotels basierend auf ihren Vorlieben vorzuschlagen.
Es gibt zwei Versionen. Im ersten habe ich einen Flask -Server verwendet. Im zweiten habe ich den Bot mit AWS Lambda, AWS ECR und AWS Dynamodb bereitgestellt.


In dem Video werden Sie feststellen, dass der Chatbot den Benutzer mit seinem Telegramm-Benutzernamen begrüßt. Dann beginnt es nach Benutzereinstellungen wie City, Check-in und Checkout zu fragen. Sobald es die erforderlichen Informationen gesammelt hat, wird das System die Buchungs -API verwendet, um Hoteloptionen zu präsentieren.
Falsk Server:
docker build --no-cache -f Dockerfile.flask -t BookingMate .docker run -p 5000:5000 BookingMate ausAWS Lambda Serverless:
docker build --no-cache -f Dockerfile.lambda -t BookingMate .https://api.telegram.org/bot<Bot_token>/setWebhook?url=<API_GateWay_link> , sei Sur, dass Sie die Nachricht "Webhook wurde festgelegt" erhalten.Nachdem Sie die Anforderungen installiert und api_keys.sh ausfüllen und ausführen können, können Sie versuchen, diese Tests aus dem Testsordner zu extra.
- 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