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 (experimental)

Примітка: Цей ендпоінт є експериментальним і може бути змінено або видалено в майбутніх версіях.

Генеруйте зображення за допомогою моделей для генерації зображень.

Підтримувані поля запиту

  • [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!"
            }
        ]
    }'

Налаштування розміру контексту

OpenAI API не має можливості налаштувати розмір контексту для моделі. Якщо вам потрібно змінити розмір контексту, створіть файл 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!"
            }
        ]
    }'