RU ▾
Получить API-ключ

Что такое LLM API? Как это работает и когда стоит использовать

LLM API — это веб-сервис, который запускает большую языковую модель за вас. Ваш код отправляет текст по HTTP, модель возвращает текст, и вы платите за то, что используете.

Обновлено

Изометрическая иллюстрация: ноутбук отправляет пакеты данных в светящийся куб, представляющий LLM API

Ключевые моменты

  • LLM API — это HTTP-эндпоинт: вы отправляете сообщения методом POST, получаете завершение текста.
  • Тарификация производится за токены, подсчитываемые отдельно для ввода и вывода.
  • API, совместимые с OpenAI, используют единый формат запросов, поэтому смена провайдера обычно сводится к изменению базового URL.
  • Потоковая передача, вызов функций и JSON-режим превращают простой чат-эндпоинт в строительный блок для реального ПО.

Краткая версия

Итак, что такое LLM API? Это сервис, предоставляющий языковую модель по веб-адресу. Вам не нужно скачивать модель, не нужен GPU и не нужно управлять ПО для инференса. Вы отправляете запрос с диалогом, а сервис возвращает следующее сообщение.

Думайте об этом как о платёжном API или картографическом API. Кто-то другой управляет сложной инфраструктурой, а вы вызываете её из своей программы с ключом, идентифицирующим вас. Модель — это продукт, а API — это вход в него.

Этот вход — обычный HTTP с JSON-телами, что означает совместимость с Python, Node, Go, shell-скриптами, макросами в таблицах или расширениями VS Code. Ничто в нём не привязано к одному языку или фреймворку.

Как выглядит запрос и ответ

Большинство современных LLM API копируют формат, введённый OpenAI для чата. Вы вызываете один эндпоинт, POST /v1/chat/completions, и отправляете список сообщений. Каждое сообщение имеет поле role и содержит content.

  • system задаёт правила и личность для всего диалога.
  • user — это то, что говорит человек (или ваша программа).
  • assistant — это ответ модели ранее, который вы отправляете снова, чтобы она помнила контекст беседы.
  • tool содержит результат функции, которую модель попросила выполнить.

Ключевой момент: модель не сохраняет память между вызовами. Каждый запрос должен содержать весь диалог, который вы хотите, чтобы она учла. Если нужен чат-бот, помнящий последние 10 реплик, ваш код должен хранить эти реплики и отправлять их каждый раз.

Вот минимальный полезный вызов через curl. Используется эндпоинт этого сайта, идентификатор модели uncensored и Bearer-токен.

curl https://api.codingllmapi.com/v1/chat/completions \
  -H "Authorization: Bearer $LLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [
      {"role": "system", "content": "You are a concise assistant."},
      {"role": "user", "content": "Explain what a mutex is in two sentences."}
    ]
  }'

Ответ имеет формат JSON. Текст, который вам нужен, находится в поле choices[0].message.content. Рядом с ним вы получите объект usage, в котором указано, сколько токенов было отправлено и сколько возвращено — именно на основе этих данных формируется счёт.

Токены: единица измерения всего

Модель не читает символы или слова. Она читает токены — фрагменты текста, которые часто являются короткими словами или частями более длинных. Английский текст в среднем содержит чуть меньше одного токена на слово, а код использует больше токенов на строку из-за пунктуации и отступов. Считайте точное преобразование оценочным и смотрите поле usage для реального подсчёта.

Токены важны по трём причинам.

  1. Цена. Вы платите за миллион токенов: одна ставка для ввода (ваш промпт) и более высокая ставка для вывода (ответ модели).
  2. Контекстное окно. Промпт и ответ делят один лимит. В этом API окно составляет 100 000 токенов суммарно.
  3. Скорость. Вывод генерируется токен за токеном, поэтому длинный ответ занимает больше времени, чем короткий.

При тарифах на этом сайте $0,15 за 1 млн входных токенов и $0,50 за 1 млн выходных токенов запрос с 2 000 входными токенами и 500 выходными токенами обойдётся в 2 000 × $0,15 / 1 000 000 = $0,0003 за ввод плюс 500 × $0,50 / 1 000 000 = $0,00025 за вывод. Итого $0,00055, поэтому тысяча таких запросов обойдётся в $0,55. Актуальные тарифы всегда можно найти на странице с ценами.

Вызов LLM API из кода

Вы можете написать HTTP-вызов вручную, но SDK экономит усилия. Поскольку этот API совместим с OpenAI, официальные библиотеки OpenAI работают после изменения двух значений: базового URL и ключа.

Python

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.codingllmapi.com/v1",
    api_key=os.environ["LLM_API_KEY"],
)

resp = client.chat.completions.create(
    model="uncensored",
    messages=[
        {"role": "system", "content": "You are a careful code reviewer."},
        {"role": "user", "content": "What is wrong with: for i in range(len(x)): print(x[i])"},
    ],
    temperature=0.3,
)

print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, resp.usage.completion_tokens)

Node

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.codingllmapi.com/v1",
  apiKey: process.env.LLM_API_KEY,
});

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Give me three names for a CLI that renames files." }],
});

console.log(resp.choices[0].message.content);

Храните ключ в переменной окружения или хранилище секретов. Ключ, вставленный в код фронтенда или публичный репозиторий, может использовать любой, кто его найдёт, и расходы лягут на вас.

Функции, превращающие чат-бокс в строительный блок

Простое завершение полезно, но большинство реальных программ используют хотя бы одну из следующих возможностей.

Потоковая передача

Установите stream: true, и сервер будет отправлять ответ как Server-Sent Events, токен за токеном. Пользователи видят текст сразу, не ожидая полного ответа. Данные об использовании поступают в конце потока.

JSON-режим

Передайте response_format: {"type": "json_object"}, и модель будет склонна возвращать валидный JSON. Так вы извлекаете поля из неструктурированного текста, классифицируете тикеты или генерируете структурированные данные для следующего шага конвейера. Всегда проверяйте результат в коде и указывайте в промпте ожидаемые ключи.

Вызов функций

Вы описываете функции в массиве tools. Модель может ответить запросом на вызов одной из них с заполненными аргументами. Ваш код выполняет функцию и возвращает результат как сообщение с role: "tool". Модель никогда не выполняет ничего сама. Она только запрашивает, а вы решаете, что именно запустить. Это механизм работы агентов, которые читают файлы и запускают тесты.

Управление сэмплированием

Параметры temperature, top_p, stop, seed и штрафы за повторение передаются напрямую. Низкая температура даёт более стабильные ответы для кода и извлечения данных. Высокие значения дают более разнообразный текст.

Хостинг API или запуск модели самостоятельно

Альтернатива API — запуск модели с открытыми весами на собственном оборудовании. Это справедливый выбор, и важно честно понимать, когда он выигрывает.

ВопросХостинговое APIСобственный хостинг
Предварительные затратыНет, вы платите за токеныПокупка или аренда GPU
Время настройкиМинутыЧасы или дни
МасштабированиеОграничено лимитами запросов вашего ключаОграничено вашим оборудованием
Данные покидают вашу машинуДа, провайдеруНет
Затраты в простоеНольВы платите, даже когда ничего не работает

Если вы отправляете несколько тысяч запросов в день или ваш трафик имеет всплески, оплата за токены обычно проще. При стабильной высокой нагрузке и строгих правилах, запрещающих отправку текста третьим лицам, локальный хостинг может быть более целесообразным. Многие команды начинают с API для проверки идеи и возвращаются к этому вопросу позже.

Лимиты, ошибки и хорошие привычки

У каждого API есть лимиты, и знание их заранее экономит время на отладку. На этом сервисе полный ключ позволяет 8 параллельных запросов и 300 запросов в минуту. Пробный ключ позволяет 2 и 60 соответственно. Максимальный размер тела запроса — 8 МБ. Потоковый запрос удерживает слот параллельности до завершения потока, что часто становится проблемой для тех, кто открывает много потоков и забывает их закрывать.

Превышение лимита возвращает HTTP 429. Код ошибки rate_limited означает слишком много запросов в минуту, а concurrency — слишком много одновременно. 429 с заголовком Retry-After: 5 сигнализирует о временной перегрузке. Во всех трёх случаях правильный ответ — подождать и повторить запрос с нарастающей задержкой (backoff), а не давить на эндпоинт.

  • Читайте заголовки ответа X-RateLimit-Limit-Requests и X-RateLimit-Limit-Concurrency, чтобы узнать свои лимиты, и X-Balance-USD, чтобы контролировать баланс.
  • Логгируйте X-Request-Id при каждом вызове. Это значительно ускоряет решение вопросов в поддержке.
  • Установите разумный таймаут и ограничение на длину диалога, чтобы бесконечный цикл не потратил ваш баланс.
  • Обрезайте старые сообщения в чате, прежде чем они заполнят контекстное окно.

Неудачные или отклонённые запросы не оплачиваются в этом API, а кредит не сгорает, поэтому ошибка при тестировании обходится недорого.

Начало работы с этим API

Этот сервис — размещённое текстовое API, совместимое с OpenAI, для одной модели с открытыми весами. Его предоставляет независимый провайдер, а модель настроена на ответы без отказов по контенту для законного использования взрослыми. Поддерживается только текст: нет изображений, аудио, эмбеддингов или дообучения. Это не официальное API от вендора модели. Промпты не используются для обучения.

Новые пользователи могут получить $0,50 пробного баланса в один клик на странице API-ключа после входа через Google или по электронной почте и паролю. Карта не нужна, срок действия — 7 дней. После этого вы можете пополнить баланс на любую целую сумму от $20 до $500 с бонусом 5% от $50, 10% от $100 и 15% от $200. Оплата картой (Visa, Mastercard, Apple Pay, Google Pay) или криптовалютой (USDT в сети TRC20, USDC в сети Base).

Шаги простые: создайте API-ключ, следуйте быстрому старту в документации и запустите приведённый выше фрагмент кода на Python. Если ваша основная задача — помощь в программировании, страница про модель без цензуры для кодовых агентов рассматривает этот случай подробнее.

Вопросы и ответы

Является ли LLM API тем же самым, что и чат-бот?

Нет. Чат-бот — это приложение с интерфейсом. LLM API — это сервис, стоящий за таким приложением, и вы вызываете его из своего кода, чтобы создать нужный интерфейс или рабочий процесс.

Нужно ли знать машинное обучение, чтобы использовать его?

Нет. Если вы умеете отправлять HTTP-запросы или использовать SDK, вы можете использовать LLM API. Вам нужно понимать промпты и токены, но не то, как была обучена модель.

Что означает «совместимый с OpenAI»?

Это означает, что API принимает тот же формат запроса, что и чат-эндпоинт OpenAI. Существующие SDK и инструменты OpenAI работают после изменения базового URL и ключа.

Сколько стоит LLM API?

Провайдеры обычно взимают плату за миллион токенов, с разными ставками для ввода и вывода. Здесь это $0,15 за 1M входных токенов и $0,50 за 1M выходных токенов из предоплаченного баланса без подписки.

Используются ли мои данные для обучения модели?

На этом сервисе промпты не используются для обучения. У любого другого провайдера прочитайте их политику конфиденциальности перед отправкой чувствительного текста.

Ваш ключ — всего в одной форме

Создайте аккаунт, скопируйте ключ, измените базовый URL. Это вся настройка.

Получить API-ключ