Czym jest Ollama API?

Ollama to narzędzie open-source do uruchamiania dużych modeli językowych (LLM) lokalnie na Twoim komputerze. Udostępnia REST API przyjmujące żądania HTTP, umożliwiając interakcję z modelami takimi jak Llama 3, Mistral, Gemma i wieloma innymi bezpośrednio z terminala lub kodu aplikacji. API opiera się na prostym wzorcu żądanie/odpowiedź opartym na JSON i obsługuje generowanie tekstu, wieloetapowe rozmowy czatowe oraz osadzanie tekstu (embeddings).

cURL jest najpopularniejszym sposobem testowania i interakcji z Ollama API. Jednak ręczne konstruowanie poprawnego polecenia cURL ze wszystkimi właściwymi parametrami, nagłówkami i formatowaniem treści JSON może być żmudne i podatne na błędy — szczególnie podczas dostrajania opcji modelu, takich jak temperatura czy próbkowanie top-k.

Opis narzędzia

To narzędzie generuje gotowe do użycia polecenia cURL dla endpointów Ollama API. Wybierz endpoint, skonfiguruj model i parametry, a natychmiast otrzymasz poprawnie sformatowane polecenie cURL. Wygenerowane polecenie zawiera wszystkie niezbędne nagłówki, strukturę treści JSON oraz opcje modelu — gotowe do wklejenia w terminalu.

Przykłady

Podstawowe generowanie tekstu:

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
}'

Czat z promptem systemowym i niestandardową temperaturą:

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
  }
}'

Generowanie embeddingów:

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
}'

Funkcje

  • Obsługuje wszystkie trzy główne endpointy Ollama: /api/generate, /api/chat oraz /api/embeddings
  • Konfigurowalne opcje modelu: temperatura, top-p, top-k, maksymalna liczba tokenów, kara za powtórzenia oraz seed
  • Obsługa promptu systemowego dla endpointów generate i chat
  • Opcja formatu odpowiedzi JSON dla ustrukturyzowanych wyników
  • Pobieranie wygenerowanego polecenia jako plik .sh

Opis opcji

Opcja Opis Domyślnie Zakres
Temperatura Kontroluje losowość wyników. Niższe wartości generują bardziej skupiony tekst, wyższe zwiększają kreatywność. 0.7 0–2
Top P Próg próbkowania jądrowego. Model uwzględnia tokeny, których skumulowane prawdopodobieństwo osiąga tę wartość. 0.9 0–1
Top K Ogranicza wybór tokenów do K najbardziej prawdopodobnych kandydatów na każdym kroku. 40 1–100
Maks. tokenów Maksymalna liczba tokenów do wygenerowania w odpowiedzi. Ustaw -1, aby nie ograniczać. 128 -1–4096
Kara za powtórzenia Penalizuje powtarzające się tokeny. Wartości powyżej 1.0 zniechęcają do powtórzeń. 1.1 0–2
Seed Stały seed dla powtarzalnych wyników. Pozostaw puste, aby uzyskać losowe rezultaty. Dowolna liczba całkowita
Format odpowiedzi Ustaw JSON, aby wymusić na modelu zwracanie poprawnego wyniku w formacie JSON. Brak Brak / JSON
Stream Gdy włączony, odpowiedź jest przesyłana strumieniowo token po tokenie. Wyłącz, aby otrzymać pełną odpowiedź od razu. Wł. Wł. / Wył.

Przypadki użycia

  • Szybkie prototypowanie i testowanie wywołań Ollama API z terminala bez ręcznego pisania JSON
  • Generowanie poleceń cURL do udostępniania współpracownikom lub umieszczania w dokumentacji
  • Eksperymentowanie z różnymi parametrami modelu w celu znalezienia optymalnych ustawień dla Twojego przypadku użycia