Быстрый старт
Укажите эндпоинт, настройте ключ, подключите клиент и отправьте первый запрос.
Выберите эндпоинт
Выберите формат эндпоинта, который ожидает ваш клиент. Доступны маршруты, совместимые с Chat Completions, Responses и Messages.
Base URL: https://api.llm-token.cn/v1Подготовьте API-ключ
Используйте активный API-ключ из серверного окружения. Не раскрывайте ключи в коде на стороне браузера.
Authorization: Bearer sk-your-api-keyИнтегрируйте клиент
Используйте совместимый SDK или вызывайте REST API напрямую с собственным base_url.
client = OpenAI(base_url='https://api.llm-token.cn/v1')Начните вызовы
Отправляйте запросы и получайте ответы ИИ. Потоковая передача поддерживается для более быстрого отклика.
POST /v1/chat/completionsАутентификация
Каждый API-запрос должен содержать ваш API-ключ в HTTP-заголовке Authorization.
Формат аутентификации
Добавляйте свой API-ключ в заголовок Authorization в каждом запросе.
/v1/chat/completionsПример запроса с аутентификацией
curl https://api.llm-token.cn/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-api-key" \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "Hello!"}]
}'{
"id": "chatcmpl_123",
"object": "chat.completion",
"choices": [{
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
}
}]
}https://api.llm-token.cn/v1Используйте для большинства клиентовhttps://gpt-agent.ccИспользуйте, только если клиент отклоняет /v1 при проверке/v1/chat/completionsДля клиентов, ожидающих Chat Completions/v1/responsesВ первую очередь для клиентов, поддерживающих Responses/v1/messagesВ первую очередь для Messages-совместимых клиентовChat Completions API
Совместимый с OpenAI эндпоинт Chat Completions для разных экосистем моделей.
from openai import OpenAI
# Initialize the client
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.llm-token.cn/v1"
)
# Send a chat request
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You are a concise assistant."},
{"role": "user", "content": "Introduce yourself in one sentence."}
]
)
print(response.choices[0].message.content)Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
model | string | Да | ID модели, например gpt-4o-mini |
messages | array | Да | Массив сообщений чата |
temperature | number | Нет | Температура сэмплирования от 0 до 2, по умолчанию 1 |
max_tokens | integer | Нет | Максимальное количество генерируемых токенов |
stream | boolean | Нет | Включать ли потоковый вывод |
top_p | number | Нет | Значение nucleus-сэмплирования, по умолчанию 1 |
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id | string | Уникальный идентификатор ответа |
object | string | Тип объекта, обычно chat.completion |
created | integer | Метка времени создания |
model | string | ID модели, использованной для ответа |
choices | array | Сгенерированные варианты ответа |
usage | object | Статистика использования токенов |
Стриминг
Включите стриминг, чтобы получать сгенерированные токены в реальном времени и снизить ощущаемую задержку.
- Меньше ощущаемая задержка - Пользователь сразу видит вывод, не дожидаясь полного ответа.
- Удобнее для длинных ответов - Длинные ответы появляются постепенно, как при живом наборе текста.
- Та же стоимость - Стриминг тарифицируется так же, как синхронный вывод; меняется только способ передачи.
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.llm-token.cn/v1"
)
# Enable streaming
stream = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You are a concise assistant."},
{"role": "user", "content": "Introduce yourself in one sentence."}
],
stream=True
)
# Print each streamed token as it arrives
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
print() # New lineОшибки
Типичные ошибки API и рекомендуемые действия по их обработке.
| HTTP-статус | Название ошибки | Описание | Рекомендуемое действие |
|---|---|---|---|
400 | INVALID_REQUEST | Некорректное тело запроса или неверные параметры | Проверьте тело запроса и параметры |
401 | UNAUTHORIZED | API-ключ недействителен или истёк | Проверьте правильность API-ключа |
429 | RATE_LIMIT | Превышен лимит частоты запросов | Повторите с экспоненциальной задержкой |
500 | INTERNAL_ERROR | Внутренняя ошибка сервиса | Повторите позже |
503 | SERVICE_UNAVAILABLE | Сервис временно недоступен | Повторите позже |
Ограничения частоты
Частота API-запросов ограничивается для стабильной работы сервиса.
- У каждого API-ключа свои ограничения на частоту запросов
- При получении ответа 429 используйте экспоненциальную задержку для повторов
- Потоковые и непотоковые запросы используют одну квоту ограничения частоты
- Фактический лимит определяется текущей конфигурацией ключа