Skip to content

Ollama oferuje kompatybilność z częściami API OpenAI, aby ułatwić podłączanie istniejących aplikacji do Ollamy.

Użycie

Prosty przykład użycia /v1/chat/completions

Prosty przykład użycia /v1/responses

Przykład użycia /v1/chat/completions z obsługą wizji

Punkty końcowe

/v1/chat/completions

Obsługiwane funkcje

  • [x] Uzupełnienia czatu
  • [x] Strumieniowanie
  • [x] Tryb JSON
  • [x] Powtarzalne wyniki
  • [x] Wizja
  • [x] Narzędzia
  • [x] Kontrola rozumowania/myślenia (dla modeli myślenia)
  • [ ] Logprobs

Obsługiwane pola żądania

  • [x] model
  • [x] messages
    • [x] Tekstowe content
    • [x] Zawartość obrazu content
      • [x] Obraz zakodowany w Base64
      • [ ] URL obrazu
    • [x] Tablica części 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

Obsługiwane funkcje

  • [x] Uzupełnienia
  • [x] Strumieniowanie
  • [x] Tryb JSON
  • [x] Powtarzalne wyniki
  • [ ] Logprobs

Obsługiwane pola żądania

  • [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

Uwagi

  • Pole prompt obecnie akceptuje tylko ciąg znaków

/v1/models

Uwagi

  • Pole created odpowiada momentowi ostatniej modyfikacji modelu
  • Pole owned_by odpowiada nazwie użytkownika ollama, domyślnie ustawionej na "library"

/v1/models/{model}

Uwagi

  • Pole created odpowiada momentowi ostatniej modyfikacji modelu
  • Pole owned_by odpowiada nazwie użytkownika ollama, domyślnie ustawionej na "library"

/v1/embeddings

Obsługiwane pola żądania

  • [x] model
  • [x] input
    • [x] ciąg znaków
    • [x] tablica ciągów znaków
    • [ ] tablica tokenów
    • [ ] tablica tablic tokenów
  • [x] encoding format
  • [x] dimensions
  • [ ] user

/v1/images/generations (eksperymentalny)

Uwaga: Ten punkt końcowy jest eksperymentalny i może ulec zmianie lub usunięciu w przyszłych wersjach.

Generuj obrazy za pomocą modeli generowania obrazów.

Obsługiwane pola żądania

  • [x] model
  • [x] prompt
  • [x] size (np. "1024x1024")
  • [x] response_format (obsługiwany jest tylko b64_json)
  • [ ] n
  • [ ] quality
  • [ ] style
  • [ ] user

/v1/responses

Uwaga: Dodano w Ollama v0.13.3

Ollama obsługuje OpenAI Responses API. Obsługiwana jest tylko wersja bezstanowa (czyli pola previous_response_id i conversation nie są obsługiwane).

Obsługiwane funkcje

  • [x] Strumieniowanie
  • [x] Narzędzia (wywoływanie funkcji)
  • [x] Podsumowania rozumowania (dla modeli myślenia)
  • [ ] Żądania stanowe

Obsługiwane pola żądania

  • [x] model
  • [x] input
  • [x] instructions
  • [x] tools
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] max_output_tokens
  • [ ] previous_response_id (wersja stanowa v1/responses nie jest obsługiwana)
  • [ ] conversation (wersja stanowa v1/responses nie jest obsługiwana)
  • [ ] truncation

Modele

Przed użyciem modelu pobierz go lokalnie za pomocą polecenia ollama pull:

shell
ollama pull llama3.2

Domyślne nazwy modeli

Dla narzędzi, które polegają na domyślnych nazwach modeli OpenAI, takich jak gpt-3.5-turbo, użyj polecenia ollama cp, aby skopiować istniejącą nazwę modelu do tymczasowej nazwy:

shell
ollama cp llama3.2 gpt-3.5-turbo

Następnie tę nową nazwę modelu można określić w polu 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!"
            }
        ]
    }'

Ustawianie rozmiaru kontekstu

API OpenAI nie ma możliwości ustawienia rozmiaru kontekstu dla modelu. Jeśli potrzebujesz zmienić rozmiar kontekstu, utwórz plik Modelfile o następującej zawartości:

FROM <some model>
PARAMETER num_ctx <context size>

Użyj polecenia ollama create mymodel, aby utworzyć nowy model z zaktualizowanym rozmiarem kontekstu. Wywołaj API z zaktualizowaną nazwą modelu:

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