Нейросети из России и Беларуси: рабочая архитектура, а не костыль

6 минут чтения

Сервер в России или Беларуси не достучится до OpenAI и Claude напрямую: запрос просто не доходит. Рабочее решение одно. Поставить маленький сервер-посредник в Европе или США и ходить к нейросетям через него. Дальше этот посредник обрастает запасным провайдером, кешем и очередью. Так собран любой нормальный сервис, который держит нагрузку в проде.

Почему «достучаться напрямую» не выходит

Картина знакомая каждому, кто поднимал серверную часть на российском или белорусском хостинге. Локально всё работало. Выкатили на сервер, дёрнули нейросеть, и запрос повис. Ни ответа, ни внятной ошибки. Просто тишина и таймаут.

Причина не в вашем коде. С этих адресов API большинства нейросетей либо не отвечает само, либо его не выпускает наружу провайдер. Поэтому первое, что приходит в голову, обычно костыль.

Костыль первый: поднять на сервере VPN и пустить через него весь трафик. День работает, потом отваливается в самый неподходящий момент. Тянет за собой остальные интеграции, потому что теперь через туннель идёт вообще всё, включая платёжку и почту. Под нагрузкой начинает рваться. Это решение для «попробовать вечером». В рабочий сервис его не ставят.

Костыль второй: дёргать нейросеть прямо со страницы сайта, тем же ключом. Тогда ключ лежит в коде страницы, и его видно любому, кто туда заглянет. Один такой ключ утекает за пару часов после релиза, и платите за чужие запросы вы. Для черновика сойдёт, но до первых живых пользователей такой подход не доживает.

Оба пути ведут в одну точку: вы пытаетесь силой протолкнуть свой сервер за границу. А его туда не пускают. Значит, границу должен пересекать не он.

Сервер-посредник: вся идея в одном предложении

Ваш сервер за границу не пускают. А маленький посредник там уже живёт.

Идея вся тут. Вы ставите лёгкий сервер в Европе или США. Основной сервер в России или Беларуси шлёт запрос посреднику. В OpenAI он сам не ходит. Посредник спокойно дотягивается до нейросети, потому что для него граница открыта, забирает ответ и отдаёт вашему серверу. Снаружи это выглядит как обычный запрос к соседней машине, и он проходит.

Сравните с поездкой за визой. Вы не летите в посольство другой страны сами. Вы приходите в местный визовый центр, оставляете документы, а дальше уже их сотрудники общаются с посольством напрямую. Посредник работает так же: принимает заказ на понятном вам языке и сам разбирается с зарубежной стороной.

Что важно сразу заложить. Посредник не должен быть «тупой трубой», которая молча перекидывает запросы туда-сюда. Чуть-чуть ума на этом этапе экономит кучу возни потом. Об этом дальше.

Раскрытый атлас на столе под лампой, маршрут прочерчен через границу, на дальней стороне воткнут флажок. Посредник живёт за рубежом, куда ваш сервер не дотягивается
Границу пересекает не ваш сервер, а посредник, который там уже есть.

От простого прокси к умному шлюзу

Простой посредник пересылает запрос как есть. Это работает, но недолго: одна нейросеть прилегла, и встал весь ваш продукт. Поэтому посредник доращивают до шлюза. Шлюз это один вход для всего вашего ИИ.

Что он берёт на себя.

Ключи. Ключ от OpenAI, ключ от Claude и от всего остального лежат на посреднике, и больше нигде. Основной сервер их не знает. Утечь с него нечему.

Запасной вариант. Не привязывайтесь к одному поставщику. Шлюз умеет несколько: не ответил OpenAI, он сам идёт в Claude, не ответил и тот, берёт следующего. У вас в продукте это незаметно, ответ просто приходит. Заодно вы перестаёте зависеть от настроения одного поставщика и его блокировок.

И единое окно. Весь код вашего продукта обращается к одному адресу и не знает, какая нейросеть отвечает на той стороне. Захотели сменить поставщика или добавить нового, правите в одном месте. Продукт об этом даже не узнает.

Я собирал такой шлюз не раз и под соседнюю задачу написал отдельный разбор: как поставить посредника между ИИ и базой клиентов, чтобы нейросеть работала с данными, а саму базу не видела. Тот же принцип, повёрнутый к безопасности данных.

Напрямую против слоя-посредника

Разница видна по пунктам.

Напрямую и костыли
Слой-посредник

Доходит ли запрос с сервера в РФ или РБ

Напрямую и костыли

Нет или рвётся через раз

Слой-посредник

Доходит стабильно

Где лежит ключ

Напрямую и костыли

В коде или на основном сервере, видно лишним

Слой-посредник

Только на посреднике, наружу не выходит

Упал один поставщик

Напрямую и костыли

Встал весь продукт

Слой-посредник

Шлюз сам берёт запасного

Сменить нейросеть

Напрямую и костыли

Переписывать по всему коду

Слой-посредник

Правка в одном месте

Поведение под нагрузкой

Напрямую и костыли

Туннель рвётся, ошибки растут

Слой-посредник

Очередь сглаживает пики

Главная строка первая. Костыль доходит через раз и валит продукт в самый занятой час. Посредник просто работает.

Что превращает посредника в рабочий сервис

Сам по себе посредник уже решает главную задачу. Эти три добавки превращают его из «работает у меня» в «держит живых пользователей».

Старый дисковый телефон и современный роутер на одном столе под лампой, на роутере горит один зелёный индикатор. Поток запросов через посредника
Старое и новое на одном столе: посредник стоит между вашим кодом и нейросетями.

Три вещи, без которых посредник остаётся черновиком

Кеш ответов

Повторяющиеся и шаблонные запросы незачем гонять к нейросети каждый раз: посредник отдаёт готовый ответ из памяти. Это режет счёт за API и ускоряет ответ пользователю.

Очередь

Когда запросов резко много, посредник не бьёт по нейросети залпом, а выстраивает их в очередь и обрабатывает по силам. Пики не роняют продукт. Ни один запрос не теряется.

Логи и лимиты

Посредник видит каждый запрос: что спросили, во сколько он обошёлся и где всё упало. Плюс лимит на пользователя, чтобы один клиент не съел весь бюджет за ночь.

С чего начать

Большая инфраструктура для старта не нужна. Достаточно одного дешёвого сервера за границей и понимания, что весь ИИ-трафик идёт через него.

Дальше по порядку, без спешки. Сначала поднять посредника и убедиться, что запрос с основного сервера через него доходит. Затем перенести на него ключи и убрать их отовсюду ещё. После этого добавить запасного поставщика. Кеш и очередь подключаются позже, когда появится реальная нагрузка и будет видно, где жмёт.

Восемь лет я в коммерческой разработке и давно держу свою инфраструктуру удалённых серверов, собирал этот слой под разные продукты. Если нужен такой же под ваш проект, у меня это отдельная услуга, AI-инфраструктура под ключ. А с чем именно я работаю, короткий рассказ есть на странице обо мне.

Соберём слой под ваш продукт

Поставлю посредника, спрячу ключи, подключу запасного поставщика и нагрузку. Вы получаете рабочий доступ к нейросетям с сервера в РФ или РБ, без костылей.

AI-инфраструктура под ключ

Уже работаете со мной?

Проекты и история под рукой в личном кабинете.

Войти

Не пытайтесь протолкнуть свой сервер за границу. Один дешёвый сервер за рубежом, и весь ИИ-трафик идёт через него. С этого начните. Запасной поставщик, кеш и очередь подключатся сами, когда придёт нагрузка.

Новые посты на почту

Без спама. Отписка в один клик в любом письме.