API Ollama vs API OpenAI: quale delle due si adatta al tuo progetto
Ollama esegue i modelli sulla tua macchina, mentre OpenAI esegue i suoi modelli sui suoi server. Questa pagina confronta le due soluzioni su hosting, formato delle richieste, costi, limiti e regole sui contenuti, mostrando poi una terza opzione intermedia.
Aggiornato

Punti chiave
- Ollama è un runtime locale che ospiti tu stesso; l'API OpenAI è un servizio ospitato fatturato per token.
- Entrambi accettano richieste di chat in stile OpenAI, quindi un client può parlare con entrambi modificando l'URL di base.
- Le esecuzioni locali costano hardware e tempo, quelle ospitate costano token; il punto di pareggio dipende dal tuo volume.
- Un endpoint ospitato compatibile con OpenAI con un modello a pesi aperti ti offre il pagamento a consumo senza possedere una GPU.
La risposta breve
La domanda tra l'API Ollama e l'API OpenAI riguarda principalmente il luogo in cui viene eseguito il modello. Con Ollama il modello risiede su un computer che controlli tu, e il tuo codice chiama localhost. Con l'API OpenAI il modello risiede nel data center di qualcun altro, e il tuo codice chiama un indirizzo HTTPS pubblico con una chiave e un conto alla fine del mese.
Tutto il resto deriva da questa differenza: struttura dei costi, latenza che puoi regolare, chi vede i tuoi prompt, quali modelli puoi scegliere e cosa succede quando invii cento richieste in parallelo. La tabella fornisce i fatti che valgono per entrambi.
| Argomento | Ollama | API OpenAI |
|---|---|---|
| Dove gira | Il tuo laptop, workstation o server | I server di OpenAI |
| Chi configura il modello | Scarichi e aggiorni i pesi tu stesso | OpenAI sceglie e aggiorna i suoi modelli |
| Fatturazione | Nessun costo per token dal runtime locale; paghi hardware e corrente | Per token, da un account con fatturazione |
| Formato della richiesta | Route native più uno strato /v1 in stile OpenAI | Il formato originale OpenAI |
| Throughput | Limitato dall'hardware | Limitato dai limiti di richieste dell'account |
Se vuoi una via di mezzo, un endpoint ospitato che parla lo stesso formato OpenAI ma serve un modello a pesi aperti è trattato verso la fine di questa pagina.
Cosa sono effettivamente le API
Ollama
Ollama è un programma che scarica modelli a pesi aperti e li serve via HTTP sulla tua macchina. Di default ascolta sulla porta 11434. Ha le sue route come /api/chat e /api/generate, ed espone anche uno strato in stile OpenAI sotto /v1 così che il codice client OpenAI esistente possa puntare ad esso. Non ci sono account e nessuna chiave nella configurazione locale usuale. I client che insistono su un campo chiave ricevono una stringa segnaposto.
Scegli tu il modello, la quantizzazione e le impostazioni del contesto. Questa libertà è il principale vantaggio, ma è anche il costo: se il modello non entra nella tua memoria, sarà lento o non caricherà affatto.
L'API OpenAI
L'API OpenAI è un servizio ospitato. Crei un account, aggiungi la fatturazione, generi una chiave e invii richieste all'indirizzo di OpenAI. Ottieni i modelli offerti da OpenAI, sotto le policy di utilizzo di OpenAI, con i limiti consentiti dal livello del tuo account. Capacità, aggiornamenti e uptime sono loro compito, non tuo. Il formato delle richieste che vedi nella maggior parte dei tutorial, con un array messages e un array choices nella risposta, proviene da questa API.
Perché le confrontano
Il confronto esiste perché entrambi possono essere raggiunti con lo stesso codice client. Gli SDK ufficiali di OpenAI ti permettono di sovrascrivere l'URL di base, e lo strato /v1 di Ollama comprende le completions di chat. Quindi uno script scritto per uno può spesso essere puntato all'altro in una riga. È comodo, ma nasconde anche differenze reali, che esamineremo nelle sezioni seguenti.
Lo stesso codice client, due base URL
Questa è la parte che rende il passaggio economico. Lo snippet Python di seguito parla con un server Ollama locale. Solo l'URL di base, la chiave e il nome del modello sono specifici per la destinazione.
from openai import OpenAI
# Local Ollama through its OpenAI-style layer
client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
reply = client.chat.completions.create(
model="llama3.2", # whatever model you pulled locally
messages=[{"role": "user", "content": "Summarize what a base URL is."}],
)
print(reply.choices[0].message.content)Per inviare la stessa richiesta a un endpoint ospitato compatibile con OpenAI, modifichi tre valori. Ecco la versione per questo sito, con ID modello uncensored.
from openai import OpenAI
client = OpenAI(base_url="https://api.ollamaapi.com/v1", api_key="YOUR_KEY")
reply = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarize what a base URL is."}],
)
print(reply.choices[0].message.content)La stessa richiesta funziona con curl, utile per un test rapido prima di toccare il codice dell'applicazione.
curl https://api.ollamaapi.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Hello"}]}'Un'avvertenza vale per qualsiasi passaggio tra queste destinazioni. La compatibilità copre la forma della richiesta e della risposta, non il comportamento. Modelli diversi seguono le istruzioni in modo diverso, gestiscono le chiamate di funzioni in modo diverso e producono formattazioni diverse. Esegui i tuoi prompt sulla nuova destinazione prima di fidarti.
Costi: hardware che possiedi contro token che compri
L'inferenza locale sembra gratuita perché non arriva una fattura. Non lo è. Paghi per una GPU o una macchina con molta memoria, per l'elettricità e per le ore spese a installare driver, scegliere quantizzazioni e riavviare un server che ha esaurito la memoria. Se possiedi già hardware capace e esegui alcuni prompt al giorno, questo costo è praticamente zero. Se dovessi comprare una scheda solo per eseguire il modello che vuoi, i conti cambiano.
La tariffazione ospitata ha una forma opposta: nulla in anticipo e un costo che cresce con l'uso. Su questo sito il prezzo è $0,15 per 1M di token in input e $0,50 per 1M di token in output, da credito prepagato senza abbonamento. Per OpenAI, controlla la loro pagina dei prezzi attuale, perché varia per modello e cambia nel tempo.
Ecco come funziona la matematica ospitata per un lavoro realistico su questo endpoint. Supponiamo che un'applicazione invii 40.000 richieste in un mese, ognuna con 1.500 token in input e 400 token in output.
- Input: 40.000 x 1.500 = 60.000.000 token, o 60M. A $0,15 per 1M sono $9,00.
- Output: 40.000 x 400 = 16.000.000 token, o 16M. A $0,50 per 1M sono $8,00.
- Totale: $17,00 per il mese.
Puoi confrontare questo numero con il costo di una macchina adatta che dovresti comprare, alimentare e mantenere. Per traffico leggero o a picchi, pagare per token vince solitamente. Per traffico pesante costante su hardware che possiedi già, vince solitamente il locale. Vedi la pagina dei prezzi per importi di ricarica e bonus.
Modelli, regole sui contenuti e privacy
Con Ollama decidi quale modello a pesi aperti eseguire, e nessuno sta tra il tuo prompt e i pesi. Il comportamento sui contenuti è quello che fa quel modello. Alcuni modelli della community sono ottimizzati per rifiutare meno, altri non lo sono, e puoi scambiarli liberamente.
Un fornitore ospitato applica le proprie policy di utilizzo e i propri filtri. È una posizione ragionevole per un servizio general-purpose, ed è anche il motivo per cui alcuni scrittori, sviluppatori di roleplay e ricercatori che lavorano con narrativa per adulti trovano che le risposte ospitate si interrompano. Leggi la policy di qualsiasi fornitore su cui prevedi di fare affidamento e controlla le loro regole attuali invece di assumere.
Questo sito si colloca in una posizione diversa. Serve un modello a pesi aperti, eseguito da un fornitore indipendente e ottimizzato per rispondere senza rifiuti sui contenuti per uso adulto legale. Non è l'API ufficiale di OpenAI, Meta, Mistral o qualsiasi altro fornitore, e non è un router tra fornitori. C'è un limite rigido: nessun contenuto sessuale che coinvolga minorenni. I prompt non sono usati per l'addestramento. Le richieste fallite o rifiutate non vengono addebitate.
Per la privacy, Ollama locale mantiene i prompt sulla tua macchina, cosa che nessun servizio hostato può eguagliare. Se i tuoi dati non devono mai uscire dall'edificio, esegui Ollama in locale e smetti di confrontare. Se puoi inviare testo a un servizio hostato, leggi prima la pagina sulla privacy del provider. La nostra è su /privacy/.
Limiti, concorrenza e funzionalità
I limiti locali sono fisici. Una GPU serve poche richieste simultanee prima che ciascuna rallenti, e un contesto lungo consuma memoria rapidamente. I limiti hostati sono di policy. Su questo endpoint una chiave completa permette 8 richieste concorrenti e 300 richieste al minuto, mentre una chiave di prova ne permette 2 concorrenti e 60 al minuto. La finestra di contesto è di 100.000 token, contando prompt più completamento, e il corpo della richiesta può essere fino a 8 MB.
Se superi un limite ricevi HTTP 429. Il codice di errore è rate_limited per le richieste al minuto e concurrency per troppe richieste contemporanee. Un 429 con l'intestazione Retry-After: 5 indica un sovraccarico temporaneo, quindi attendi cinque secondi e riprova. Una richiesta in streaming mantiene la sua slot di concorrenza fino alla fine dello streaming, il che è importante se apri molti stream in parallelo.
La copertura delle funzionalità lato hostato è focalizzata sulla chat. Ottieni lo streaming su SSE con l'utilizzo alla fine, la chiamata di funzioni, la modalità JSON e il passaggio di temperatura, top_p, stop, seed e penalità. Non ci sono generazione di immagini, audio o video, né embeddings né fine-tuning. Se ti servono, pianifica di ottenerli altrove. La nostra documentazione elenca i campi di richiesta esatti.
Le intestazioni di risposta includono X-Request-Id e X-Balance-USD, così puoi registrare una richiesta e vedere il tuo credito rimanente senza una chiamata separata.
Come scegliere
Scegli in base al vincolo che ti penalizza di più.
- I prompt devono rimanere sull'hardware. Usa Ollama in locale.
- Hai già una GPU capace e vuoi sperimentare. Usa Ollama in locale, poi passa altrove se il traffico lo supera.
- Hai bisogno del modello frontier di un fornitore specifico o del suo ecosistema. Usa l'API di quel fornitore. Un provider diverso non è una sostituzione per un modello particolare.
- Vuoi accesso in hosting e pagamento a consumo a un modello a pesi aperti senza rifiuti per usi adulti leciti, senza hardware da gestire. Usa un endpoint compatibile con OpenAI in hosting come questo.
Molti team finiscono per usarne due: Ollama su un laptop per lo sviluppo, e un endpoint in hosting per tutto ciò che deve essere raggiungibile da un server o dal browser di un cliente. Poiché entrambi parlano lo stesso formato di richiesta, il passaggio è un valore di configurazione, non una riscrittura. Se vuoi provare il lato in hosting, i nuovi utenti possono richiedere $0.50 di credito di prova con un clic sulla pagina della chiave API dopo aver effettuato l'accesso. Non serve una carta ed è valido per 7 giorni. I ricarichi a partire da $20 accettano carta o cripto.
Altre guide
Domande e risposte
L'API Ollama è compatibile con l'SDK OpenAI?
Ollama espone uno strato in stile OpenAI sotto /v1 che gestisce le completions di chat, così che gli SDK ufficiali di OpenAI possano puntare ad esso modificando l'URL di base. Consulta la documentazione di Ollama per sapere quali campi supporta la tua versione.
Ollama è più economico dell'API OpenAI?
Dipende dall'hardware e dal volume. Il runtime locale non ha un costo per token, ma paghi la macchina e la sua manutenzione. Per un uso leggero o irregolare, la fatturazione per token è spesso più economica dell'acquisto di una GPU.
Posso usare l'endpoint di questo sito invece di Ollama locale?
Sì, se vuoi un endpoint hostato compatibile con OpenAI. Imposta l'URL base su https://api.ollamaapi.com/v1 e il modello su uncensored. Non è Ollama e non gira sulla tua macchina.
L'endpoint hostato supporta la chiamata di funzioni e lo streaming?
Sì. Supporta lo streaming su SSE, la chiamata di funzioni e la modalità JSON, con una finestra di contesto di 100.000 token.
La tua chiave è a un modulo di distanza
Crea un account, copia la chiave, modifica l'URL di base. È tutta la configurazione.