- Принятие данных от пользователя: бот должен запросить у пользователя симптомы и подтвержденный диагноз, затем сохранить эти данные в формате JSON.
- Получение предварительных диагнозов: пользователь отправляет список симптомов, бот обрабатывает запрос через внешний API вашего сервера, который возвращает предварительный диагноз.
Backend будет включать в себя следующие компоненты:
- API для получения данных от бота и отправки их в базу данных.
- API для обработки запросов на диагностику, которое будет взаимодействовать с моделью машинного обучения.
- Настройка базы данных для хранения пар "набор симптомов - диагноз".
- Использование SQLAlchemy для взаимодействия с базой данных из Python.
- Разработка и обучение нейросети на начальном наборе данных.
- Поддержка возможности дообучения нейросети на новых данных, полученных от пользователей.
- Интеграция всех компонентов вместе.
- Тестирование системы в целом для убеждения в ее надежности и точности.
- Развертывание бэкенда на сервере (можно использовать облачные решения как Heroku, AWS и т.д.).
- Подключение бота к бэкенду через созданные API.
- Python библиотеки:
python-telegram-botдля бота,FastAPIдля API,SQLAlchemyдля работы с базой данных,PyTorchилиTensorFlowдля работы с нейросетью. - Токен бота: Получение токена через BotFather в Telegram.
- База данных: Настройка PostgreSQL на сервере или в облачном сервисе.
- API: Создание эндпоинтов для приема данных от бота и для отправки запросов на диагностику.
uvicorn main:app --reload
python3 bot.pyТакже не забудьте добавить привелегия пользователю
GRANT SELECT, INSERT, DELETE, UPDATE ON TABLE users TO <username>