Skip to content

Ollama offre la compatibilità con parti dell'API OpenAI per aiutare a collegare le applicazioni esistenti a Ollama.

Utilizzo

Esempio semplice di /v1/chat/completions

Esempio semplice di /v1/responses

Esempio di /v1/chat/completions con visione

Endpoint

/v1/chat/completions

Funzionalità supportate

  • [x] Chat completions
  • [x] Streaming
  • [x] Modalità JSON
  • [x] Output riproducibili
  • [x] Vision
  • [x] Tools
  • [x] Controllo del ragionamento/pensiero (per i modelli di pensiero)
  • [ ] Logprobs

Campi di richiesta supportati

  • [x] model
  • [x] messages
    • [x] Contenuto content di testo
    • [x] Contenuto content di immagine
      • [x] Immagine codificata in Base64
      • [ ] URL dell'immagine
    • [x] Array di parti di content
  • [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

Funzionalità supportate

  • [x] Completions
  • [x] Streaming
  • [x] Modalità JSON
  • [x] Output riproducibili
  • [ ] Logprobs

Campi di richiesta supportati

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

Note

  • prompt attualmente accetta solo una stringa

/v1/models

Note

  • created corrisponde all'ultima modifica del modello
  • owned_by corrisponde al nome utente ollama, con valore predefinito "library"

/v1/models/{model}

Note

  • created corrisponde all'ultima modifica del modello
  • owned_by corrisponde al nome utente ollama, con valore predefinito "library"

/v1/embeddings

Campi di richiesta supportati

  • [x] model
  • [x] input
    • [x] stringa
    • [x] array di stringhe
    • [ ] array di token
    • [ ] array di array di token
  • [x] encoding format
  • [x] dimensions
  • [ ] user

/v1/images/generations (sperimentale)

Nota: questo endpoint è sperimentale e potrebbe cambiare o essere rimosso nelle versioni future.

Genera immagini utilizzando modelli di generazione di immagini.

Campi di richiesta supportati

  • [x] model
  • [x] prompt
  • [x] size (es. "1024x1024")
  • [x] response_format (è supportato solo b64_json)
  • [ ] n
  • [ ] quality
  • [ ] style
  • [ ] user

/v1/responses

Nota: Aggiunto in Ollama v0.13.3

Ollama supporta le API Responses di OpenAI. È supportata solo la versione non stateful (cioè non c'è supporto per previous_response_id o conversation).

Funzionalità supportate

  • [x] Streaming
  • [x] Strumenti (chiamata di funzione)
  • [x] Riepilogi del ragionamento (per i modelli di pensiero)
  • [ ] Richieste stateful

Campi di richiesta supportati

  • [x] model
  • [x] input
  • [x] instructions
  • [x] tools
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] max_output_tokens
  • [ ] previous_response_id (non supportato per le richieste stateful v1/responses)
  • [ ] conversation (non supportato per le richieste stateful v1/responses)
  • [ ] truncation

Modelli

Prima di utilizzare un modello, scaricalo localmente con ollama pull:

shell
ollama pull llama3.2

Nomi di modello predefiniti

Per gli strumenti che si basano sui nomi di modello predefiniti di OpenAI come gpt-3.5-turbo, usa ollama cp per copiare un nome di modello esistente in un nome temporaneo:

shell
ollama cp llama3.2 gpt-3.5-turbo

Successivamente, questo nuovo nome di modello può essere specificato nel campo model:

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

Impostazione della dimensione del contesto

L'API OpenAI non ha un modo per impostare la dimensione del contesto di un modello. Se hai bisogno di modificare la dimensione del contesto, crea un Modelfile come il seguente:

FROM <some model>
PARAMETER num_ctx <context size>

Usa il comando ollama create mymodel per creare un nuovo modello con la dimensione del contesto aggiornata. Chiama l'API con il nome del modello aggiornato:

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