Быстрый старт
С помощью этой инструкции вы создадите деплоймент языковой модели и проверите ее работу.
Перед началом работы
В веб-консоли выберите нужный проект. Если у вас нет проекта, создайте его.
В списке сервисов выберите GPT Model Hub. При первом запуске нажмите кнопку Активировать, для этого необходима роль
admin.Создайте два сервисных аккаунта:
- Сервисный аккаунт с именем
sa-cliс рольюgpt.deployment.editor. От имени этого сервисного аккаунта будет инициализирована MWS CLI и создан деплоймент. - Сервисный аккаунт с именем
sa-inferencerс рольюgpt.inferencer. От имени этого сервисного аккаунта вы будете обращаться к модели.
Создайте ключи доступа:
- Для сервисного аккаунта
sa-cliсоздайте авторизованный ключ и сохраните его в отдельном файле. - Для сервисного аккаунта
sa-inferencerсоздайте API-ключ и сохраните его.
Установите и настройте утилиту MWS CLI:
- Инициализируйте профиль. Используйте авторизованный ключ сервисного аккаунта
sa-cli.
Установите утилиту
jq.
Деплоймент модели
Получите список доступных базовых моделей:
bashmws gpt model listВыберите подходящую вам модель. В этом руководстве в качестве примера используется модель
qwen3-32b.Создайте деплоймент модели:
bashmws gpt deployment create qwen3-32b --body ' metadata: displayName: "qwen3-32b" description: "Модель для быстрого старта" spec: model: "gpt/projects/<имя проекта>/models/qwen3-32b"'Пример вывода команды
bashmetadata: displayName: qwen3-32b createTime: "2025-10-23T08:27:22Z" updateTime: "2025-10-23T08:27:22Z" etag: f65d6b2b-e5ad-4622-8819-702889fb63d6 description: Модель для быстрого старта id: gpt/projects/<имя проекта>/deployments/qwen3-32b spec: model: gpt/projects/<имя проекта>/models/qwen3-32b status: ready: state: OK modalities: text: true vision: false audio: false capabilities: chatCompletion: true embedding: false deprecation: inference: "2040-10-16T14:16:38Z"
Работа с моделью
Для работы с OpenAI-совместимым API используется базовый URL https://gpt.mwsapis.ru/projects/<имя проекта>/openai/v1.
Доступно два режима ответа модели:
- Опция
streamingотключена — модель возвращает ответ модели одним сообщением, без разбиения на части; - Опция
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-32b",
"messages": [
{
"role": "user", "content": "Привет!"
}
]
}' | jq .Пример ответа от модели
{
"id": "chatcmpl-c37a7ecbae094877b28654dbbfa14b81",
"created": 1758740886,
"model": "qwen3-32b",
"object": "chat.completion",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"message": {
"content": "Привет! Как я могу помочь?",
"role": "assistant",
"audio": null,
"refusal": null,
}
}
],
"usage": {
"completion_tokens": 45,
"prompt_tokens": 72,
"total_tokens": 117,
},
}В этом примере в поле usage:
prompt_tokens— количество входящих токенов запроса (токенов промпта);completion_tokens— количество исходящих токенов, сгенерированных моделью (токенов ответа).
Входящие и исходящие токены тарифицируются отдельно.
Запрос со 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-32b",
"stream": true,
"stream_options": {
"include_usage": true
},
"messages": [
{
"role": "user", "content": "Привет!"
}
]
}'Пример ответа от модели
{"id":"chatcmpl-e999cff5eb274f70988477c978c7d9f7","created":1775157501,"model":"qwen3-32b","choices":[{"delta":{"content":"Пр","reasoning":null,"reasoning_content":null,"refusal":null,"role":"assistant"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk"}
{"id":"chatcmpl-e999cff5eb274f70988477c978c7d9f7","created":1775157501,"model":"qwen3-32b","choices":[{"delta":{"content":"ив","reasoning":null,"reasoning_content":null,"refusal":null},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk"}
{"id":"chatcmpl-e999cff5eb274f70988477c978c7d9f7","created":1775157501,"model":"qwen3-32b","choices":[{"delta":{"content":"ет","reasoning":null,"reasoning_content":null,"refusal":null},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk"}
{"id":"chatcmpl-e999cff5eb274f70988477c978c7d9f7","created":1775157501,"model":"qwen3-32b","choices":[{"delta":{"content":"!","reasoning":null,"reasoning_content":null,"refusal":null},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk"}
...
{"id":"chatcmpl-e999cff5eb274f70988477c978c7d9f7","created":1775157501,"model":"qwen3-32b","choices":[{"delta":{"content":null,"reasoning":null,"reasoning_content":null,"refusal":null},"finish_reason":null,"index":0,"logprobs":null}],"usage":{"completion_tokens":21,"prompt_tokens":12,"total_tokens":33},"object":"chat.completion.chunk"}
{"id":"chatcmpl-e999cff5eb274f70988477c978c7d9f7","created":1775157501,"model":"qwen3-32b","choices":[{"delta":{"content":null,"reasoning":null,"reasoning_content":null,"refusal":null},"finish_reason":null,"index":0,"logprobs":null}],"usage":{"completion_tokens":21,"completion_tokens_details":{"reasoning_tokens":0},"prompt_tokens":12,"total_tokens":33},"object":"chat.completion.chunk"}В этом примере в поле usage:
prompt_tokens— количество входящих токенов запроса (токенов промпта);completion_tokens— количество исходящих токенов, сгенерированных моделью (токенов ответа).
Входящие и исходящие токены тарифицируются отдельно.