LLM-провайдеры (OpenAI-совместимый шлюз)
Зачем это
Обращаться к GPT, Claude, Gemini и другим моделям из приложения, которое работает в России — через один OpenAI-совместимый эндпоинт, без VPN и без собственного прокси. Любой SDK, который умеет OpenAI, направляете на базовый URL шлюза, авторизуетесь ключом проекта, а платформа маршрутизирует запрос к провайдеру.
Одно решение: чьим ключом платим
Откройте LLM-провайдеры в навигации проекта — этот вопрос задаётся первым, потому что всё дальнейшее от него не зависит.
Свои ключи
Вы заводите в проекте ключ OpenAI, Anthropic или другого провайдера. Шлюз подставляет его в каждый подходящий запрос.
- Нужен аккаунт у провайдера и чем ему платить — обычно зарубежная карта.
- Счёт выставляет провайдер напрямую. Сам шлюз бесплатный.
- Ключ хранится зашифрованным и после сохранения в браузер не возвращается.
Наши ключи
Запрос идёт на собственном ключе платформы. Заводить ничего не нужно.
- Ноль настройки: работает сразу после переключения проекта.
- За роутинг платите нам — по фактически израсходованным токенам, с наценкой к цене провайдера. Попадает в тот же счёт, что и остальное облако, оплата российской картой.
- Меру включает именно переключение проекта в этот режим. Проект, который не переключали, за роутинг не платит никогда.
Переключаться можно в любой момент. Переключение пишется в аудит проекта вместе с тем, кто его сделал, — чтобы у спорного счёта был ответ.
Как довести до первого вызова
- Создайте ключ. На этой же странице выпустите ключ проекта
sk-dada-ai-…. Он показывается один раз — скопируйте сразу. Разным сервисам давайте разные ключи, чтобы отзывать по одному. - Выберите режим ключей выше: добавить свой ключ провайдера или перевести проект на наши.
- Вызовите модель сниппетом со страницы (Python, Node.js или curl). Он отрисован с вашим реальным base URL и алиасом модели, поэтому запускается как есть.
В запросе указывайте алиас модели из таблицы каталога (например fast, medium, smart или алиас конкретного провайдера), а не название вендора. Алиас продолжит работать, когда модель за ним заменят.
Как ограничить модели ключа
Ключ, который уходит за пределы ваших серверов (вшит в десктопное или мобильное приложение, опубликован как бесплатный тариф), можно извлечь, и тот, у кого он окажется, сможет вызвать любую модель проекта. Ограничьте такой ключ теми моделями, которые ему нужны:
- При создании нажмите Ограничить модели, снимите Разрешить все модели и отметьте алиасы, которые ключу можно вызывать (например
fast,smart,groq-gpt-oss). - У готового ключа нажмите Модели в его строке, поменяйте выбор и сохраните. Шлюз подхватит изменение в течение минуты.
Ограниченный ключ видит в GET /v1/models только свои модели. Любую другую модель — в chat, completions, embeddings, responses, images или audio — шлюз отклоняет до обращения к провайдеру:
{"error": {"message": "model_not_allowed: model 'claude-haiku' is not allowed for this api key (allowed: fast, smart)",
"type": "model_not_allowed", "param": "model", "code": "403"}}
OpenAI SDK поднимают это как PermissionDeniedError с e.type == "model_not_allowed". То же ограничение через API (null снова разрешает все модели; пустой список отклоняется):
curl -X PATCH https://console.dada-tuda.ru/api/v1/projects/$PROJECT_ID/ai/keys/$KEY_ID \
-H "Authorization: Bearer $DADA_TOKEN" -H "Content-Type: application/json" \
-d '{"allowed_models": ["fast", "smart"]}'
POST /api/v1/projects/{projectId}/ai/keys принимает то же поле allowed_models, а список ключей возвращает его для каждого ключа (null — все модели).
Что видно потом
Блок расхода на странице показывает за последние 7 или 30 дней: вызовы, токены, во что трафик обошёлся и — в режиме наших ключей — сколько вы должны за роутинг. Таблица по моделям разбивает то же окно по моделям, так что у неожиданного счёта есть конкретная строка.
Смежное
- AI Models: свои модели — запуск вашей модели на GPU. Это другой продукт: там обслуживаются ваши веса, здесь — маршрутизация к вендору.
- Биллинг, тарифы и лимиты