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

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ł.