~/tools / Eseguire un LLM locale sul tuo server / Ollama API Request Builder
Ollama API Request Builder — Crea una richiesta curl a /api/chat di Ollama: format, tools, think, options
Crea una richiesta all'endpoint /api/chat di Ollama da un modulo: il modello, un messaggio di sistema e uno utente, output strutturato con format e un JSON Schema, definizioni di strumenti, ragionamento, streaming, opzioni come temperature e num_ctx, sequenze di stop e keep_alive. Ottieni un comando curl pronto da eseguire e il corpo JSON. Ogni campo proviene dal riferimento ufficiale dell'API di Ollama. Nulla lascia il tuo browser.
Opzioni, sequenze di stop e keep_alive
I campi vuoti non vengono inviati, quindi restano valide le impostazioni del modello.
Comando curl
Eseguilo in un terminale su una macchina che raggiunga Ollama.
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
}'Corpo JSON
{
"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
}Campi come indicati nel riferimento dell'API di Ollama per /api/chat, verificati il 2026-11-03. API di Ollama: Generate a chat message
Tutto avviene nel tuo browser. Lo strumento scrive solo il comando e non invia nulla.
L'endpoint /api/chat di Ollama accetta un corpo JSON con un modello e un elenco di messages, più campi facoltativi: tools per la chiamata di funzioni, format per una risposta JSON o una risposta che segue un JSON Schema, options per impostazioni come temperature e num_ctx, stream, think e keep_alive. Scrivere quel corpo a mano in un terminale è soggetto a errori: una virgola mancante lo rompe, un apostrofo in un messaggio chiude le virgolette della shell e un numero digitato come testo potrebbe non essere letto come numero. Questo strumento costruisce il corpo da un modulo e lo racchiude in un comando curl nella forma degli esempi della documentazione di Ollama, facendo l'escape degli apostrofi per la shell. Controlla che il JSON Schema e l'elenco degli strumenti siano JSON valido, che ogni strumento abbia il type, il name e i parameters richiesti dal riferimento dell'API, e che le options siano numeri del tipo giusto. Abbiamo eseguito i comandi generati su Ollama 0.40.11 con qwen2.5:7b: una richiesta con JSON Schema ha restituito una risposta in quella forma, una richiesta con uno strumento ha restituito una chiamata allo strumento, e lo streaming, la modalità json, le sequenze di stop e keep_alive hanno funzionato senza errori.
La logica principale di questo strumento è open source, con licenza MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-api-request.ts
Casi d'uso
- Provare l'output strutturato sul tuo server prima di scrivere codice: incolla un JSON Schema e guarda cosa restituisce il modello
- Verificare che un modello chiami la tua funzione, con la definizione di strumento che intendi usare nella tua applicazione
- Chiamare Ollama dietro un proxy nginx con password, con l'URL giusto e curl -u
Utilizzo
- Inserisci l'indirizzo del tuo server Ollama (http://localhost:11434 se lo lasci vuoto) e il nome del modello, poi scrivi il messaggio utente e, se vuoi, un messaggio di sistema.
- Scegli un formato di output, aggiungi le definizioni degli strumenti come array JSON e imposta ragionamento e streaming. Apri Opzioni per impostare temperature, num_ctx, un seed, sequenze di stop o keep_alive. I campi vuoti vengono omessi.
- Copia il comando curl ed eseguilo in un terminale su una macchina che raggiunga Ollama. Il corpo JSON è mostrato a parte se vuoi inviarlo dal tuo codice.
FAQ
Cosa fa stream?
Il riferimento dell'API dà a stream il valore predefinito true. Una risposta in streaming arriva come JSON delimitato da a capo, un pezzo alla volta. Con stream impostato su false, la documentazione dice che la risposta torna come un unico oggetto JSON, che la pagina sullo streaming definisce più semplice da elaborare e migliore per risposte brevi o output strutturati. Lo strumento scrive "stream": false solo quando disattivi lo streaming.
Quali valori può assumere think?
Il riferimento dell'API dice che true richiede il ragionamento, false richiede nessun output di ragionamento, e una stringa seleziona un livello definito dal modello; i numeri non sono supportati. La documentazione dice di usare /api/show per trovare i valori che un modello supporta, e lo strumento mostra quel comando quando imposti think. Nel nostro test, think false ha funzionato con qwen2.5:7b, e think true è stato rifiutato con "qwen2.5:7b" does not support thinking.
Qual è la differenza tra json e un JSON Schema in format?
Il riferimento dell'API dice che format può essere json o un JSON schema. json chiede un JSON valido qualsiasi. Uno schema descrive la forma esatta, come i nomi delle proprietà e quali sono obbligatorie, e nel nostro test la risposta lo ha seguito. Lo strumento invia lo schema come oggetto, non come stringa.
Come deve essere una definizione di strumento?
Il riferimento dell'API richiede type, che è sempre function, e un oggetto function con un name e parameters, dove parameters è un JSON Schema degli argomenti; description è facoltativo. Lo strumento controlla questi campi. Quando il modello decide di chiamare la funzione, la risposta contiene message.tool_calls al posto del testo.
Come chiamo un Ollama protetto da password?
Inserisci l'indirizzo del proxy, per esempio https://ollama.example.com, e il nome utente. Lo strumento aggiunge -u con quel nome al comando curl, e curl poi chiede la password, quindi la password non fa mai parte del comando. L'Ollama nginx Config Generator di questo sito costruisce un proxy di questo tipo.
Viene inviato qualcosa a un server?
No. Lo strumento scrive solo il comando. Non viene inviato nulla finché non lo esegui tu stesso.
Articoli correlati
- Tenere d'occhio la memoria di Ollama su una piccola VPSScopri cosa Ollama tiene in memoria, per quanto tempo e quali impostazioni lo cambiano: ollama ps, keep_alive e i limiti, dalle FAQ ufficiali.
- Collegare Dify a Ollama sul proprio VPSEsegui Dify sul tuo VPS e usa Ollama come modello: installazione, campi del plugin, il problema dell'indirizzo in Docker e gli embedding, dalla documentazione ufficiale.
- Avviare un LLM locale senza un PC costoso: guida per principianti all'uso di una VPSNon hai un PC potente? Affitta una VPS ed esegui un piccolo LLM locale dal browser: sei passaggi, dalla stima della memoria a una chat protetta, con i limiti dichiarati con onestà.