Передумови: Налаштування SDK
Встановіть офіційну бібліотеку клієнта для бажаної мови перед налаштуванням з’єднання. Бібліотека автоматично обробляє JSON-серіалізацію, повторні спроби та протоколи потокової передачі.
Для Python встановіть пакет через pip. Для Node.js використовуйте npm або yarn, щоб додати залежність до вашого проекту.
Переконайтеся, що ви використовуєте останню версію SDK для підтримки всіх функцій, таких як виклик функцій та режим JSON.
Конфігурація: Базовий URL & Ключ
Направте клієнт SDK на нашу конкретну базову URL-адресу та надайте API-ключ, отриманий під час реєстрації.
Базовий URL-адреса — HTTPS://api.claudellmapi.com/v1. Це гарантує, що всі запити надходитимуть на сервери нашої необмеженої моделі, а не до постачальника за замовчуванням.
Вкажіть API ключ як змінну середовища або передайте його безпосередньо в конструктор клієнта. Додаткові заголовки не потрібні.
Надсилання першого запиту
Надішліть простий запит на chat completion для перевірки з’єднання та якості відповіді. Використовуйте ідентифікатор моделі 'uncensored' для доступу до необмеженої моделі.
Структура запиту відповідає стандартному формату OpenAI, що полегшує заміну існуючих інтеграцій.
Очікуйте текстову відповідь, що містить відповідь моделі на ваш запит.
Обробка потокових відповідей
Увімкніть потокове передавання, щоб отримувати токени по мірі їх генерації, зменшуючи сприйняту затримку для довгих виводів.
Встановіть параметр stream у true в своєму запиті. SDK буде повертати фрагменти тексту по мірі їх доступності.
Це ідеально підходить для чат-інтерфейсів, де користувачі очікують миттєвого відгуку, поки модель ще думає.
Реалізація виклику функцій
Визначте інструменти в тілі запиту, щоб дозволити моделі повертати структуровані дані замість звичайного тексту.
Вкажіть схему функції та встановіть tool_choice на 'auto' або конкретну назву функції.
Модель поверне об'єкт виклику функції, який ви можете виконати у своєму коді. Це бездоганно працює з нашою моделлю uncensored.
Обробка помилок та обмеження
Гарно обробляйте поширені HTTP-помилки, щоб забезпечити плавний користувацький досвід. Статус 401 вказує на недійсний або відсутній API-ключ. Статус 402 означає, що ваш попередньо оплачений кредит вичерпано. Статус 429 сигналізує про перевищення ліміту швидкості — 300 запитів на хвилину.
Ваше контекстне вікно становить 100 000 токенів для запиту та відповіді разом. Запити, які перевищують ліміт тіла в 8 МБ, також будуть відхилені.
cURL
curl https://api.claudellmapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What are the current rate limits for large context windows"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.claudellmapi.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.claudellmapi.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)