~/tools / Ejecutar un LLM local en tu servidor / Ollama API Request Builder
Ollama API Request Builder — Crea una petición curl a /api/chat de Ollama: format, tools, think, options
Crea una petición al endpoint /api/chat de Ollama desde un formulario: el modelo, un mensaje de sistema y uno de usuario, salida estructurada con format y un JSON Schema, definiciones de herramientas, razonamiento, streaming, opciones como temperature y num_ctx, secuencias de parada y keep_alive. Obtienes un comando curl listo para ejecutar y el cuerpo JSON. Cada campo procede de la referencia oficial de la API de Ollama. Nada sale de tu navegador.
Opciones, secuencias de parada y keep_alive
Los campos vacíos no se envían, así que siguen vigentes los ajustes del modelo.
Comando curl
Ejecútalo en una terminal de una máquina que pueda alcanzar 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
}'Cuerpo 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 según la referencia de la API de Ollama para /api/chat, comprobados el 2026-11-03. API de Ollama: Generate a chat message
Todo se hace en tu navegador. La herramienta solo escribe el comando y no envía nada.
El endpoint /api/chat de Ollama recibe un cuerpo JSON con un modelo y una lista de messages, además de campos opcionales: tools para la llamada a funciones, format para una respuesta JSON o una respuesta que siga un JSON Schema, options para ajustes como temperature y num_ctx, stream, think y keep_alive. Escribir ese cuerpo a mano en una terminal es propenso a errores: una coma que falta lo rompe, un apóstrofo en un mensaje cierra las comillas del shell y un número escrito como texto puede no leerse como número. Esta herramienta construye el cuerpo a partir de un formulario y lo envuelve en un comando curl con la forma de los ejemplos de la documentación de Ollama, escapando los apóstrofos para el shell. Comprueba que el JSON Schema y la lista de herramientas son JSON válido, que cada herramienta tiene el type, el name y los parameters que exige la referencia de la API, y que las options son números del tipo correcto. Ejecutamos los comandos generados contra Ollama 0.40.11 con qwen2.5:7b: una petición con JSON Schema devolvió una respuesta con esa forma, una petición con una herramienta devolvió una llamada a la herramienta, y el streaming, el modo json, las secuencias de parada y keep_alive funcionaron sin errores.
La lógica principal de esta herramienta es de código abierto, con licencia MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-api-request.ts
Casos de uso
- Probar la salida estructurada en tu propio servidor antes de escribir código: pega un JSON Schema y mira qué devuelve el modelo
- Comprobar que un modelo llama a tu función, con la definición de herramienta que piensas usar en tu aplicación
- Llamar a Ollama detrás de un proxy nginx con contraseña, con la URL correcta y curl -u
Cómo usarlo
- Introduce la dirección de tu servidor Ollama (http://localhost:11434 si la dejas vacía) y el nombre del modelo, y escribe después el mensaje de usuario y, si quieres, un mensaje de sistema.
- Elige un formato de salida, añade definiciones de herramientas como un array JSON y ajusta el razonamiento y el streaming. Abre Opciones para fijar temperature, num_ctx, una seed, secuencias de parada o keep_alive. Los campos vacíos se omiten.
- Copia el comando curl y ejecútalo en una terminal de una máquina que pueda alcanzar Ollama. El cuerpo JSON se muestra aparte por si quieres enviarlo desde tu propio código.
FAQ
¿Qué hace stream?
La referencia de la API da a stream el valor por defecto true. Una respuesta en streaming llega como JSON delimitado por saltos de línea, un fragmento cada vez. Con stream en false, la documentación dice que la respuesta vuelve como un único objeto JSON, que la página de streaming califica de más sencillo de procesar y mejor para respuestas cortas o salidas estructuradas. La herramienta escribe "stream": false solo cuando desactivas el streaming.
¿Qué valores puede tomar think?
La referencia de la API dice que true solicita razonamiento, false solicita que no haya salida de razonamiento, y una cadena selecciona un nivel que define el modelo; los números no se admiten. La documentación dice que uses /api/show para ver los valores que admite un modelo, y la herramienta muestra ese comando cuando defines think. En nuestra prueba, think false funcionó con qwen2.5:7b, y think true fue rechazado con "qwen2.5:7b" does not support thinking.
¿Cuál es la diferencia entre json y un JSON Schema en format?
La referencia de la API dice que format puede ser json o un JSON schema. json pide cualquier JSON válido. Un schema describe la forma exacta, como los nombres de las propiedades y cuáles son obligatorias, y en nuestra prueba la respuesta lo siguió. La herramienta envía el schema como un objeto, no como una cadena.
¿Cómo debe ser una definición de herramienta?
La referencia de la API exige type, que siempre es function, y un objeto function con un name y parameters, donde parameters es un JSON Schema de los argumentos; description es opcional. La herramienta comprueba estos campos. Cuando el modelo decide llamar a la función, la respuesta contiene message.tool_calls en lugar de texto.
¿Cómo llamo a un Ollama que está detrás de una contraseña?
Introduce la dirección del proxy, como https://ollama.example.com, y el nombre de usuario. La herramienta añade -u con ese nombre al comando curl, y curl pide entonces la contraseña, de modo que la contraseña nunca forma parte del comando. El Ollama nginx Config Generator de este sitio crea un proxy así.
¿Se envía algo a un servidor?
No. La herramienta solo escribe el comando. No se envía nada hasta que lo ejecutas tú.
Artículos relacionados
- Vigilar la memoria de Ollama en un VPS pequeñoMira qué mantiene Ollama en memoria, cuánto tiempo y qué ajustes lo cambian: ollama ps, keep_alive y los límites, según las preguntas frecuentes oficiales.
- Conectar Dify con Ollama en tu propio VPSEjecuta Dify en tu propio VPS y usa Ollama como su modelo: instalación, los campos del plugin, el problema de la dirección en Docker y los embeddings, según la documentación oficial.
- Empieza con un LLM local sin un PC caro: guía para principiantes sobre cómo usar un VPS¿No tienes un PC potente? Alquila un VPS y ejecuta un LLM local pequeño desde el navegador: seis pasos, desde la estimación de memoria hasta una pantalla de chat protegida, con los límites explicados con honestidad.