Я работаю над набором скриптов Python, которые запускают сервер FastAPI для моего стартапа, что является требованием для наших сервисов. Этот сервер инициализирует клиент Supabase SDK для выполнения некоторых очень специфических операций.
Этот сервер необходимо распространять среди всех наших клиентов только после того, как они приобрели подписку на наш сервис. Мало того, нам также необходимо иметь возможность каким-либо образом завершать работу сервера, когда платеж клиента не прошел.
Обратите внимание, что этот сервер будет работать либо на существующем машина на территории нашего клиента, или мы отправим устройство, которое можно подключить к стене для запуска этого сервера.
Еще одна проблема, с которой мы сталкиваемся, заключается в том, что эти серверы используют модели компьютерного зрения для по конкретной причине и для снижения затрат с нашей стороны (и снижения стоимости наших услуг) мы подумали, что вместо создания конечных точек вывода где-то в облаке можно было бы найти способ, чтобы сами модели оставались в коде сервера, но у вас есть способ изолировать их или зашифровать, чтобы клиенты (или внешние объекты) не могли ими воспользоваться.
Основные вопросы
- Как мы могли бы распространить этот сервер и весь связанный с ним код среди всех наших клиентов, добившись следующего:
- Сервер распространяется только после покупки подписки, а сервер прекращает работу или полностью удаляется после того, как оплата за подписку не прошла;
- Возможность обновлять код сервера всякий раз, когда мы выпустить обновление;
- Как мы могли бы разместить наши модели компьютерного зрения локально на этих серверах без скомпрометировать или раскрыть наши модели внешним организациям или нашим клиентам?
Основной вопрос 1
Я пытался создать Docker-контейнер со всем кодом для последующего распространения с помощью Docker Swarm и тому подобного, но этот сервер должен иметь доступ к сети компьютера и выполнять некоторые другие действия внутри нее, и хотя Мне удалось заставить его работать, некоторые функции, похоже, просто не поддерживаются, поэтому я ищу другие способы.
Подумал о том, чтобы упаковать его в PyPi или просто отправьте ZIP-файл с лицензионным ключом, который мы позже сопоставим каждому клиенту, чтобы при необходимости закрыть доступ к Supabase, но клиент по-прежнему будет иметь код и сможет получить доступ к моделям внутри него.
Основной вопрос 2
Я пробовал Google AI Vertex и Beam для развертывания наших моделей и предоставления конечных точек вывода, но нам, вероятно, понадобятся некоторые модели должны работать круглосуточно, 7 дней в неделю, а затраты на это очень высоки.
Подробнее здесь: https://stackoverflow.com/questions/792 ... nt-company