Перейти к основному содержимому

Совместимость провайдеров

gpt2giga 0.3 не обещает, что любой клиентский протокол можно без потерь перевести в API любого провайдера. Вместо этого шлюз публикует матрицу проверенных маршрутов и заранее отклоняет запросы, смысл которых сохранить нельзя.

Матрица gpt2giga.bridge-loss-matrix.v1 состоит из 16 ячеек — по одной для каждой пары из четырёх публичных протоколов и четырёх типов провайдеров.

ИзмерениеЗначения
Публичный протоколopenai_responses, openai_chat_completions, anthropic_messages, gemini_generate_content
Провайдерgigachat, openai_compatible, anthropic, gemini

Само наличие адаптера в пакете ещё не означает, что маршрут готов к работе. Ориентируйтесь на матрицу и её ревизию, которые возвращает запущенный шлюз.

Нативная реализация GigaChat Responses находится вне нормализованной матрицы и имеет статус stable. Нормализованный маршрут OpenAI Responses → GigaChat пока остаётся technical_preview: встроенные инструменты разрешаются с учётом модели и режима API, а вложения и часть нативных возможностей ещё не поддерживаются от начала до конца.

Статусы маршрутов

Каждая ячейка имеет один обязательный статус. Значение unknown, пропущенная ячейка или неявный статус делают матрицу недействительной.

СтатусЧто он означает
stableЗаявленное подмножество проверено на зафиксированных версиях клиента и провайдера, а также в изолированных E2E-тестах релиза. Это не обещание полной совместимости со всем API провайдера.
technical_previewОсновные сценарии проверены, но остаются известные семантические потери или риск изменений со стороны провайдера. Перед использованием нужно изучить список отдельных возможностей.
blockedБезопасного проверенного маршрута нет. Запрос отклоняется до чтения учётных данных и обращения к сети.

В ячейке также хранятся короткие идентификаторы причин и подтверждений, проверенные диапазоны версий и таблица возможностей. Она охватывает роли, мультимодальные данные, инструменты и их вызовы, JSON Schema, потоковые ответы, сведения о токенах, причины остановки и отказа, рассуждения (reasoning), состояние предыдущего ответа, файлы, изображения, встроенные инструменты, отмену, тайм-ауты и ошибки потока.

Оценка отдельных возможностей

Каждая возможность получает одну из трёх оценок:

  • exact — выбранный маршрут сохраняет смысл полностью;
  • conditional — поддержка зависит от явно указанной возможности модели или режима API;
  • unsupported — запрос с такой возможностью отклоняется до сетевого вызова.

Статус technical_preview не отменяет ограничения unsupported. И наоборот, одна возможность с оценкой exact не делает весь маршрут стабильным. При проверке учитываются сама ячейка, нужная возможность, диапазоны версий и подтверждающие тесты.

Матрица без секретов имеет ревизию sha256:<lowercase-hex>. Успешное решение по схеме gpt2giga.bridge-admission.v1 связывает протокол и публичный алиас с точным профилем, провайдером и ревизиями конфигурации, возможностей и матрицы. Пользовательского содержимого и секретов в этой записи нет.

Проверка до обращения к провайдеру

Для каждого запроса gpt2giga:

  1. находит точный публичный алиас в конфигурации провайдеров;
  2. выбирает ячейку протокола и провайдера;
  3. отклоняет маршрут со статусом blocked;
  4. определяет, какие возможности нужны запросу;
  5. проверяет для каждой возможности оценку exact или соответствующее условие;
  6. записывает решение с привязкой к ревизиям, но без пользовательских данных;
  7. вызывает один выбранный адаптер.

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

Для OpenAI-совместимого API отказ содержит публичное поле:

{
"error": {
"code": "unsupported_semantic",
"message": "The selected bridge route cannot preserve this semantic.",
"param": "web_search_options",
"type": "invalid_request_error"
}
}

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

Коды ошибок

КодЗначение
invalid_requestЗапрос не соответствует принятому синтаксису.
unknown_model_aliasПубличный алиас отсутствует, отключён или временно недоступен.
unsupported_semanticВыбранный маршрут не может сохранить требуемый смысл.
credential_unavailableНе удалось получить учётные данные выбранного профиля.
destination_mismatchФактический сетевой адрес не совпал с проверенным профилем.
provider_timeoutПровайдер не ответил за отведённое время.
provider_protocol_errorПровайдер вернул некорректный ответ или поток.
provider_failureПровайдер вернул другую сопоставленную ошибку.
client_disconnectedКлиент отключился, и операция провайдера была отменена.

При проверке профилей также используются invalid_profile_schema, duplicate_profile_id, duplicate_model_alias, invalid_destination и invalid_policy_reference. Методы управления возвращают ошибки по схеме gpt2giga.error.v1 с короткими идентификаторами причин в details.

API матрицы

GET /bridge/capabilities возвращает gpt2giga.route-support-matrix.v1: все 16 ячеек в стабильном лексикографическом порядке, а также текущие config_revision и matrix_revision. Метод не обращается к провайдерам и не возвращает пользовательское содержимое. Неполная матрица, дубли, секреты, несовпадающие ревизии или значение unknown считаются ошибкой.

Если передать model, protocol и при необходимости api_mode, тот же метод вернёт gpt2giga.effective-capabilities.v1 для выбранной модели и маршрута. В ответе будут состояния supported, unsupported или unknown, а также ревизии каталога и возможностей.

Используйте этот API для выбора маршрута и диагностики. Наличие HTTP-метода, установленного SDK или класса адаптера само по себе не доказывает поддержку. Форматы публичных запросов описаны в Совместимости API, а обоснование матрицы — в архитектурном решении «Матрица совместимости протоколов и провайдеров».