RU ▾
Получить API-ключ

Быстрый старт для пользователей Ollama NSFW

Получите первый ответ за несколько минут, указав любой OpenAI-совместимый SDK на наш размещенный эндпоинт. Этот быстрый старт охватывает аутентификацию, базовый чат, потоковую передачу и вызов функций с нашей моделью без цензуры.

Требования и аутентификация

Вам нужен API-ключ и базовый URL для начала. Зарегистрируйтесь на странице Получить API-ключ с помощью Google или электронной почты. Ваш ключ появится сразу; карта для пробного периода не требуется. Базовый URL — https://api.ollamansfw.com/v1. Установите его в среде или конфигурации SDK. Идентификатор модели — uncensored. Это модель с открытыми весами, работающая на наших серверах, отличная от GPT или других моделей поставщиков.

Ваш первый запрос

Отправьте стандартный запрос завершения чата. API ожидает массив messages с role и content. Используйте curl для проверки подключения. Замените YOUR_API_KEY на ваш фактический ключ. Ответ возвращает сгенерированный текст в choices[0].message.content. Если вы получаете 401, проверьте ключ. 402 означает, что вам нужен баланс.

Интеграция Python SDK

Используйте официальный пакет openai для Python. Установите его через pip. Настройте клиент с пользовательским базовым URL и API-ключом. Это обеспечивает совместимость с нашим эндпоинтом. Приведенный ниже код демонстрирует простую генерацию текста. Он обрабатывает запрос и выводит результат. Обработка ошибок должна перехватывать HTTP-исключения. Этот подход работает для любого OpenAI-совместимого клиента.

Интеграция Node.js SDK

Установите пакет openai для Node.js. Установите базовый URL и API-ключ при инициализации клиента. Структура соответствует примеру на Python. Передайте идентификатор модели uncensored. Ответ содержит данные завершения. Используйте async/await для чистого кода. Этот метод идеален для серверных приложений или инструментов CLI, которым нужен прямой доступ к API.

Потоковые ответы

Включите потоковую передачу, установив stream: true. API возвращает поток событий, отправляемых сервером (SSE). Каждый фрагмент содержит частичный текст. Последний фрагмент включает статистику использования токенов. Это снижает воспринимаемую задержку для длинных ответов. Обработайте ошибки потока корректно. SDK предоставляют встроенные итераторы потока. Обрабатывайте каждый фрагмент, чтобы обновлять пользовательский интерфейс в реальном времени.

Лимиты, ошибки и контекст

Контекстное окно составляет 100,000 токенов. Вывод может занимать до конца окна. Лимит запросов — 300 запросов в минуту. Параллельные запросы ограничены 8 на ключ. Тело запроса должно быть менее 8 МБ. Распространённые ошибки: 401 (неверный ключ), 402 (недостаточно кредита), 429 (превышен лимит запросов). Ошибки не расходуют кредит. Отказы из-за незаконного контента бесплатны. Кредит не сгорает.

cURL

curl https://api.ollamansfw.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
  }'

Python

from openai import OpenAI

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

Характеристики API

Все реальные лимиты и возможности API в одном месте — сверьте их до пополнения.

ПараметрЗначение
Формат APIсовместим с OpenAI: любой OpenAI SDK работает — замените base URL и ключ
ЭндпоинтыPOST /v1/chat/completions · GET /v1/models
АвторизацияAuthorization: Bearer YOUR_KEY
ID моделиuncensored
Base URLhttps://api.ollamansfw.com/v1
Максимум ответадо остатка окна в 100 000 токенов; max_tokens необязателен (отдельного лимита нет)
Контекстное окно100 000 токенов (вход и ответ вместе)
Параметрыtemperature, top_p, stop, seed, presence_penalty, frequency_penalty
JSON-режимresponse_format: {"type": "json_object"}
Вызов функцийда — tools, tool_choice; ответ содержит tool_calls, в том числе в потоке; результат — сообщением role: tool
Потоковая передачада — server-sent events, последний фрагмент содержит расход токенов
Заголовки ответаX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Лимит запросов300 запросов в минуту на ключ
Размер запросадо 8 МБ
Параллельные запросыдо 8 одновременно на ключ
ПополнениеUSDT (TRC20) или USDC (Base), любая целая сумма от $20 до $500
Оплатапредоплаченный баланс по фактическому расходу; ошибки и отказы бесплатны
Бонус+5% от $50, +10% от $100, +15% от $200
Срок действияоплаченный баланс не сгорает, без подписки
Пробный баланс$0,50 на 7 дней, без карты · Пробный ключ: 2 параллельных запроса, 60 в минуту; полные лимиты (8 и 300) после первого пополнения
Цена$0,15 за 1 млн входных токенов · $0,50 за 1 млн выходных
ВходGoogle или e-mail и пароль
Контентконтент для взрослых разрешён; сексуальный контент с несовершеннолетними запрещён
Ключиодин активный ключ на аккаунт; новый заменяет старый

Коды ошибок

Ошибки приходят в JSON с постоянным type; неудачные и отклонённые запросы не оплачиваются.

КодТипЧто значит
400bad_requestневерный JSON, пустые сообщения, неверный параметр или превышено окно контекста
401missing_key · invalid_key · key_revokedнет ключа, ключ неверный или заменён новым
402no_creditбаланс пуст — пополните, работа продолжится сразу
403content_blockedсексуальный контент с несовершеннолетними — отказ, без оплаты
404not_foundнеизвестный эндпоинт
413request_too_largeтело запроса больше 8 МБ
429rate_limited · concurrencyбольше 300/мин или 8 параллельно — подождите и повторите
503upstream_busyмодель занята — повторите через несколько секунд

Вопросы и ответы

Это официальный API Ollama?

Нет, это независимый размещенный API. Мы предоставляем нашу собственную модель без цензуры через OpenAI-совместимый эндпоинт. Мы не связаны с Ollama, хотя используем схожие соглашения.

Как пополнить баланс?

Пополните баланс с помощью USDT (TRC20) или USDC (Base). Минимальная сумма — $20. Бонусы начисляются при крупных депозитах. Баланс списывается за реальное использование токенов. Ошибки и отказы бесплатны.

Каков размер контекстного окна?

Общий контекстный окно составляет 100,000 токенов для промпта и завершения вместе. Если max_tokens не задан, ответ может достигать конца окна.