Текстовые модели
Текстовые модели принимают и возвращают текст. К ним относятся:
- Чат-модели (Chat Completions API) — генерируют ответ;
- Модели эмбеддингов (embeddings) — создают векторное представление текста.
Для работы с API модели используют базовый URL:
https://gpt.mwsapis.ru/projects/<имя проекта>/openai/v1Авторизация выполняется API-ключом сервисного аккаунта с ролью gpt.inferencer.
Список поддерживаемых моделей и их возможности приведены в разделе Доступные модели.
Чат-модели
Заголовок раздела «Чат-модели»Чат-модели (Chat Completions API) генерируют ответ на основе списка сообщений (диалога).
Эндпоинт:
POST https://gpt.mwsapis.ru/projects/<имя проекта>/openai/v1/chat/completionsДоступно два режима ответа модели:
- Опция
streamingотключена — модель возвращает ответ одним сообщением в форматеjson, без разбиения на части. - Опция
streamingвключена — модель возвращает ответ частями по мере генерации в формате Server-Sent Events (SSE).
Параметры запроса
Заголовок раздела «Параметры запроса»| Параметр | Тип | Описание |
|---|---|---|
model | string | Идентификатор деплоймента с чат-моделью |
messages | array | Список сообщений диалога. Каждое сообщение содержит поля role (system, user, assistant) и content — строка с текстом |
stream | boolean | (опционально) Включить потоковую передачу ответа в формате SSE. По умолчанию false |
stream_options | object | (опционально) Опции потоковой передачи. При include_usage: true в последнем чанке возвращается статистика использования токенов. Используется только вместе с stream: true |
max_completion_tokens | integer | (опционально) Максимальное количество токенов в ответе модели |
temperature | number | (опционально) Управляет случайностью ответа: чем выше значение, тем более вариативный ответ. По умолчанию 1 |
reasoning_effort | string | (опционально) Уровень рассуждения. Поддерживаемые значения зависят от модели и указаны в разделе Рассуждения |
Запрос без streaming
Заголовок раздела «Запрос без streaming»curl https://gpt.mwsapis.ru/projects/<имя проекта>/openai/v1/chat/completions \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer <API-ключ сервисного аккаунта sa-inferencer>" \ -d '{ "model": "qwen3-6-35b-a3b", "messages": [ { "role": "user", "content": "Привет!" } ] }' | jq .Запрос со streaming
Заголовок раздела «Запрос со streaming»curl https://gpt.mwsapis.ru/projects/<имя проекта>/openai/v1/chat/completions \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer <API-ключ сервисного аккаунта sa-inferencer>" \ -d '{ "model": "qwen3-6-35b-a3b", "stream": true, "stream_options": { "include_usage": true }, "messages": [ { "role": "user", "content": "Привет!" } ] }'Запрос с изображением
Заголовок раздела «Запрос с изображением»Модели с поддержкой изображений могут обрабатывать изображения, переданные в сообщении пользователя. Признак поддержки отображается в таблице доступных моделей.
curl https://gpt.mwsapis.ru/projects/<имя проекта>/openai/v1/chat/completions \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer <API-ключ сервисного аккаунта sa-inferencer>" \ -d '{ "model": "kimi-k2-instruct", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Что на картинке?" }, { "type": "image_url", "image_url": { "url": "https://mws.ru/uploads/grant_promo_banner_3fdd0964ae_730f25981e.png" } } ] } ] }' | jq .Эмбеддинги
Заголовок раздела «Эмбеддинги»Модель принимает текст или список текстов и возвращает их векторные представления. Используется для семантического поиска, кластеризации и построения RAG-систем.
Эндпоинт:
POST https://gpt.mwsapis.ru/projects/<имя проекта>/openai/v1/embeddingsПараметры запроса
Заголовок раздела «Параметры запроса»| Параметр | Тип | Описание |
|---|---|---|
model | string | Идентификатор деплоймента с моделью эмбеддингов |
input | string | array<string> |
Пример запроса
Заголовок раздела «Пример запроса»curl https://gpt.mwsapis.ru/projects/<имя проекта>/openai/v1/embeddings \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer <API-ключ сервисного аккаунта sa-inferencer>" \ -d '{ "model": "bge-m3", "input": "Привет!" }' | jq .