~/tools / Ein lokales LLM auf dem eigenen Server / Ollama API Request Builder

Ollama API Request Builder — Eine curl-Anfrage an /api/chat von Ollama erstellen: format, tools, think, options

Erstellen Sie über ein Formular eine Anfrage an den Endpunkt /api/chat von Ollama: das Modell, eine System- und eine Benutzernachricht, strukturierte Ausgabe mit format und einem JSON Schema, Tool-Definitionen, Thinking, Streaming, Optionen wie temperature und num_ctx, Stoppsequenzen und keep_alive. Sie erhalten einen sofort ausführbaren curl-Befehl und den JSON-Body. Jedes Feld stammt aus der offiziellen Ollama-API-Referenz. Nichts verlässt Ihren Browser.

Optionen, Stoppsequenzen und keep_alive

Leere Felder werden nicht gesendet, sodass die Einstellungen des Modells gelten.

curl-Befehl

Führen Sie ihn in einem Terminal auf einem Rechner aus, der Ollama erreichen kann.

curl http://localhost:11434/api/chat -d '{
  "model": "qwen3:4b",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about Canada."
    }
  ],
  "format": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string"
      },
      "capital": {
        "type": "string"
      },
      "languages": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "required": [
      "name",
      "capital",
      "languages"
    ]
  },
  "options": {
    "temperature": 0
  },
  "stream": false
}'

JSON-Body

{
  "model": "qwen3:4b",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about Canada."
    }
  ],
  "format": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string"
      },
      "capital": {
        "type": "string"
      },
      "languages": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "required": [
      "name",
      "capital",
      "languages"
    ]
  },
  "options": {
    "temperature": 0
  },
  "stream": false
}

Felder wie in der Ollama-API-Referenz für /api/chat angegeben, geprüft am 2026-11-03. Ollama API: Generate a chat message

Alles geschieht in Ihrem Browser. Das Tool schreibt nur den Befehl und sendet nichts.

Der Endpunkt /api/chat von Ollama nimmt einen JSON-Body mit einem Modell und einer Liste von messages entgegen, dazu optionale Felder: tools für Function Calling, format für eine JSON-Antwort oder eine Antwort nach einem JSON Schema, options für Einstellungen wie temperature und num_ctx, stream, think und keep_alive. Diesen Body von Hand im Terminal zu schreiben ist fehleranfällig: Ein fehlendes Komma macht ihn kaputt, ein Apostroph in einer Nachricht beendet die Shell-Anführungszeichen, und eine als Text eingegebene Zahl wird möglicherweise nicht als Zahl gelesen. Dieses Tool baut den Body aus einem Formular und verpackt ihn in einen curl-Befehl in der Form der Beispiele aus der Ollama-Dokumentation, wobei Apostrophe für die Shell maskiert werden. Es prüft, ob das JSON Schema und die Tool-Liste gültiges JSON sind, ob jedes Tool die von der API-Referenz verlangten Angaben type, name und parameters enthält und ob options Zahlen der richtigen Art sind. Wir haben die erzeugten Befehle mit Ollama 0.40.11 und qwen2.5:7b ausgeführt: Eine Anfrage mit JSON Schema lieferte eine Antwort in dieser Form, eine Anfrage mit einem Tool lieferte einen Tool-Aufruf, und Streaming, JSON-Modus, Stoppsequenzen und keep_alive funktionierten ohne Fehler.

Die Kernlogik dieses Tools ist Open Source unter der MIT-Lizenz. github.com/seigo5555/toolkitbox-lib/src/ollama-api-request.ts

Anwendungsfälle

  • Strukturierte Ausgabe auf Ihrem eigenen Server ausprobieren, bevor Sie Code schreiben: ein JSON Schema einfügen und sehen, was das Modell zurückgibt
  • Prüfen, ob ein Modell Ihre Funktion aufruft, mit der Tool-Definition, die Sie in Ihrer Anwendung verwenden wollen
  • Ollama hinter einem nginx-Proxy mit Passwort aufrufen, mit der richtigen URL und curl -u

Verwendung

  1. Geben Sie die Adresse Ihres Ollama-Servers ein (http://localhost:11434, wenn Sie das Feld leer lassen) und den Modellnamen, schreiben Sie dann die Benutzernachricht und, wenn Sie möchten, eine Systemnachricht.
  2. Wählen Sie ein Ausgabeformat, fügen Sie Tool-Definitionen als JSON-Array hinzu und legen Sie Thinking und Streaming fest. Öffnen Sie Optionen, um temperature, num_ctx, einen Seed, Stoppsequenzen oder keep_alive zu setzen. Leere Felder werden weggelassen.
  3. Kopieren Sie den curl-Befehl und führen Sie ihn in einem Terminal auf einem Rechner aus, der Ollama erreichen kann. Der JSON-Body wird separat angezeigt, falls Sie ihn aus Ihrem eigenen Code senden möchten.

FAQ

Was bewirkt stream?

Die API-Referenz gibt stream den Standardwert true. Eine gestreamte Antwort kommt als zeilengetrenntes JSON an, Stück für Stück. Ist stream auf false gesetzt, kommt die Antwort laut Dokumentation als einzelnes JSON-Objekt zurück, was die Streaming-Seite als einfacher zu verarbeiten und besser für kurze Antworten oder strukturierte Ausgaben bezeichnet. Das Tool schreibt "stream": false nur, wenn Sie das Streaming ausschalten.

Welche Werte kann think annehmen?

Die API-Referenz sagt: true fordert Thinking an, false fordert keine Thinking-Ausgabe an, und ein String wählt eine vom Modell definierte Stufe; Zahlen werden nicht unterstützt. Die Dokumentation empfiehlt, mit /api/show herauszufinden, welche Werte ein Modell unterstützt, und das Tool zeigt diesen Befehl, wenn Sie think setzen. In unserem Test funktionierte think false mit qwen2.5:7b, und think true wurde mit "qwen2.5:7b" does not support thinking abgelehnt.

Was ist der Unterschied zwischen json und einem JSON Schema in format?

Laut API-Referenz kann format json oder ein JSON Schema sein. json verlangt irgendein gültiges JSON. Ein Schema beschreibt die genaue Form, etwa die Namen der Eigenschaften und welche davon erforderlich sind, und in unserem Test folgte die Antwort ihm. Das Tool sendet das Schema als Objekt, nicht als String.

Wie sollte eine Tool-Definition aussehen?

Die API-Referenz verlangt type, das immer function ist, und ein function-Objekt mit name und parameters, wobei parameters ein JSON Schema für die Argumente ist; description ist optional. Das Tool prüft diese Felder. Wenn das Modell beschließt, die Funktion aufzurufen, enthält die Antwort message.tool_calls statt Text.

Wie rufe ich ein Ollama hinter einem Passwort auf?

Geben Sie die Adresse des Proxys ein, zum Beispiel https://ollama.example.com, und den Benutzernamen. Das Tool fügt dem curl-Befehl -u mit diesem Namen hinzu, und curl fragt dann nach dem Passwort, sodass das Passwort nie Teil des Befehls ist. Der Ollama nginx Config Generator auf dieser Website erstellt einen solchen Proxy.

Wird etwas an einen Server gesendet?

Nein. Das Tool schreibt nur den Befehl. Es wird nichts gesendet, bis Sie ihn selbst ausführen.

Passende Artikel

Ähnliche Tools