ru ▾

Документация API конечной точки Ollama

Начните работу с API для нецензурируемых LLM за считанные секунды. В этом руководстве описаны базовый URL, аутентификация и интеграция SDK для ваших OpenAI-совместимых рабочих процессов API.

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

Используйте предоставленный базовый URL и API-ключ для каждого запроса. Конечная точка — https://api.ollamaendpoint.com/v1Авторизация header в виде Bearer-токена. Вы генерируете этот ключ сразу после входа через Google или email. Ключ уникален для каждого аккаунта и заменяет любой предыдущий активный ключ.

Первый запрос

Отправьте стандартный запрос chat completion для генерации текста. Идентификатор модели uncensored и принимает те же параметры, что и стандартные клиенты OpenAI. Это работает для задач NSFW LLM или генерации неограниченного контента.

  • Метод: POST
  • Конечная точка: /v1/chat/completions
  • Модель: uncensored
curl https://api.ollamaendpoint.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Get the local ip address of this machine"}]
  }'

Успешный ответ возвращает сгенерированный текст в массиве choices. Проверьте usage поле для просмотра количества токенов.

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

Установите официальную библиотеку OpenAI и настройте базовый URL. Это позволяет использовать uncensored модель ollama с знакомым кодом Python. Установите base_url и api_key перед инициализацией клиента. Код остается совместимым с существующими SDK OpenAI.

from openai import OpenAI

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

Вызовите chat.completions.create Метод, как и для GPT. Структура ответа соответствует стандартным ожиданиям. Вы можете использовать потоковую передачу или получать полные ответы.

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

Используйте пакет OpenAI для Node.js для взаимодействия с API. Настройте клиент с пользовательским базовым URL и вашим API-ключом. Этот подход работает для серверных приложений или edge-функций. Пакет автоматически обрабатывает сериализацию и повторные попытки.

import OpenAI from "openai";

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

Вызовите конечную точку completion с вашим промптом. Библиотека возвращает промис, который разрешается в объект ответа. Обрабатывайте ошибки в соответствии со стандартными кодами состояния HTTP.

Потоковые ответы с SSE

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

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-ключ поддерживает 300 запросов в минуту и 8 одновременных запросов. Максимальный размер тела запроса составляет 8 МБ. Контекстное окно составляет 100,000 токенов для промпта и завершения в сумме. Лимиты вывода составляют 16,000 токенов на запрос. Ошибки и отказы не расходуют кредит. Ошибка 401 означает, что ваш ключ недействителен. Ошибка 402 указывает на недостаточный предоплаченный кредит. Ошибка 429 означает превышение лимита скорости. Настройте параллелизм, чтобы оставаться в пределах лимитов.

FAQ

Каков базовый URL для конечного адреса ollama?

Базовый URL: HTTPS://api.ollamaendpoint.com/v1. Используйте его для всех вызовов API. Совместимо со стандартными клиентами OpenAI.

Как обрабатывать потоковые ответы?

Установите параметр stream в значение true. API возвращает Server-Sent Events. Обрабатывайте каждый чанк для формирования итогового текста. Последний чанк содержит данные об использовании.

Что произойдет, если я попаду под ограничение частоты запросов?

Вы получаете код состояния 429. Лимит составляет 300 запросов в минуту на ключ. Уменьшите параллелизм или подождите перед повторной попыткой. Одновременные запросы ограничены 8.

Получите API-ключ

Зарегистрируйтесь, возьмите ключ, укажите на новый базовый URL. Готово.

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