ru ▾
API для разработчиков без цензурыdoesgrokhaveanapi.com

Быстрый старт API: Подключение клиента к нашей uncensored модели

Это краткое руководство показывает, как подключить OpenAI-совместимого клиента к нашей uncensored текстовой модели. Вам нужен один базовый URL, один идентификатор модели и ваш ключ.

Аутентификация и базовый URL

Каждый запрос отправляется на https://doesgrokhaveanapi.com/v1 и хранит ваш ключ в Authorization заголовок как токен Bearer. Скопируйте ключ со страницы получения API-ключа; он отображается один раз после регистрации, и вы можете заменить его в любое время.

Кратко и по делу: базовый URL и ключ — это единственные два значения, которые меняются при переносе существующего клиента.

curl https://api.doesgrokhaveanapi.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "What is the current API endpoint for the model?"}]
  }'

Эндпоинт Chat Completions

Отправить POST /v1/chat/completions со списком сообщений. Ответ имеет ту же структуру, что и ответ OpenAI chat completions, поэтому существующие парсеры продолжают работать.

  • Используйте роль user для вашего промпта и system для инструкций.
  • Прочитайте ответ от choices[0].message.content.
  • Количество токенов возвращается в usage, и именно за это списываются ваши кредиты.
from openai import OpenAI

client = OpenAI(base_url="https://api.doesgrokhaveanapi.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)

Поддерживаемая модель: 'uncensored'

Установите поле модели на uncensored. Это единственный идентификатор модели в сервисе, поэтому выбирать не из чего. GET /v1/models возвращает его, что является быстрым способом подтвердить работоспособность ключа.

Модель — это модель с открытыми весами, работающая на наших собственных серверах. Она не отказывает в законных взрослых, художественных или спорных запросах. Единственное строгое ограничение — сексуальный контент с участием несовершеннолетних.

Потоковая передача и вызов функций

Добавить stream: true для получения токенов в виде событий, отправляемых сервером. Последний чанк содержит данные об использовании, поэтому вы можете фиксировать стоимость запроса без дополнительного вызова.

Вызов функций работает через стандартный tools и tool_choice поля. Определите каждую функцию с помощью JSON-схемы и прочитайте tool_calls массиве ответа.

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)

Параметры: Temperature, Top P и Stop

Поддерживаемые параметры сэмплирования: temperature, top_p, stop, seed, presence_penalty и frequency_penalty. Используйте низкую температуру для кода и извлечения данных, а более высокую — для художественного текста.

Если вы не установите max_tokens, по умолчанию лимит вывода составляет 2 048 токенов. Абсолютный максимум на один запрос — 16 000 токенов.

Режим JSON и форматы ответов

Установить response_format для { 'type': 'json_object' } когда вам нужен вывод, читаемый машиной. Запросите JSON в промпте, так как модель следует инструкции и формату вместе.

  1. Опишите поля, которые вам нужны, в системном сообщении.
  2. Сохраните пример коротким, два или три ключа.
  3. Проверяйте результат в коде перед сохранением.

Лимиты запросов и обработка ошибок

Каждый ключ может отправлять 300 запросов в минуту и 8 запросов одновременно. Запросы с телом более 8 МБ отклоняются. Код 401 означает, что ключ неверный, 402 — что кредиты исчерпаны, а 429 — что вы достигли лимита частоты: подождите и повторите с экспоненциальной задержкой.

Ошибки и отказы не оплачиваются. Имейте в виду контекстное окно на 100 000 токенов для длинных диалогов: количество токенов в запросе и ответе суммируется.

Node.js

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.doesgrokhaveanapi.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);

Часто задаваемые вопросы

Какой базовый URL я должен использовать?

Используйте https://doesgrokhaveanapi.com/v1 в качестве базового URL. Любой SDK, совместимый с OpenAI, принимает его при изменении базового URL и ключа, и ничего другого в вашем коде менять не нужно.

Какой ID модели я должен отправить?

Отправляйте без ограничений. Это единственная модель на сервисе. Вызовите GET /v1/models, чтобы подтвердить идентификатор и активность вашего ключа, прежде чем запускать крупные задачи.

Почему мой запрос возвращает 402?

Ответ 402 означает, что предоплаченный кредит на аккаунте исчерпан. Пополните баланс через USDT (TRC20) или USDC (Base) от $20, и следующий запрос пройдет. Непрошедшие запросы не списываются.

Ваш API-ключ всего в одном шаге

Зарегистрируйтесь, скопируйте токен, обновите конечную точку. Это весь процесс.

Начать сейчас