OpenAI SDK
Официальный OpenAI SDK для Python и Node.js: chat, embeddings, images, streaming, Responses и Realtime через единый `base_url` с `/v1`.
Что нужно
- API-ключ
sk-…— создание ключа - Base URL:
https://www.llmmart.ru/api/v1 - Slug модели из каталога
Протокол
OpenAI-совместимый: https://www.llmmart.ru/api/v1.
API моделей совместим с OpenAI API (снимок 2026-07-09). Достаточно сменить base_url и указать ключ платформы.
Для Anthropic Messages используйте отдельный Anthropic SDK с base_url https://www.llmmart.ru/api без /v1.
Рекомендуемые версии
| Язык | Пакет |
|---|---|
| Python | openai==2.45.0 |
| Node.js | openai@6.45.0 |
Python
pip install "openai==2.45.0"import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["LLM_MART_API_KEY"],
base_url="https://www.llmmart.ru/api/v1",
)
# Chat
completion = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Привет!"}],
)
print(completion.choices[0].message.content)
# Embeddings
emb = client.embeddings.create(
model="text-embedding-3-small",
input="hello world",
)
# Images
img = client.images.generate(
model="dall-e-3",
prompt="Минималистичный логотип",
size="1024x1024",
)Переменные окружения:
export LLM_MART_BASE_URL="https://www.llmmart.ru/api/v1"
export LLM_MART_API_KEY="sk-…"Node.js
npm install openai@6.45.0import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.LLM_MART_API_KEY,
baseURL: "https://www.llmmart.ru/api/v1",
});
const completion = await client.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: "Привет!" }],
});
console.log(completion.choices[0].message.content);Streaming
stream = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Привет!"}],
stream=True,
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")Подробнее — Потоковая передача.
Responses API
response = client.responses.create(
model="gpt-4o-mini",
input="Кратко объясни, что такое HTTP/2.",
)
print(response.output_text)Строка в input или массив сообщений, поток stream=True, рассуждения (reasoning), функции клиента (tools с type: "function"), схема ответа (text={"format": {"type": "json_schema", ...}}). Чтобы продолжить диалог, передайте предыдущие реплики в следующем input.
Подробнее — POST /responses.
Realtime
secret = client.realtime.client_secrets.create(model="gpt-4o-realtime-preview")
# WebSocket: API-ключ в Authorization, client_secret в query — см. Realtime docsСм. Realtime API.
Типичные ошибки
| Ситуация | Код | Действие |
|---|---|---|
| Неверный ключ | 401 | Проверьте sk-… |
| Модель недоступна | 404 model_not_found | Включите модель, проверьте policy |
| Бюджет | 402 insufficient_balance | Лимиты в policy rules |
| Rate limit | 429 rate_limit_exceeded | Подождите или увеличьте лимит |
| Маршрут не поддерживается | 404 route not supported | См. справочник API моделей |
Ошибки возвращаются в форме OpenAI. Полная таблица — Ошибки API моделей.
Проверено: 2026-09-01 по документации OpenAI SDK.