Преобразование форматов

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

Три движка

Отдельно взятый «переводчик» в продукте называется движком. Их три, и какой из них работает, зависит от типа поставщика у модели.

  • OpenAI — самый распространённый язык. Запрос передаётся почти без изменений.
  • Anthropic — язык Claude. Тоже передаётся почти без изменений.
  • DeepSeek — самый «умный» движок: понимает оба языка и при необходимости пересобирает запрос, чтобы модель его приняла.

Что именно преобразуется

Для обычных поставщиков «преобразование» — это свобода выбора: программа на языке OpenAI спокойно работает с моделью Anthropic, и наоборот. Меняется только язык обращения, смысл запроса остаётся прежним.

На движке DeepSeek к этому добавляется исправление самого запроса — поставщик принимает не всё, что присылают программы:

  • Переименование полей — если программа прислала ограничение длины ответа под старым названием, оно переводится в то, которое понимает поставщик.
  • Удаление чужих полей — лишние поля, которых поставщик не ждёт, не отправляются.
  • Чистка текста от «мыслей» — служебные пометки размышлений вырезаются из текста сообщений.
  • Выравнивание ролей — сообщения приводятся к порядку, который поставщик ожидает: системные, пользовательские, ответы модели, результаты инструментов.

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

Что сохраняется

Преобразование не ломает привычные возможности. Через него проходят:

  • Потоковый ответ — когда ответ приходит по частям, как печатается. Служебные пометки потокового режима ставятся сами, чтобы поставщик присылал ответ по частям даже если программа об этом не попросила.
  • Инструменты — вызовы инструментов и их результаты, включая порядок, в котором они возвращаются.
  • Ограничение длины ответа, температура, стоп-последовательности и другие привычные настройки.

«Размышления» DeepSeek

Модели DeepSeek по ходу ответа ведут скрытые «размышления». Поставщик требует, чтобы в следующих сообщениях диалога они были на месте, — поэтому продукт их сохраняет и подставляет обратно. Записи хранятся 7 дней.

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

Чего не делать

  • Не смешивайте языки в одном адресе. Адрес /api/chat/completions — для языка OpenAI, /api/v1/messages — для языка Anthropic. Если отправить на неверный адрес тело другого языка, поставщик его не поймёт.
  • Не переключайте модель внутри одного длинного диалога без нужды. У нового поставщика свои требования к истории, и диалог может потребовать начать заново.
  • Не смешивайте два языка в одной программе наугад. Проще всего смотреть на то, какой адрес подставляет сама программа, — он и есть её язык.

Дальше: из чего складывается расход и как работают пределы — в разделе Расходы и лимиты.

← Оглавление документации