Предварительные требования: Настройка SDK
Установите официальную клиентскую библиотеку для предпочитаемого языка перед настройкой соединения. Библиотека автоматически обрабатывает сериализацию JSON, повторные попытки и протоколы потоковой передачи.
Для Python установите пакет через pip. Для Node.js используйте npm или yarn, чтобы добавить зависимость в ваш проект.
Убедитесь, что вы используете последнюю версию SDK для поддержки всех функций, таких как вызов функций и JSON-режим.
Конфигурация: Базовый URL & Ключ
Укажите базовый URL нашего SDK-клиента для нашего конкретного базового URL и предоставьте API-ключ, полученный при регистрации.
Базовый URL — HTTPS://api.claudellmapi.com/v1. Это гарантирует, что все запросы поступают на серверы нашей модели без ограничений, а не к стандартному провайдеру.
Укажите ключ API как переменную окружения или передайте его напрямую в конструктор клиента. Дополнительные заголовки не требуются.
Отправка первого запроса
Отправьте простой запрос на завершение чата для проверки подключения и качества ответа. Используйте идентификатор модели 'uncensored' для доступа к неограниченной модели.
Структура запроса соответствует стандартному формату OpenAI, что упрощает замену существующих интеграций.
Ожидайте текстовый ответ, содержащий ответ модели на ваш промпт.
Обработка потоковых ответов
Включите потоковую передачу для получения токенов по мере их генерации, снижая воспринимаемую задержку для длинных выводов.
Установите параметр stream в true в запросе. SDK будет выдавать чанки текста по мере их появления.
Это идеально подходит для чат-интерфейсов, где пользователи ожидают немедленной обратной связи, пока модель все еще думает.
Реализация вызова функций
Определите инструменты в запросе, чтобы модель возвращала структурированные данные вместо обычного текста.
Specify the function schema and set tool_choice to 'auto' or a specific function name.
Модель ответит объектом вызова функции, который вы можете выполнить в своем коде. Это бесшовно работает с нашей моделью без цензуры.
Обработка ошибок и лимиты
Грамотно обрабатывайте распространённые ошибки 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)