Установка и конфигурация
Начните с установки официального SDK для вашего языка. Клиенту требуется только ваш API-ключ и правильный базовый URL для маршрутизации запросов на наши серверы. Эта настройка работает с любым стандартным клиентом, совместимым с OpenAI.
Настройте переменные окружения или передайте их напрямую в конструктор клиента. Вам не нужно управлять сложной логикой маршрутизации или переключаться между несколькими моделями. Одна uncensored-модель обрабатывает все запросы.
- Установите пакет с помощью вашего менеджера пакетов.
- Укажите ключ API из панели управления.
- Направьте клиент к конечной точке API.
Выполнение первого запроса
Отправьте POST-запрос на эндпоинт chat completions с идентификатором модели, установленным в "uncensored". Это возвращает прямой текстовый ответ от модели, минуя стандартные фильтры контента. Вы можете отправлять простые промпты или сложные системные инструкции.
API принимает стандартные параметры, такие как temperature и top_p. Используйте следующую команду cURL для немедленной проверки подключения и качества ответа.
curl https://api.chatbotunrestricted.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Fetch current temperature in Tokyo."}]
}'Этот ответ подтверждает, что модель активна и готова к производственной нагрузке.
Обработка потоковых ответов
Включите потоковую передачу, установив параметр stream в true. API возвращает поток событий, отправляемых сервером (SSE), доставляя токены по мере их генерации. Это значительно снижает воспринимаемую задержку для конечных пользователей.
Анализируйте чанки SSE для обновления интерфейса в реальном времени. Последний чанк включает общее использование токенов для запроса. Этот подход необходим для чат-интерфейсов, где пользователи ожидают мгновенной обратной связи.
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)Убедитесь, что ваш клиент корректно обрабатывает событие завершения потока.
Использование инструментов и вызова функций
Определите инструменты в запросе, чтобы позволить модели выводить структурированные вызовы функций. Передайте определения инструментов в массиве tools и укажите tool_choice для автоматического выбора. Модель возвращает вызовы функций в содержимом ответа.
Разбирайте аргументы функции и выполняйте их в своем коде. Затем передавайте результаты обратно модели в следующем сообщении. Этот цикл позволяет создавать сложные многоэтапные рабочие процессы без внешней логики разбора.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatbotunrestricted.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);Всегда проверяйте схему вывода перед выполнением.
Управление токенами и лимитами
Окно контекста поддерживает 100,000 токенов как для промпта, так и для завершения в совокупности. Каждый запрос может выводить до 16,000 токенов, или 2,048, если параметр max_tokens не указан. Отслеживайте использование через подсчет токенов в ответе.
Лимиты позволяют 300 запросов в минуту и 8 параллельных запросов на ключ. Превышение этих лимитов вызывает ошибку 429. Держите ключ уникальным для каждой учетной записи, чтобы избежать совместного использования лимитов.
Ошибки, такие как 401, указывают на неверный ключ, а 402 означает, что вам нужно больше кредитов. Отказы за незначительные нарушения контента бесплатны и не расходуют токены.
Обработка ошибок и устранение неполадок
Обрабатывайте ошибки HTTP корректно в логике вашего приложения. Статус 401 означает, что ваш ключ API неверен или истек. Проверьте панель управления, чтобы убедиться, что ключ активен.
Статус 402 указывает на недостаточность предоплаченного баланса. Пополните его с помощью USDT или USDC, чтобы возобновить работу. Ошибка 429 сигнализирует о том, что вы достигли лимита частоты запросов. Подождите и повторите запрос с экспоненциальной задержкой.
Неверные тела запросов возвращают ошибку 400. Проверьте, соответствует ли структура вашего JSON спецификации API. Эти ошибки бесплатны и не списывают средства с вашего баланса.
Python
from openai import OpenAI
client = OpenAI(base_url="https://api.chatbotunrestricted.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)