Сам Doubao API находится в Китае, поэтому «обходной» ретранслятор в теории не нужен. Коммерческие реле Doubao на рынке чаще решают другие задачи: единая точка входа к нескольким поставщикам, объединение квот, сведение счетов, управление точками доступа и переключение при сбоях. Как только слой ретрансляции становится непрозрачным, тарификация, версии моделей и принадлежность ключей превращаются в чёрный ящик.

Ниже сравниваются прямое подключение, собственный прокси, коммерческий релей и единый шлюз; отдельно разобраны идентификаторы точек доступа, прозрачность тарификации, риски ключей, переключение при сбоях и миграция. Цены и доступность определяются страницей цены на модели и описанием поставщика.

Примечание: Doubao, Volcano Ark и Volcano Engine — товарные знаки или названия продуктов ByteDance и связанных с ней компаний. Материал носит технический характер, не означает подчинения, агентских или партнёрских отношений с указанными компаниями и не является рекомендацией какого-либо поставщика.

1. Определения: релей, прокси, собственный форвард и шлюз

  • API-релей: пересылает запросы вышестоящему сервису моделей, может добавлять тарификацию, лимиты и журналы; некоторые просто перепродают или делят ключи, а стабильность зависит от оператора.
  • Сетевой прокси: HTTP, SOCKS или обратный прокси — решает только доступность, не меняет семантику API, ключ остаётся у вас.
  • Собственный прокси: вы сами разворачиваете обратный прокси или открытый шлюз и контролируете ключи, журналы и маршрутизацию; аккаунт поставщика, трафик и эксплуатация — на вас.
  • Единый AI-шлюз: OpenAI-совместимая точка входа, объединяет несколько моделей и даёт единые ключи, счета и консоль.

Особенность Doubao: вызовы Volcano Ark опираются на идентификатор модели или точки доступа инференса (обычно начинается с ep-). Если слой ретрансляции показывает только размытое имя модели, трудно понять, какая версия и точка доступа стоят за ним и кому принадлежит квота. До подписания уточните, какой уровень сервиса предоставляет сторона и кому принадлежит ключ.

2. Четыре варианта в одной таблице

Критерий Прямое подключение к Volcano Ark Собственный прокси Коммерческий релей Единый AI-шлюз
Прозрачность тарификации Счёт платформы, понятная методика Счёт поставщика плюс собственные затраты Зависит от оператора, нужна сверка Единый счёт сервиса, смотрите правила тарификации
Сетевой путь Прямое подключение в Китае, зависит от локального выхода Зависит от сервера и канала Зависит от канала релея Зависит от канала шлюза и поставщика
Управление точками доступа Сами ведёте ID моделей и ep- Сами ведёте соответствие Обычно ведёт оператор Ведёт шлюз, нужна проверка прослеживаемости
Лимиты и параллелизм Квота аккаунта или модели Контролируете сами, но ограничены поставщиком Возможен общий пул, нужно уточнять По правилам шлюза и тарифа
Риск ключей Ключ у вас Ключ у вас Возможны общие или перепроданные ключи Обычно выдаётся отдельный ключ

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

3. Прозрачность тарификации: не смотрите только на «коэффициент»

Реле часто предлагают цену «официальная стоимость умножить на коэффициент» или «пакет токенов». Низкий коэффициент не равен низкой итоговой стоимости. Уточните как минимум семь пунктов:

  1. Вход и выход тарифицируются отдельно, и одинаков ли коэффициент.
  2. Отдельно ли оплачивается попадание в кэш или повторное использование контекста и как считается скидка.
  3. Токены рассуждения «думающих» моделей Doubao относятся к входу или выходу.
  4. Тарифицируются ли неудачные, повторные и просроченные запросы.
  5. Возвращает ли потоковый запрос полное поле usage и сходится ли счёт шлюза.
  6. Порог пополнения, срок действия, правила возврата, счёт-фактура, валюта и курс.
  7. Можно ли разбить счёт по проекту, ключу, модели и точке доступа.

Запишите методику в таблицу сравнения и прогоните одну и ту же партию реальных запросов напрямую и через релей, сравнив usage, долю успеха и счёт. Цены меняются; ориентируйтесь на страницу цены на модели и счёт поставщика.

4. Идентификаторы точек доступа и сопоставление моделей: главная ловушка релея

В Volcano Ark точка доступа инференса обычно привязана к конкретной модели и версии и может иметь отдельную квоту; идентификатор модели указывает непосредственно на модель. Реле и шлюзы часто сопоставляют имя модели с вышестоящим ID.

Это сопоставление создаёт три риска:

  • Дрейф версии: после обновления модели или пересоздания точки доступа версия за тем же именем меняется вместе со стилем вывода и стоимостью.
  • Путаница квот: вы думаете, что купили отдельный лимит, а на деле это общий пул, и в пик его занимают другие арендаторы.
  • Разрыв привязки: точка доступа удалена, отключена или ушла в минус, а слой релея не переключился — и только тогда запросы начинают падать.

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

5. Стабильность: проверяйте данными, а не обещаниями

Смотрите как минимум шесть метрик: долю успеха, задержку P50/P95, время до первого токена, долю тайм-аутов, долю 429 и скорость вывода. Тестируйте на промптах реальной длины, включая потоковую передачу, длинный контекст и параллельные запросы.

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

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

import os
from openai import OpenAI

PROVIDERS = [
    (
        "ark-direct",
        os.environ["ARK_API_KEY"],
        "https://ark.cn-beijing.volces.com/api/v3",
        os.environ["ARK_MODEL_ID"],
    ),
    (
        "zsqh-gateway",
        os.environ["ZSQH_API_KEY"],
        "https://ai.zhongshangqihang.com/v1",
        os.environ["ZSQH_MODEL"],
    ),
]

def chat(prompt: str):
    last_error = None
    for name, api_key, base_url, model in PROVIDERS:
        try:
            client = OpenAI(api_key=api_key, base_url=base_url,
                            timeout=60, max_retries=1)
            resp = client.chat.completions.create(
                model=model,
                messages=[{"role": "user", "content": prompt}],
                max_tokens=256,
            )
            return name, resp
        except Exception as exc:
            last_error = exc
            print(name, "не удалось:", type(exc).__name__)
    raise last_error

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

6. Риски ключей и соответствие: важнее цены

В релеях чаще всего упускают принадлежность ключа. Общие или перепроданные ключи и квоты неизвестного происхождения создают три проблемы:

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

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

7. Чек-лист миграции с прямого подключения на релей или шлюз

  1. Зафиксируйте текущее состояние: долю успеха, P50/P95, долю 429, расход токенов и счёт.
  2. Инвентаризируйте модели и точки доступа: model, ID ep-, max_tokens, потоковую передачу, tools, JSON и режим рассуждения.
  3. Создайте тестовый и производственный ключи с отдельными бюджетами, лимитами и оповещениями.
  4. Меняйте только base_url, api_key и сопоставление моделей; добейтесь минимального запроса в предпроизводственной среде.
  5. Прогоните реальные промпты и сравните качество вывода, время, usage и коды ошибок.
  6. Проверьте сопоставление 401, 402, 429, 5xx и тайм-аутов, убедитесь, что повторы не усиливают сбой.
  7. Переведите 5–10% трафика и наблюдайте 3–7 дней, сохраняя прямое подключение для отката.
  8. После полного переключения ещё неделю сверяйте счета, расход и сопоставление.

При миграции не меняйте одновременно модель, промпт и шлюз — за раз меняется только одна переменная.

8. Как проверить надёжность реле Doubao

Сначала посмотрите на поле model в ответе, но доверять только ему нельзя: поле можно переписать. Надёжнее комбинированная проверка:

Проверка Как делать Признак проблемы
Задержка Повторять один промпт и сравнивать P50/P95 Сильные колебания или стабильно медленнее прямого подключения
Доля ошибок Считать долю 429, 5xx и тайм-аутов Массовые сбои в пиковые часы
Расход Сравнивать usage в ответе и счёт в кабинете Не сходится, в потоке нет usage
Идентичность модели Сравнивать границы возможностей и стиль на фиксированном наборе Заметное снижение качества, короткий контекст
Сопоставление точки доступа Требовать указать ID и версию для имени модели Отказываются объяснять или часто меняют
Изоляция ключей Уточнить, отдельный ли ключ и можно ли ротировать Отказываются говорить источник ключа

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

9. Дальше

Если нужна единая точка входа к нескольким моделям, создайте тестовый ключ в ZSQH AI Gateway, сначала отработайте вызов, затем мигрируйте; цены и доступные модели — на странице цены на модели. Не считайте «дешевизну» единственным критерием: стоимость миграции и сбоев тоже нужно учитывать.

Полезное чтение:

Частые вопросы

Чем релей Doubao API отличается от прокси?

Прокси решает только сетевую доступность; релей дополнительно затрагивает аккаунты, тарификацию и выдачу ключей. До подписания уточните границы и принадлежность ключа.

Doubao API работает из Китая — зачем тогда релей?

Частая причина не сеть, а единая точка входа к нескольким моделям, объединение счетов, общий пул квот и переключение при сбоях. Если используется только Doubao и прямое подключение стабильно, необходимость невысока.

Цена через релей ниже, чем напрямую, — можно верить?

Она может объясняться оптовой закупкой, субсидией или перепродажей квоты, а может сопровождаться общими ключами и лимитами. Сначала сверьте методику тарификации и детализацию расхода, затем проверьте на малом трафике.

Как понять, что релей подменил модель или точку доступа?

Недостаточно смотреть на поле model. Сравните границы возможностей, контекст и стиль вывода на фиксированном наборе и потребуйте указать реальный ID модели или точки доступа.

Сколько кода нужно менять при переходе на шлюз?

В большинстве проектов на OpenAI SDK меняются только base_url, api_key и имя модели. При использовании режима рассуждения, tools или специфических полей нужны тесты совместимости и прямой канал для отката.