Skip to content

Ollama bietet Kompatibilität zu Teilen der OpenAI API, um bestehende Anwendungen an Ollama anzubinden.

Verwendung

Einfaches Beispiel für /v1/chat/completions

Einfaches Beispiel für /v1/responses

Beispiel für /v1/chat/completions mit Vision-Funktion

Endpunkte

/v1/chat/completions

Unterstützte Funktionen

  • [x] Chat-Vervollständigungen
  • [x] Streaming
  • [x] JSON-Modus
  • [x] Reproduzierbare Ausgaben
  • [x] Vision
  • [x] Werkzeuge
  • [x] Steuerung von Reasoning/Denken (für Denk-Modelle)
  • [ ] Logprobs

Unterstützte Anfragefelder

  • [x] model
  • [x] messages
    • [x] Text content
    • [x] Bild content
      • [x] Base64-kodiertes Bild
      • [ ] Bild-URL
    • [x] Array von content-Teilen
  • [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

Unterstützte Funktionen

  • [x] Vervollständigungen
  • [x] Streaming
  • [x] JSON-Modus
  • [x] Reproduzierbare Ausgaben
  • [ ] Logprobs

Unterstützte Anfragefelder

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

Hinweise

  • prompt akzeptiert derzeit nur einen String

/v1/models

Hinweise

  • created entspricht dem Zeitpunkt der letzten Änderung des Modells
  • owned_by entspricht dem Ollama-Benutzernamen, standardmäßig "library"

/v1/models/{model}

Hinweise

  • created entspricht dem Zeitpunkt der letzten Änderung des Modells
  • owned_by entspricht dem Ollama-Benutzernamen, standardmäßig "library"

/v1/embeddings

Unterstützte Anfragefelder

  • [x] model
  • [x] input
    • [x] String
    • [x] Array von Strings
    • [ ] Array von Tokens
    • [ ] Array von Token-Arrays
  • [x] encoding format
  • [x] dimensions
  • [ ] user

/v1/images/generations (experimentell)

Hinweis: Dieser Endpunkt ist experimentell und kann in zukünftigen Versionen geändert oder entfernt werden.

Generieren Sie Bilder mit Bildgenerierungsmodellen.

Unterstützte Anfragefelder

  • [x] model
  • [x] prompt
  • [x] size (z. B. "1024x1024")
  • [x] response_format (nur b64_json wird unterstützt)
  • [ ] n
  • [ ] quality
  • [ ] style
  • [ ] user

/v1/responses

Hinweis: Hinzugefügt in Ollama v0.13.3

Ollama unterstützt die OpenAI Responses API. Nur die nicht zustandsbehaftete Variante wird unterstützt (es gibt also keine Unterstützung für previous_response_id oder conversation).

Unterstützte Funktionen

  • [x] Streaming
  • [x] Werkzeuge (Funktionsaufrufe)
  • [x] Reasoning-Zusammenfassungen (für Denk-Modelle)
  • [ ] Zustandsbehaftete Anfragen

Unterstützte Anfragefelder

  • [x] model
  • [x] input
  • [x] instructions
  • [x] tools
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] max_output_tokens
  • [ ] previous_response_id (zustandsbehaftete v1/responses nicht unterstützt)
  • [ ] conversation (zustandsbehaftete v1/responses nicht unterstützt)
  • [ ] truncation

Modelle

Bevor Sie ein Modell verwenden, ziehen Sie es lokal mit ollama pull:

shell
ollama pull llama3.2

Standardmodellnamen

Für Tools, die auf Standardmodellnamen von OpenAI wie gpt-3.5-turbo angewiesen sind, verwenden Sie ollama cp, um einen vorhandenen Modellnamen in einen temporären Namen zu kopieren:

shell
ollama cp llama3.2 gpt-3.5-turbo

Anschließend kann dieser neue Modellname im Feld model angegeben werden:

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

Festlegen der Kontextgröße

Die OpenAI API bietet keine Möglichkeit, die Kontextgröße für ein Modell festzulegen. Wenn Sie die Kontextgröße ändern müssen, erstellen Sie eine Modelfile, die wie folgt aussieht:

FROM <some model>
PARAMETER num_ctx <context size>

Verwenden Sie den Befehl ollama create mymodel, um ein neues Modell mit der aktualisierten Kontextgröße zu erstellen. Rufen Sie die API mit dem aktualisierten Modellnamen auf:

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