Базовый URL и аутентификация
Начните каждый запрос, указав в вашем клиенте правильный базовый URL. Используйте ключ, полученный при регистрации, чтобы передать в Authorization header. Этот заголовок аутентифицирует ваш аккаунт и отслеживает использование вашего предоплаченного кредита.
Наша инфраструктура создана для разработчиков, которые хотят прямой доступ без посреднических комиссий за маршрутизацию. Вы получаете стабильную производительность, потому что запускаем собственные серверы.
Первый запрос
Отправьте первое сообщение для проверки подключения и ответа модели. Используйте стандартный конечный пункт chat completions с системным сообщением и запросом пользователя. Это подтверждает работоспособность ключа и показывает сырой JSON-ответ.
- Установите
modelfield дляuncensored. - Включите простое сообщение пользователя для проверки задержки.
- Проверьте
usageобъект для подсчета токенов.
Python SDK
Быстрая интеграция с помощью официальной библиотеки Python. Установите пакет и инициализируйте клиент с вашим base URL и ключом. Этот подход автоматически обрабатывает сериализацию и повторные попытки.
Определите историю разговора как список словарей. Передайте их напрямую в конечную точку чата. Библиотека возвращает структурированный объект ответа, который можно разобрать для получения текста ассистента.
Node SDK
Создавайте серверную логику с клиентом Node.js. Импортируйте библиотеку и настройте ключ API и базовый URL. Эта настройка хорошо подходит для сервисов бэкенда, которые обрабатывают пользовательские вводные асинхронно.
Вызовите метод completion с вашими сообщениями. Ответ включает сгенерированный текст и статистику использования. Обрабатывайте ошибки gracefully, чтобы избежать сбоев вашего приложения при высокой нагрузке.
Потоковые ответы
Получайте токены в реальном времени для более плавного пользовательского опыта. Включите потоковую передачу, установив соответствующий флаг в вашем запросе. Сервер отправляет фрагменты данных по мере их генерации.
Накапливайте эти фрагменты на стороне клиента для постепенного отображения текста. Это значительно снижает воспринимаемую задержку. Отслеживайте последний фрагмент на предмет общего количества токенов и данных о биллинге.
Лимиты, Ошибки и Контекст
Соблюдайте лимиты частоты запросов, чтобы избежать прерываний. Вам разрешено 300 запросов в минуту и 8 одновременных подключений на ключ. Если вы превысите этот лимит, получите ошибку 429.
Ошибка 401 означает, что ваш API-ключ недействителен. Ошибка 402 указывает на недостаточный предоплаченный баланс. Размер вашего контекстного окна составляет 100,000 токенов суммарно. Убедитесь, что ваш запрос и ответ укладываются в этот лимит для обеспечения надежной работы.
cURL
curl https://api.deepseekapiaccess.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Calculate the total latency for three sequential API calls."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.deepseekapiaccess.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.deepseekapiaccess.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)