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!"
            }
        ]
    }'