Руководство по интеграции: неограниченное завершение чата
Запустите uncensored LLM за несколько минут с этим руководством по прямой интеграции. Мы убираем лишнее и показываем, как именно отправлять запросы в API чата без фильтров.
Базовый URLhttps://api.loginllm.com/v1
Базовый URL и аутентификация
Основа вашей интеграции начинается с базового URL. Используйте https://api.loginllm.com/v1 для всех запросов. Эта конечная точка полностью совместима с OpenAI, что позволяет заменить существующие ключи без переписывания логики клиента.
Аутентификация основана на одном API-ключе. Сгенерируйте этот ключ через Получить API-ключ странице с использованием Google или пароля электронной почты. Система выдает один активный ключ на учетную запись; выпуск нового ключа немедленно делает предыдущий недействительным. Храните этот ключ в безопасности, так как он контролирует ваши предоплаченные кредиты.
Передайте ключ в Authorization заголовок как Bearer-токен. Для самого API не требуются сложные потоки OAuth или сессионные куки.
Вы можете проверить подключение немедленно с помощью простой команды curl. Это гарантирует, что ваша сеть разрешает исходящий HTTPS-трафик к нашим серверам, прежде чем вы начнете разрабатывать остальную часть приложения.
Эндпоинт chat/completions
Отправляйте сообщения в POST /v1/chat/completions endpoint. Это стандартный интерфейс для генерации текста. Вы указываете модель как uncensored и предоставьте список сообщений в теле запроса.
Каждое сообщение требует роль (system, user, или assistant) и контент. Система обрабатывает эти входные данные и возвращает завершение. Вам не нужно управлять маршрутизацией моделей или выбирать из нескольких вариантов; мы хостим одну выделенную модель с открытым весом, оптимизированную для неограниченной генерации.
Этот подход делает ваш код простым. Вы избегаете накладных расходов на управление несколькими версиями моделей или обработку специфических особенностей вендоров. Структура ответа соответствует формату OpenAI, что обеспечивает широкую совместимость с SDK.
Регулярно проверяйте баланс. Кредиты списываются на основе фактического использования токенов, а ошибки не расходуют кредиты.
Потоковая передача с Server-Sent Events
Для пользовательского опыта в реальном времени включите потоковую передачу, установив stream: true в вашем запросе. API возвращает поток Server-Sent Events (SSE) вместо одного JSON-объекта.
Каждый чанк события содержит часть сгенерированного текста. Вы можете отображать этот текст постепенно в вашем интерфейсе, что значительно снижает воспринимаемую задержку для конечного пользователя. Последний чанк в потоке включает общее использование токенов для запроса.
Эта функция необходима для чат-интерфейсов, где пользователи ожидают мгновенной обратной связи. Она позволяет вашему приложению обрабатывать длинные ответы без блокировки основного потока.
Реализуйте простой обработчик событий для сбора этих фрагментов. Объедините их, чтобы получить полный ответ, или отображайте их в реальном времени по мере поступления.
Function Calling и инструменты
API поддерживает структурированное использование инструментов. Определите функции в tools массив в вашем запросе. Модель может затем решить вызвать функцию на основе ввода пользователя.
Когда модель генерирует вызов функции, она возвращает имя функции и аргументы в структурированном формате. Ваше приложение выполняет функцию и отправляет результат обратно модели для получения окончательного ответа.
Эта возможность позволяет сложные рабочие процессы без жесткого кодирования логики. Вы можете интегрировать внешние источники данных, калькуляторы или пользовательскую бизнес-логику непосредственно в разговор.
Убедитесь, что ваши определения инструментов точны. Модель полагается на эти схемы, чтобы понять ожидаемые форматы ввода и вывода для каждой функции.
Контекстное окно и лимиты
Модель поддерживает контекстное окно объёмом 100 000 токенов. Это окно включает как промпт, так и завершение. Вы можете указать максимальную длину вывода с помощью max_tokens параметр.
Если max_tokens не задан, ответ может занимать до конца окна. Установка более высокого значения позволяет получать более длинные ответы, вплоть до лимита в 100,000 токенов. Это полезно для генерации подробных отчетов или фрагментов кода.
Внимательно отслеживайте лимиты скорости. API позволяет 300 запросов в минуту и 8 одновременных запросов на ключ. Превышение этих лимитов приведет к ошибке 429.
Размер тела запроса ограничен 8 МБ. Большие окна контекста потребляют больше кредитов, поэтому балансируйте требования к памяти с вашим бюджетом.
Обработка ошибок и использование токенов
Корректно обрабатывайте ошибки для поддержания плавного пользовательского опыта. Ошибка 401 указывает на недействительный или просроченный API-ключ. Повторно выполните аутентификацию или сгенерируйте новый ключ в панели управления.
Ошибка 402 означает, что вашего предоплаченного баланса недостаточно. Пополните его с помощью USDT (TRC20) или USDC (Base), чтобы возобновить работу. Кредиты не имеют срока действия, поэтому вы можете пополнять баланс в любое удобное время.
Ошибка 429 сигнализирует о превышении лимита частоты запросов. Реализуйте экспоненциальное замедление (exponential backoff) в клиенте для автоматического повторного выполнения запросов. Всегда проверяйте заголовки ответа для получения информации об оставшемся квоте.
Использование токенов указывается в финальном чанке потока или в ответе завершения. Используйте эти данные для оптимизации промптов и эффективного управления расходами.
cURL
curl https://api.loginllm.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Fix syntax error in python loop"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.loginllm.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.loginllm.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Потоковая передача
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)FAQ
Как получить API-ключ для входа в LLM?
Перейдите на страницу получения API-ключа на сайте. Вы можете войти, используя Google или пароль от электронной почты. API-ключ отображается сразу после аутентификации. Для этого процесса не требуется номер телефона.
Что произойдет, если я превышу лимит частоты запросов?
Вы получите код статуса 429. Лимит составляет 300 запросов в минуту и 8 параллельных запросов на ключ. Реализуйте логику повторных попыток с экспоненциальной задержкой, чтобы обработать это gracefully без потери данных.
Отличается ли модель uncensored LLM от GPT?
Да. Модель представляет собой модель с открытым весом, размещенную на наших серверах. Это не GPT, Claude, Gemini или модель какого-либо другого производителя'. Она специально настроена для ответов без отказов в контенте для законного использования взрослыми.
Получите API-ключ
Зарегистрируйтесь, скопируйте ключ, обновите базовый URL. Это всё.