Я делаю проект, суть которого заключается в следующем: есть поле input, в него вводится запрос и под него выдаются необходимы инструменты / ответы.
Например:
{запрос} => {результат / инструмент}
"2 + 2" => (выдаётся приложение калькулятора или ответ)
"png to jpg" => (выдаётся конвертор картинок)
P.S. поле "convert to jpg" - это кнопка
"умопомрачение" => (выдаётся определение из словаря)
Как это примерно должно работать: запрос из input отправляется на сервер python, где он как-то обрабатывается и скрипт определяет какой инструмент / модуль лучше подойдёт, затем запрос отправляется в подобранный модуль, где обрабатывается ещё раз и возвращает ответ, который в свою очередь выводится на экран.
То есть у нас присутствует папка modules, в которой лежат папки math, converter, dictionary; в каждой подпапке (modules/math/, modules/converter, и.т.д.) лежат необходимые скрипты, которые получают конкретный запрос, например математическое выражение, и возвращают ответ.
Ещё есть скрипт main, который и решает, какой модуль/модули дадут наилучший ответ на запрос.
И собственно вопросы: Насколько я правильно представляю как такие вещи должны работать? Как можно реализовать такую классификацию, которая будет происходить в скрипте main? Где можно прочитать про то, как проектировать такие системы? И возможно есть ещё какая-то полезная литература, которая поможет в создании такого проекта, тоже хотелось бы узнать про её существование.