Skip to content

Ollama обеспечивает совместимость с отдельными частями OpenAI API, чтобы помочь в подключении существующих приложений к Ollama.

Использование

Простой пример использования /v1/chat/completions

Простой пример использования /v1/responses

Пример использования /v1/chat/completions с поддержкой зрения

Эндпоинты

/v1/chat/completions

Поддерживаемые возможности

  • [x] Завершения чата
  • [x] Потоковая передача
  • [x] Режим JSON
  • [x] Воспроизводимые результаты
  • [x] Зрение
  • [x] Инструменты
  • [x] Управление рассуждениями/мышлением (для моделей с поддержкой мышления)
  • [ ] Logprobs

Поддерживаемые поля запроса

  • [x] model
  • [x] messages
    • [x] Текстовое content
    • [x] Изображение в content
      • [x] Изображение в кодировке Base64
      • [ ] URL изображения
    • [x] Массив частей content
  • [x] frequency_penalty
  • [x] presence_penalty
  • [x] response_format
  • [x] seed
  • [x] stop
  • [x] stream
  • [x] stream_options
    • [x] include_usage
  • [x] temperature
  • [x] top_p
  • [x] max_tokens
  • [x] tools
  • [x] reasoning_effort ("high", "medium", "low", "max", "none")
  • [x] reasoning
    • [x] effort ("high", "medium", "low", "max", "none")
  • [ ] tool_choice
  • [ ] logit_bias
  • [ ] user
  • [ ] n

/v1/completions

Поддерживаемые возможности

  • [x] Завершения
  • [x] Потоковая передача
  • [x] Режим JSON
  • [x] Воспроизводимые результаты
  • [ ] Logprobs

Поддерживаемые поля запроса

  • [x] model
  • [x] prompt
  • [x] frequency_penalty
  • [x] presence_penalty
  • [x] seed
  • [x] stop
  • [x] stream
  • [x] stream_options
    • [x] include_usage
  • [x] temperature
  • [x] top_p
  • [x] max_tokens
  • [x] suffix
  • [ ] best_of
  • [ ] echo
  • [ ] logit_bias
  • [ ] user
  • [ ] n

Примечания

  • В настоящее время поле prompt принимает только строковое значение

/v1/models

Примечания

  • Поле created соответствует времени последнего изменения модели
  • Поле owned_by соответствует имени пользователя ollama, по умолчанию имеет значение "library"

/v1/models/{model}

Примечания

  • Поле created соответствует времени последнего изменения модели
  • Поле owned_by соответствует имени пользователя ollama, по умолчанию имеет значение "library"

/v1/embeddings

Поддерживаемые поля запроса

  • [x] model
  • [x] input
    • [x] строка
    • [x] массив строк
    • [ ] массив токенов
    • [ ] массив массивов токенов
  • [x] encoding format
  • [x] dimensions
  • [ ] user

/v1/images/generations (экспериментальный)

Примечание: Этот эндпоинт является экспериментальным и может быть изменён или удалён в будущих версиях.

Генерация изображений с использованием моделей для создания изображений.

Поддерживаемые поля запроса

  • [x] model
  • [x] prompt
  • [x] size (например, "1024x1024")
  • [x] response_format (поддерживается только b64_json)
  • [ ] n
  • [ ] quality
  • [ ] style
  • [ ] user

/v1/responses

Примечание: Добавлено в Ollama v0.13.3

Ollama поддерживает OpenAI Responses API. Поддерживается только несохраняющий состояние вариант (т.е. отсутствует поддержка previous_response_id или conversation).

Поддерживаемые возможности

  • [x] Потоковая передача
  • [x] Инструменты (вызов функций)
  • [x] Резюме рассуждений (для моделей с поддержкой мышления)
  • [ ] Запросы с сохранением состояния

Поддерживаемые поля запроса

  • [x] model
  • [x] input
  • [x] instructions
  • [x] tools
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] max_output_tokens
  • [ ] previous_response_id (v1/responses с сохранением состояния не поддерживаются)
  • [ ] conversation (v1/responses с сохранением состояния не поддерживаются)
  • [ ] truncation

Модели

Перед использованием модели скачайте её локально с помощью команды ollama pull:

shell
ollama pull llama3.2

Имена моделей по умолчанию

Для инструментов, которые используют стандартные имена моделей OpenAI, такие как gpt-3.5-turbo, используйте команду ollama cp, чтобы скопировать существующее имя модели во временное имя:

shell
ollama cp llama3.2 gpt-3.5-turbo

После этого новое имя модели можно указать в поле model:

shell
curl http://localhost:11434/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "gpt-3.5-turbo",
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'

Установка размера контекста

В API OpenAI отсутствует возможность установки размера контекста для модели. Если вам нужно изменить размер контекста, создайте файл Modelfile следующего содержания:

FROM <some model>
PARAMETER num_ctx <context size>

Используйте команду ollama create mymodel, чтобы создать новую модель с обновлённым размером контекста. Вызовите API, указав обновлённое имя модели:

shell
curl http://localhost:11434/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "mymodel",
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'