Например, перед созданием объекта bot читать файл, сохранять в словарь (dict, стандартный тип данных Python), и потом по ключу (номеру/строке, который пришел от юзера) выбирать нужные данные.
Или у вас будет еще данные по нескольким тысячам скважинам или готовая модель (линейная, скорее всего). Иначе машинное обучение здесь (особенно нейросети) просто не причем.
Немного конкретики - современные глубокие нейросети (по крайней мере, в задачах обработки изображений) содержат миллионы параметров. Соответственно, тренировочный набор должен содержать сотни тысяч изображений (с десятками тысяч пикселей каждый).
Для вашей задачи надо сначала искать аналоги. scholar.google.com в помощь.
Еще один нюанс: все проекты типа YOLO работают не с оригинальнми изображениями, а (ввиду ограничений нейросетей) с его уменьшенным до 300х300 или 512х512 пикселей вариантом.
К пакту надо очень осторожно относиться: у них своеобразное отношение к качеству (был у них рецензентом, и заставить автора выправить явную чушь оч-чень сложно). Больше советую смотреть в сторону O'Reily.
Вся суть от переписывания кода на Cython или C - в том, чтобы избавится от слишком гибкой типизации нативного Питона (во многих случаях программа на Python медленная не потому, что интерпретатор, а потому, что виртуальная машина должна проверить типы всех операндов, чтобы вызвать нужный C-код). По моему, в задаче Serhiy Romanov большинство типов - строки, и задачка переписывания будет тяжеловатой.
И более актуальный вопрос: а вы мерили, где затык вашей программы - это Python или ожидание из сети или еще что-то? Прежде чем оптимизировать, надо понять, что именно. Если ваша проблема - задержка сети, то тогда надо брать asyncio или multiprocessing.
Nickname111: Fluent Python - как минимум для мидлов! Там слишком много о внутренних кишочках, которые начинающему ну совсем не надо! У меня бывший коллега (джун) довольно быстро остановился и дальше не смог ;)
Для начала: я говорю про референсную реализацию питона (aka CPython). Для нее GIL - это часть реализации (прошу прощения за тавтологию), и любой питоновский код может быть только однопоточным. Альтернативные реализации (в первую очередь, Jython) могут от этого не страдать.
Как правило, доступ к БД, файловой системе и всему остальному - это тоже написанная на Си функция, в которой GIL уже отпущен. Кстати, asyncio написан именно для операций ввода-вывода в целом, не только сеть, и для него уже есть куча соответсвующих дрйверов баз данных.
И последнее - CPython позволяет писать расширения - это функции на Си (или других языках), которые преврацаются в машинный код (например, DLL под Windows) и вызываются из кода на Питоне. В расширении GIL может быть отпущен.
(знаю, вопрос тупой, но надо проверять все)
И доступен ли ваш IP другим сервисам не из локальной сети?