~/tools / Rodar um LLM local no seu servidor / Ollama API Request Builder
Ollama API Request Builder — Monte uma requisição curl para o /api/chat do Ollama: format, tools, think, options
Monte uma requisição para o endpoint /api/chat do Ollama a partir de um formulário: o modelo, uma mensagem de sistema e uma de usuário, saída estruturada com format e um JSON Schema, definições de ferramentas, raciocínio, streaming, opções como temperature e num_ctx, sequências de parada e keep_alive. Você recebe um comando curl pronto para executar e o corpo JSON. Cada campo vem da referência oficial da API do Ollama. Nada sai do seu navegador.
Opções, sequências de parada e keep_alive
Campos vazios não são enviados, então as configurações do modelo continuam valendo.
Comando curl
Execute em um terminal de uma máquina que consiga acessar o 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
}Campos conforme a referência da API do Ollama para /api/chat, conferidos em 2026-11-03. API do Ollama: Generate a chat message
Tudo é feito no seu navegador. A ferramenta apenas escreve o comando e não envia nada.
O endpoint /api/chat do Ollama recebe um corpo JSON com um modelo e uma lista de messages, além de campos opcionais: tools para chamada de funções, format para uma resposta JSON ou uma resposta que siga um JSON Schema, options para ajustes como temperature e num_ctx, stream, think e keep_alive. Escrever esse corpo à mão em um terminal é propenso a erros: uma vírgula faltando o quebra, um apóstrofo em uma mensagem encerra as aspas do shell e um número digitado como texto pode não ser lido como número. Esta ferramenta monta o corpo a partir de um formulário e o envolve em um comando curl no formato dos exemplos da documentação do Ollama, escapando os apóstrofos para o shell. Ela verifica se o JSON Schema e a lista de ferramentas são JSON válido, se cada ferramenta tem o type, o name e os parameters que a referência da API exige, e se as options são números do tipo certo. Executamos os comandos gerados no Ollama 0.40.11 com qwen2.5:7b: uma requisição com JSON Schema retornou uma resposta com essa forma, uma requisição com uma ferramenta retornou uma chamada de ferramenta, e o streaming, o modo json, as sequências de parada e o keep_alive funcionaram sem erros.
A lógica principal desta ferramenta é de código aberto, sob a licença MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-api-request.ts
Casos de uso
- Testar a saída estruturada no seu próprio servidor antes de escrever código: cole um JSON Schema e veja o que o modelo devolve
- Conferir se um modelo chama a sua função, com a definição de ferramenta que você pretende usar na sua aplicação
- Chamar o Ollama atrás de um proxy nginx com senha, com a URL certa e curl -u
Como usar
- Informe o endereço do seu servidor Ollama (http://localhost:11434 se você deixar vazio) e o nome do modelo, depois escreva a mensagem de usuário e, se quiser, uma mensagem de sistema.
- Escolha um formato de saída, adicione definições de ferramentas como um array JSON e defina o raciocínio e o streaming. Abra Opções para definir temperature, num_ctx, uma seed, sequências de parada ou keep_alive. Campos vazios são omitidos.
- Copie o comando curl e execute-o em um terminal de uma máquina que consiga acessar o Ollama. O corpo JSON é mostrado separadamente, caso você queira enviá-lo do seu próprio código.
FAQ
O que o stream faz?
A referência da API dá ao stream o padrão true. Uma resposta em streaming chega como JSON delimitado por quebras de linha, um pedaço de cada vez. Com stream definido como false, a documentação diz que a resposta volta como um único objeto JSON, que a página de streaming chama de mais simples de processar e melhor para respostas curtas ou saídas estruturadas. A ferramenta escreve "stream": false apenas quando você desativa o streaming.
Que valores o think pode ter?
A referência da API diz que true solicita raciocínio, false solicita nenhuma saída de raciocínio, e uma string seleciona um nível que o modelo define; números não são suportados. A documentação diz para usar /api/show para descobrir os valores que um modelo suporta, e a ferramenta mostra esse comando quando você define think. No nosso teste, think false funcionou com qwen2.5:7b, e think true foi recusado com "qwen2.5:7b" does not support thinking.
Qual é a diferença entre json e um JSON Schema em format?
A referência da API diz que format pode ser json ou um JSON schema. json pede qualquer JSON válido. Um schema descreve a forma exata, como os nomes das propriedades e quais são obrigatórias, e no nosso teste a resposta o seguiu. A ferramenta envia o schema como um objeto, não como uma string.
Como deve ser uma definição de ferramenta?
A referência da API exige type, que é sempre function, e um objeto function com um name e parameters, em que parameters é um JSON Schema dos argumentos; description é opcional. A ferramenta verifica esses campos. Quando o modelo decide chamar a função, a resposta contém message.tool_calls em vez de texto.
Como chamo um Ollama que está atrás de uma senha?
Informe o endereço do proxy, como https://ollama.example.com, e o nome de usuário. A ferramenta adiciona -u com esse nome ao comando curl, e o curl então pede a senha, de modo que a senha nunca faz parte do comando. O Ollama nginx Config Generator deste site monta um proxy desse tipo.
Algo é enviado a um servidor?
Não. A ferramenta apenas escreve o comando. Nada é enviado até que você mesmo o execute.
Artigos relacionados
- Acompanhe a memória do Ollama em uma VPS pequenaVeja o que o Ollama mantém na memória, por quanto tempo e quais configurações mudam isso: ollama ps, keep_alive e os limites, a partir do FAQ oficial.
- Conectar o Dify ao Ollama no seu próprio VPSExecute o Dify no seu próprio VPS e use o Ollama como modelo: instalação, campos do plugin, o problema do endereço no Docker e embeddings, segundo a documentação oficial.
- Rodar um LLM local sem um PC caro: guia para iniciantes sobre como usar uma VPSSem um PC potente? Alugue uma VPS e rode um pequeno LLM local pelo navegador: seis passos, da estimativa de memória até uma tela de chat protegida, com os limites ditos com honestidade.