Начало работы

Первый запрос к API

Один проверенный путь: регистрация → ключ → список моделей → Chat Completions.

Канонический base URL: https://api.42gpu.ru/vllm/v1

Единственная публичная модель: Qwen/Qwen3.5-397B-A17B-FP8

1

Зарегистрируйтесь и получите ключ

Создайте аккаунт на 42gpu.ru/register. При регистрации по паролю Welcome Key показывается один раз и сохраняется локально для Quickstart в дашборде.

Если полный ключ уже не виден, откройте API-ключи, нажмите «Создать ключ» и сразу скопируйте секрет. Позже список показывает только безопасный префикс.

Ключ имеет формат sk- + 32 шестнадцатеричных символа. Не публикуйте его и не вставляйте в исходный код.

2

Сохраните ключ в текущей shell-сессии

Terminal
read -rsp "42gpu API key: " GPU42_API_KEY && echo
export GPU42_API_KEY

read -s не показывает ключ на экране и не записывает его в историю команд. Для проекта используйте secret manager или некоммитящийся .env.

3

Проверьте доступную модель

Terminal
curl -sS https://api.42gpu.ru/vllm/v1/models \
  -H "Authorization: Bearer $GPU42_API_KEY"
Response
{
  "object": "list",
  "data": [
    {
      "id": "Qwen/Qwen3.5-397B-A17B-FP8",
      "object": "model",
      "owned_by": "42gpu",
      "context_length": 262144,
      "endpoint": "/vllm/v1/chat/completions"
    }
  ]
}

Список должен содержать ровно один ID. Этот полный ID требуется передавать в поле model.

4

Отправьте Chat Completions запрос

cURL
Terminal
curl -i -sS https://api.42gpu.ru/vllm/v1/chat/completions \
  -H "Authorization: Bearer $GPU42_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen3.5-397B-A17B-FP8",
    "messages": [
      {"role": "user", "content": "Ответь одним предложением: что такое GPU?"}
    ],
    "chat_template_kwargs": {"enable_thinking": false},
    "max_tokens": 256
  }'
Response (values abbreviated)
HTTP/2 200
x-request-id: 8ed0d3d2-…
x-42gpu-request-id: 8ed0d3d2-…

{
  "id": "chatcmpl-…",
  "object": "chat.completion",
  "model": "Qwen/Qwen3.5-397B-A17B-FP8",
  "choices": [
    {
      "index": 0,
      "message": {"role": "assistant", "content": "GPU — это …"},
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 24,
    "completion_tokens": 18,
    "total_tokens": 42
  }
}

Тот же путь на Python

quickstart.py
1# pip install openai
2import os
3from openai import OpenAI
4
5client = OpenAI(
6 base_url="https://api.42gpu.ru/vllm/v1",
7 api_key=os.environ["GPU42_API_KEY"],
8)
9
10models = client.models.list()
11print([model.id for model in models.data])
12
13response = client.chat.completions.create(
14 model="Qwen/Qwen3.5-397B-A17B-FP8",
15 messages=[
16 {"role": "user", "content": "Ответь одним предложением: что такое GPU?"}
17 ],
18 max_tokens=256,
19 extra_body={"chat_template_kwargs": {"enable_thinking": False}},
20)
21
22print(response.choices[0].message.content)
23print(response.usage)

Как читать ответ

choices[0].message.content — итоговый текст модели.

usage.prompt_tokens и usage.completion_tokens — основа тарификации; total_tokens — их сумма.

X-Request-ID и X-42GPU-Request-ID — идентификаторы для отладки. Сохраните их при ошибке.

Дальше

Reasoning, streaming, tools и multimodal форматы описаны отдельно — без предположения о полной совместимости со всеми полями OpenAI.