Что такое 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
  • Опция формата ответа JSON для структурированного вывода
  • Скачивание сгенерированной команды в виде файла .sh

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

Параметр Описание По умолчанию Диапазон
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 При включении ответ передаётся потоково, токен за токеном. Отключите, чтобы получить полный ответ сразу. Вкл. Вкл. / Выкл.

Сценарии использования

  • Быстрое прототипирование и тестирование вызовов Ollama API из терминала без ручного написания JSON
  • Генерация cURL-команд для передачи коллегам или включения в документацию
  • Эксперименты с различными параметрами модели для поиска оптимальных настроек под конкретную задачу