Was ist die Ollama API?

Ollama ist ein Open-Source-Tool zum lokalen Ausführen großer Sprachmodelle (LLMs) auf Ihrem Rechner. Es stellt eine REST API bereit, die HTTP-Anfragen entgegennimmt und es Ihnen ermöglicht, direkt aus Ihrem Terminal oder Anwendungscode mit Modellen wie Llama 3, Mistral, Gemma und vielen anderen zu interagieren. Die API folgt einem einfachen JSON-basierten Anfrage-/Antwortmuster und unterstützt Textgenerierung, mehrstufige Chat-Konversationen sowie Text-Embeddings.

cURL ist die gängigste Methode zum Testen und Interagieren mit der Ollama API. Das Erstellen des korrekten cURL-Befehls mit allen erforderlichen Parametern, Headern und der richtigen JSON-Body-Formatierung kann jedoch mühsam und fehleranfällig sein – insbesondere beim Anpassen von Modelloptionen wie Temperatur und Top-K-Sampling.

Tool-Beschreibung

Dieses Tool generiert sofort einsatzbereite cURL-Befehle für Ollama API-Endpunkte. Wählen Sie einen Endpunkt aus, konfigurieren Sie Ihr Modell und die Parameter, und erhalten Sie sofort einen korrekt formatierten cURL-Befehl. Der generierte Befehl enthält alle notwendigen Header, die JSON-Body-Struktur und Modelloptionen – bereit zum Einfügen in Ihr Terminal.

Beispiele

Einfache Textgenerierung:

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

Chat mit System-Prompt und benutzerdefinierter 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
  }
}'

Embeddings generieren:

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

Funktionen

  • Unterstützt alle drei Haupt-Ollama-Endpunkte: /api/generate, /api/chat und /api/embeddings
  • Konfigurierbare Modelloptionen: Temperatur, Top-P, Top-K, maximale Token-Anzahl, Wiederholungsstrafe und Seed
  • System-Prompt-Unterstützung für Generate- und Chat-Endpunkte
  • JSON-Antwortformat-Option für strukturierte Ausgabe
  • Generierten Befehl als .sh-Datei herunterladen

Optionen erklärt

Option Beschreibung Standard Bereich
Temperatur Steuert die Zufälligkeit der Ausgabe. Niedrigere Werte erzeugen fokussiertere Texte, höhere Werte steigern die Kreativität. 0,7 0–2
Top P Schwellenwert für Nucleus-Sampling. Das Modell berücksichtigt tokens, deren kumulierte Wahrscheinlichkeit diesen Wert erreicht. 0,9 0–1
Top K Begrenzt die token-Auswahl auf die K wahrscheinlichsten Kandidaten bei jedem Schritt. 40 1–100
Maximale Token-Anzahl Maximale Anzahl der zu generierenden tokens in der Antwort. Auf -1 setzen für unbegrenzte Ausgabe. 128 -1–4096
Wiederholungsstrafe Bestraft wiederholte tokens. Werte über 1,0 verringern Wiederholungen. 1,1 0–2
Seed Fester Seed für reproduzierbare Ausgaben. Leer lassen für zufällige Ergebnisse. Beliebige ganze Zahl
Antwortformat Auf JSON setzen, um das Modell zur Rückgabe einer gültigen JSON-Ausgabe zu zwingen. Keines Keines / JSON
Stream Wenn aktiviert, wird die Antwort token für token gestreamt. Deaktivieren, um die vollständige Antwort auf einmal zu erhalten. An An / Aus

Anwendungsfälle

  • Schnelles Prototyping und Testen von Ollama API-Aufrufen aus dem Terminal, ohne JSON manuell schreiben zu müssen
  • Generieren von cURL-Befehlen zum Teilen mit Teammitgliedern oder zur Aufnahme in die Dokumentation
  • Experimentieren mit verschiedenen Modellparametern, um optimale Einstellungen für Ihren Anwendungsfall zu finden