Ollama API: смените клиента за три строки
Начните использовать наш API чата без цензуры, совместимый с OpenAI, за считанные минуты. Смените конфигурацию клиента на одну модель с контекстным окном на 100k токенов и начните генерировать контент немедленно.
- Базовый URL
https://api.ollamaapi.com/v1- Модель
uncensored
Требования и базовый URL
Для использования этого API безцензурной LLM вам нужен аккаунт с API-ключом и установленный в вашей среде SDK, совместимый с OpenAI. Базовый URL для всех запросов: https://api.ollamaapi.com/v1. Этот эндпоинт — готовая замена для существующих клиентов OpenAI: вам нужно лишь обновить базовый URL и API-ключ в конфигурации. API поддерживает текстовые завершения «текст-вход, текст-выход» с потоковой передачей через Server-Sent Events (SSE) и вызовом функций. Встраивания, генерация изображений и дообучение не поддерживаются. Убедитесь, что версия вашего SDK поддерживает эти функции для наилучшего опыта. Для всех завершений используйте идентификатор модели uncensored.
Аутентификация и первый запрос
Аутентификация выполняется через токен Bearer в заголовке Authorization. Зарегистрируйтесь на сайте, чтобы получить ключ немедленно; для пробного периода карта не требуется. Отправьте первое сообщение с помощью следующей команды cURL. Замените YOUR_API_KEY на ваш реальный ключ. Запрос направлен к стандартному эндпоинту завершения чата. При успехе вы получите текстовый ответ от безцензурной модели. Убедитесь, что поле model установлено в uncensored для использования конкретной большой языковой модели, размещенной на наших GPU-серверах.
curl https://api.ollamaapi.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."}]
}'
Помните, что промпты не используются для обучения ваших данных. API устанавливает жесткий лимит на сексуальный контент с участием несовершеннолетних, но в остальном разрешает законные взрослые и спорные темы без отказа.
Интеграция Python SDK
Использование официального Python SDK от OpenAI — самый простой способ интеграции. Установите библиотеку через pip, затем инициализируйте клиент с пользовательским базовым URL и вашим API-ключом. Эта настройка позволяет использовать тот же код клиента, что и для GPT-4, но направляя его на нашу безцензурную модель. Код ниже демонстрирует простой запрос на завершение чата. Вы можете настроить параметры max_tokens и temperature по мере необходимости. Объект ответа будет содержать сгенерированный текст в response.choices[0].message.content.
from openai import OpenAI
client = OpenAI(base_url="https://api.ollamaapi.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)
Этот подход работает, потому что наш API полностью совместим с OpenAI. Вам не нужна отдельная библиотека клиента специально для нашего сервиса.
Настройка Node.js SDK
Для проектов на JavaScript или TypeScript Node SDK от OpenAI работает безупречно с нашим эндпоинтом. Установите пакет и настройте клиент, указав в baseURL наш домен. Передайте ваш API-ключ в поле apiKey. Структура запроса в точности соответствует формату OpenAI. Это позволяет подключить наш API к существующим приложениям Node.js без значительной переделки кода. Идентификатор модели остается uncensored. Вы можете управлять своим API-ключом через панель управления, если нужно его перегенерировать.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.ollamaapi.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);
Убедитесь, что переменные среды установлены правильно, чтобы избежать раскрытия вашего ключа в системе контроля версий. API-ключ отображается сразу после регистрации.
Потоковые ответы
Для приложений, требующих генерации токенов в реальном времени, API поддерживает Server-Sent Events (SSE). Установите параметр stream в значение true в вашем запросе. Сервер будет отправлять серию фрагментов, каждый из которых содержит частичную дельту ответа. Это идеально подходит для интерфейсов чата, где вы хотите отображать текст по мере его генерации. Поведение потоковой передачи идентично API потоковой передачи OpenAI, поэтому существующая логика потоковой передачи должна работать с минимальными изменениями. Обрабатывайте поток до тех пор, пока последний фрагмент не укажет на завершение ответа.
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 имеет контекстное окно на 100 000 токенов, объединяющее промпт и ответ. Это позволяет обрабатывать обширные документы или длинные разговоры. Лимиты запросов установлены на уровне 300 запросов в минуту на ключ. При превышении вы получите ошибку 429. Ошибки аутентификации возвращают статус 401, обычно из-за недействительного или отозванного ключа. Недостаток средств приводит к ошибке 402. Тела запросов ограничены 8 МБ. Подписки нет; вы платите по факту использования с предоплаченным балансом, который не сгорает. Вы можете пополнить баланс начиная с $20. Кредиты не сгорают, поэтому вы можете приостановить использование на неопределенный срок без потери баланса.
Вопросы и ответы
Поддерживает ли этот API генерацию изображений или аудио?
Нет, этот API предназначен исключительно для текстовых завершений. Он не поддерживает встраивания, генерацию изображений, аудио или видео. Он фокусируется на одной безцензурной большой языковой модели для взаимодействия текст-в-текст.
Как работает ценообразование?
Ценообразование — оплата по факту использования с предоплаченным балансом, который не сгорает. Входные токены стоят $0,15 за миллион, выходные токены — $0,50 за миллион. Вы можете пополнить баланс криптовалютой (USDT или USDC), а также получить бонусные кредиты при крупных депозитах.
Используется ли мои данные для обучения?
Нет, промпты, отправленные в API, не используются для обучения. Сервис разработан с учетом конфиденциальности, для создания аккаунта требуется только электронная почта и пароль.
Ваш ключ — в одной форме от вас
Создайте аккаунт, скопируйте ключ, измените базовый URL. Вот и вся настройка.
Технические характеристики
Все реальные лимиты и возможности API в одном месте — сверьте их до пополнения.
| Параметр | Значение |
|---|---|
| Формат API | совместим с OpenAI: любой OpenAI SDK работает — замените base URL и ключ |
| Авторизация | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.ollamaapi.com/v1 |
| Эндпоинты | POST /v1/chat/completions · GET /v1/models |
| ID модели | uncensored |
| Параметры | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Контекстное окно | 100 000 токенов (вход и ответ вместе) |
| Потоковая передача | да — server-sent events, последний фрагмент содержит расход токенов |
| Максимум ответа | до остатка окна в 100 000 токенов; max_tokens необязателен (отдельного лимита нет) |
| JSON-режим | response_format: {"type": "json_object"} |
| Вызов функций | да — tools, tool_choice; ответ содержит tool_calls, в том числе в потоке; результат — сообщением role: tool |
| Лимит запросов | 300 запросов в минуту на ключ |
| Размер запроса | до 8 МБ |
| Заголовки ответа | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Параллельные запросы | до 8 одновременно на ключ |
| Пробный баланс | $0,50 на 7 дней, без карты · Пробный ключ: 2 параллельных запроса, 60 в минуту; полные лимиты (8 и 300) после первого пополнения |
| Бонус | +5% от $50, +10% от $100, +15% от $200 |
| Цена | $0,15 за 1 млн входных токенов · $0,50 за 1 млн выходных |
| Оплата | предоплаченный баланс по фактическому расходу; ошибки и отказы бесплатны |
| Срок действия | оплаченный баланс не сгорает, без подписки |
| Пополнение | USDT (TRC20) или USDC (Base), любая целая сумма от $20 до $500 |
| Контент | контент для взрослых разрешён; сексуальный контент с несовершеннолетними запрещён |
| Ключи | один активный ключ на аккаунт; новый заменяет старый |
| Вход | Google или e-mail и пароль |
Коды ошибок
Ошибки приходят в JSON с постоянным type; неудачные и отклонённые запросы не оплачиваются.
| Код | Тип | Что значит |
|---|---|---|
400 | bad_request | неверный JSON, пустые сообщения, неверный параметр или превышено окно контекста |
401 | missing_key · invalid_key · key_revoked | нет ключа, ключ неверный или заменён новым |
402 | no_credit | баланс пуст — пополните, работа продолжится сразу |
403 | content_blocked | сексуальный контент с несовершеннолетними — отказ, без оплаты |
404 | not_found | неизвестный эндпоинт |
413 | request_too_large | тело запроса больше 8 МБ |
429 | rate_limited · concurrency | больше 300/мин или 8 параллельно — подождите и повторите |
503 | upstream_busy | модель занята — повторите через несколько секунд |