Что такое Ollama API?

Ollama - это инструмент с открытым исходным кодом для запуска больших языковых моделей (LLM) локально на вашем компьютере. Он предоставляет REST API, принимающий HTTP-запросы, что позволяет взаимодействовать с такими моделями, как Llama 3, Mistral, Gemma и многими другими, непосредственно из терминала или кода приложения. API использует простой формат запросов/ответов на основе JSON и поддерживает генерацию текста, многоходовые диалоги и текстовые эмбеддинги.

cURL - наиболее распространённый способ тестирования и взаимодействия с Ollama API. Однако составление корректной cURL-команды со всеми необходимыми параметрами, заголовками и правильным форматированием JSON-тела может быть утомительным и чреватым ошибками, особенно при настройке параметров модели, таких как temperature и top-k sampling.

Описание инструмента

Этот инструмент генерирует готовые к использованию cURL-команды для endpoint'ов Ollama API. Выберите endpoint, настройте модель и параметры - и мгновенно получите корректно отформатированную cURL-команду. Сгенерированная команда включает все необходимые заголовки, структуру JSON-тела и параметры модели - готова к вставке в терминал.

Примеры

Базовая генерация текста:

curl -X POST "http://localhost:11434/api/generate" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "prompt": "Explain quantum computing in simple terms",
  "stream": true
}'

Чат с системным промптом и пользовательской температурой:

curl -X POST "http://localhost:11434/api/chat" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "messages": [
    { "role": "system", "content": "You are a helpful coding assistant." },
    { "role": "user", "content": "Write a Python function to reverse a string" }
  ],
  "stream": false,
  "options": {
    "temperature": 0.3
  }
}'

Генерация эмбеддингов:

curl -X POST "http://localhost:11434/api/embeddings" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "prompt": "The quick brown fox jumps over the lazy dog",
  "stream": false
}'

Возможности

  • Поддержка всех трёх основных endpoint'ов Ollama: /api/generate, /api/chat и /api/embeddings
  • Настраиваемые параметры модели: temperature, top-p, top-k, максимальное количество токенов, штраф за повторения и seed
  • Поддержка системного промпта для endpoint'ов generate и chat

Описание параметров

Параметр Описание По умолчанию Диапазон
Temperature Управляет случайностью вывода. Низкие значения дают более сфокусированный текст, высокие - повышают креативность. 0.7 0-2
Top P Порог nucleus sampling. Модель рассматривает токены, суммарная вероятность которых достигает этого значения. 0.9 0-1
Top K Ограничивает выбор токенов K наиболее вероятными кандидатами на каждом шаге. 40 1-100
Макс. токенов Максимальное количество токенов для генерации в ответе. Установите -1 для неограниченного вывода. 128 -1-4096
Штраф за повторения Штрафует повторяющиеся токены. Значения выше 1.0 снижают повторяемость. 1.1 0-2
Seed Фиксированный seed для воспроизводимого вывода. Оставьте пустым для случайных результатов. - Любое целое число
Формат ответа Установите JSON, чтобы модель возвращала корректный JSON-вывод. Нет Нет / JSON
Stream При включении ответ передаётся потоково, токен за токеном. Отключите, чтобы получить полный ответ сразу. Вкл. Вкл. / Выкл.