Совместимость провайдеров
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:
- находит точный публичный алиас в конфигурации провайдеров;
- выбирает ячейку протокола и провайдера;
- отклоняет маршрут со статусом
blocked; - определяет, какие возможности нужны запросу;
- проверяет для каждой возможности оценку
exactили соответствующее условие; - записывает решение с привязкой к ревизиям, но без пользовательских данных;
- вызывает один выбранный адаптер.
Шлюз не упрощает запрос молча, не подбирает похожий алиас и не повторяет операцию с другим провайдером, аккаунтом или моделью. Провайдер, адрес, внутренняя модель, учётные данные, параметры 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, а обоснование матрицы — в архитектурном решении «Матрица совместимости протоколов и провайдеров».