Базова URL-адреса та аутентифікація
Підключіться до нашого API OpenAI сумісний оновивши конфігурацію клієнта, щоб вказати на https://api.openaicompatibleapiendpoints.com/v1. Вам потрібно надіслати дійсний API-ключ у Authorization header as a Bearer token. This setup works with the official OpenAI SDKs and any compatible client library. No complex gateway configuration is required.
curl https://api.openaicompatibleapiendpoints.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Return 500 status code"}]
}'Кожен запит має містити ваш унікальний ключ. Якщо ключ відсутній або недійсний, сервер одразу повертає помилку 401. Це гарантує, що ваші запити надходять до правильної моделі LLM без цензури без затримок маршрутизації.
Ендпоінт Chat Completions
Надсилайте повідомлення до POST /v1/chat/completions ендпоінт для отримання текстових відповідей з uncensored модель. Цей ендпоінт обробляє стандартні черги розмов та підтримує контекстне вікно на 100,000 токенів. Ви можете встановити максимальний обсяг виводу 16,000 токенів за запит. Модель відповідає без відмов у вмісті для законних дорослих тем.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicompatibleapiendpoints.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)Використовуйте стандартний messages масивний формат. API ігнорує додаткові поля, які він не розпізнає, що полегшує міграцію. Ви платите лише за токени, фактично спожиті моделлю.
Потокові відповіді
Увімкнути доставку токенів у реальному часі, встановивши stream: true у вашому запиті. Сервер надсилає серію подій, що генеруються сервером (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)Буферизуйте вхідні токени на стороні клієнта, щоб відновити повний текст. Помилки під час потокової передачі рідкісні, але їх слід обробляти, перевіряючи кінцеву подію на код помилки. Потік автоматично зупиняється, коли досягається ліміт контексту або максимальна кількість токенів.
Режим JSON та інструменти
Примусовий структурований вивід шляхом встановлення response_format до {"type": "json_object"}. Це забезпечує, що модель повертає дійсний JSON замість тексту markdown. Ви також можете використовувати tools параметр для виклику функцій. API підтримує tool_choice для точного контролю за тим, які функції викликає модель.
Використовувати temperature та top_p для налаштування випадковості. Встановіть seed для відтворюваних результатів під час налагодження. Ці параметри працюють саме так, як очікується в стандартних інтеграціях, сумісних з OpenAI.
Обробка помилок та обмеження
Обробляйте стандартні помилки HTTP для коректного керування помилками на стороні клієнта. Статус 401 означає, що ваш API-ключ недійсний. Статус 402 вказує на вичерпання передоплаченого кредиту. Помилка 429 сигналізує про перевищення ліміту в 300 запитів на хвилину.
Кожен ключ дозволяє вісім одночасних запитів. Тіло запиту обмежене 8 МБ. Повернення коштів не видається за використаний кредит, але помилки під час обробки є безкоштовними. Завжди перевіряйте error об'єкт у відповіді JSON для деталей.
Контекстне вікно та деталі моделі
Модель підтримує вікно контексту обсягом 100,000 токенів як для запиту, так і для відповіді разом. Це дозволяє зберігати глибокий контекст для довгих документів або тривалих розмов. Максимальний обсяг за замовчуванням становить 2,048 токенів, якщо ви не вказали max_tokens. Ви можете збільшити це значення до 16 000 токенів на запит.
Модель не є GPT, Claude чи іншою моделлю від постачальників. Це модель з відкритими вагами, донавлена для відповідей без цензури. Дані з ваших промптів не використовуються для навчання. Це забезпечує конфіденційність ваших пропрієтарних даних.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicompatibleapiendpoints.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);