API нейросетей
OpenAI-совместимый API: как перейти на другую модель за час
Михаил Мозг5 минут чтения
OpenAI-совместимый API принимает запросы в том же формате, что OpenAI: те же методы, те же поля, та же библиотека. Чтобы перейти на другую модель, в коде меняют три значения: базовый адрес (base_url), ключ и название модели. На 16.10.2026 так работают DeepSeek, Qwen в Alibaba Cloud и открытые модели на сервере vLLM.
Коротко: что значит совместимость
Библиотека openai отправляет запрос на адрес из параметра base_url. Ей все равно, кто отвечает: OpenAI, облако другого провайдера или ваш сервер, если ответ приходит в том же формате.
Формат включает адрес метода, сообщения с ролями system, user и assistant, параметры генерации и вид ответа. Пока провайдер повторяет эту структуру, библиотека openai, фреймворки и готовые интеграции работают с ним без доработки.
DeepSeek прямо пишет в документации: API совместим с форматами OpenAI и Anthropic, достаточно поменять адрес и ключ в привычной библиотеке (на 16.10.2026). Alibaba Cloud для Qwen описывает то же: меняются ключ, адрес и название модели.
Для компании в России это способ не зависеть от одного провайдера. России нет в списке стран OpenAI API, а доступ вне списка может закончиться блокировкой аккаунта. Код, написанный под OpenAI, переносится на открытую модель без переписывания.
Кто совместим: облака и свой сервер
На 16.10.2026 по документации провайдеров картина такая:
DeepSeek принимает и формат Anthropic по отдельному адресу, поэтому код, написанный под Claude, тоже переносится заменой адреса и ключа.
У Qwen адрес содержит идентификатор рабочего пространства (WorkspaceId), а ключ действует только в регионе, где создан. Регион выбирают один раз, по тому, где компании можно обрабатывать свои данные.
Облако проще запустить, свой сервер дает контроль над данными: запросы не уходят к провайдеру, а модель с открытыми весами работает в вашем контуре. Чем отличаются Ollama, LM Studio и vLLM и что выбрать под нагрузку, разобрано отдельно.
- DeepSeek: адрес https://api.deepseek.com для формата OpenAI и https://api.deepseek.com/anthropic для формата Anthropic; модели deepseek-flash и deepseek-v4-pro.
- Qwen в Alibaba Cloud Model Studio: совместимый режим по адресу вида https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1 для Сингапура; есть адреса для Пекина, Вирджинии и Токио.
- vLLM на своем сервере: поднимает интерфейсы, совместимые с OpenAI, включая Chat, Completions, Responses и распознавание речи.
Что поменять в коде
Возьмем код на библиотеке openai для Python. Меняются три строки: адрес, переменная с ключом и модель. Ключ лежит в переменной окружения, в коде его нет.
Для Qwen в base_url ставят адрес своего региона, ключ берут из переменной DASHSCOPE_API_KEY. Для своего сервера на vLLM в base_url ставят адрес этого сервера, а модель называют так, как она запущена.
Потоковая выдача ответа работает так же: в примерах DeepSeek флаг stream передается в тот же метод chat.completions.create, что и у OpenAI.
Перед заменой вынесите адрес, ключ и модель в настройки приложения. Тогда переключение между провайдерами делается без новой сборки, а для теста хватает второй копии настроек.
Остальной код не меняется: те же сообщения (messages), тот же разбор ответа. Пошаговое подключение к CRM, 1С и ботам описано в инструкции по подключению API.
import os
from openai import OpenAI
# Было: OpenAI(api_key=os.environ["OPENAI_API_KEY"])
client = OpenAI(
base_url="https://api.deepseek.com",
api_key=os.environ["DEEPSEEK_API_KEY"],
)
reply = client.chat.completions.create(
model="deepseek-flash",
messages=[{"role": "user", "content": "Кратко перескажи договор поставки"}],
)
print(reply.choices[0].message.content)Что не совпадает
Совместимость касается формата, а не поведения. Расхождения видны сразу после смены адреса, примеры из документации на 16.10.2026:
Лимиты частоты запросов и тексты ошибок у каждого провайдера тоже свои, хотя коды ответов похожи: неверный ключ у Alibaba Cloud возвращает стандартный 401 invalid_api_key. Обработчик ошибок стоит проверить на новой модели отдельно.
Поэтому переход начинают с теста на копии, а не с замены адреса в рабочей системе.
- Названия моделей: у каждого провайдера свои, названия моделей OpenAI в DeepSeek и Qwen не работают.
- Параметры: в Alibaba Cloud параметр n работает только у qwen-plus, а tools нельзя совмещать с потоковой выдачей (stream).
- Свои функции: Qwen принимает дополнительные параметры через extra_body, например enable_search для поиска.
- Регионы: ключ Alibaba Cloud привязан к региону, где создан; с адресом другого региона запрос вернет ошибку 401 invalid_api_key.
- Методы: набор методов у провайдеров разный, DeepSeek в примерах использует /chat/completions.
- Ответы: формат тот же, содержание другое. Промпты, подобранные под одну модель, на другой дают иной результат.
Как проверить качество на своих данных
Проверка занимает несколько шагов и делается до переключения рабочей системы:
Решение принимайте по цифрам. Если новая модель совпадает с эталоном на большинстве запросов и укладывается в бюджет, переключайте одну систему, а не все сразу, и через неделю сравните журналы ошибок. Стоимость токенов у провайдеров разная, сверить ее можно в сравнении цен API.
Персональные данные в тестовом наборе обезличьте до отправки в облако. На своем сервере данные не покидают ваш контур.
Если тест удобнее провести на выделенной инфраструктуре, мы подбираем открытую модель под задачу: DeepSeek, Qwen или другую с открытыми весами, в формате OpenAI. Меняете адрес и ключ, код остается.
- Соберите 50-100 реальных запросов из журнала: типичные, сложные и те, где текущая модель ошибалась.
- Сохраните эталонные ответы: ответы текущей модели или правильные ответы сотрудника.
- Прогоните тот же набор через новую модель, поменяв только base_url, ключ и модель.
- Сравните по четырем меркам: точность, формат ответа (JSON, нужные поля), время ответа и стоимость за 1 000 запросов.
- Отдельно проверьте вызов инструментов (tools) и структурированный вывод, если код ими пользуется.
Вопросы и ответы
Можно ли перейти с OpenAI на другую модель без переписывания кода?
Что такое base_url?
Источники и даты
- DeepSeek API Docs, проверено 16.10.2026api-docs.deepseek.com
- Alibaba Cloud Model Studio, OpenAI compatibility, проверено 16.10.2026help.aliyun.com
- vLLM Docs, OpenAI-compatible server, проверено 16.10.2026docs.vllm.ai
- OpenAI, Supported countries and territories, проверено 16.10.2026developers.openai.com
Безопасный API для больших объемов
- Модели
- DeepSeek, Qwen, другие модели с открытыми весами по задаче
- Формат
- Совместим с OpenAI: меняете адрес и ключ, код остается
- Контроль
- Вы получаете доступ к инфраструктуре и видите журналы и процессы обработки запросов
- Обучение
- Ваши запросы не используются для обучения моделей
- Объемы
- Под большие объемы, лимиты и мощности по договору
- Где серверы
- В России: в вашем контуре или в центре обработки данных, который вы выбираете; площадку фиксируем в договоре
- Договор и оплата
- Договор с ООО «ММООЗЗГГ», оплата в рублях по счету
- SLA
- Доступность и время реакции под вашу нагрузку фиксируем в договоре
- Журналы
- Срок хранения журналов и круг тех, кто их видит, задаете вы и фиксируете в договоре
- Цена
- Считаем под вашу модель и объем, цену фиксируем в договоре до старта
OpenAI, Claude и Gemini: доступ к OpenAI, Claude и Gemini не перепродаем; помогаем подключить официальный аккаунт компании там, где провайдер работает, или подбираем открытую модель по тесту на ваших запросах.