Los modelos con capacidad de pensamiento emiten un campo thinking que separa su traza de razonamiento de la respuesta final.
Utilice esta capacidad para auditar los pasos del modelo, animar el pensamiento del modelo en una interfaz de usuario u ocultar la traza por completo cuando solo necesite la respuesta final.
Modelos compatibles
- Qwen 3
- GPT-OSS (utilice los niveles
think:low,medium,high; la traza no se puede desactivar por completo) - DeepSeek-v3.1
- DeepSeek R1
- Explore las últimas incorporaciones en modelos de pensamiento
Habilitar el pensamiento en llamadas a la API
Establezca el campo think en las solicitudes de chat o generación. La mayoría de los modelos aceptan valores booleanos (true/false) o niveles (low, medium, high, max), donde max solicita el nivel de pensamiento más alto.
Por el contrario, GPT-OSS espera uno de los valores low, medium o high para ajustar la longitud de la traza.
El campo message.thinking (endpoint de chat) o thinking (endpoint de generación) contiene la traza de razonamiento, mientras que message.content / response almacena la respuesta final.
cURL
```shell
curl http://localhost:11434/api/chat -d '{
"model": "qwen3",
"messages": [{
"role": "user",
"content": "How many letter r are in strawberry?"
}],
"think": true,
"stream": false
}'
```
Python
```python
from ollama import chat
response = chat(
model='qwen3',
messages=[{'role': 'user', 'content': 'How many letter r are in strawberry?'}],
think=True,
stream=False,
)
print('Thinking:\n', response.message.thinking)
print('Answer:\n', response.message.content)
```
JavaScript
```javascript
import ollama from 'ollama'
const response = await ollama.chat({
model: 'deepseek-r1',
messages: [{ role: 'user', content: 'How many letter r are in strawberry?' }],
think: true,
stream: false,
})
console.log('Thinking:\n', response.message.thinking)
console.log('Answer:\n', response.message.content)
```
Nota
GPT-OSS requiere que el campo think se establezca en "low", "medium" o "high". El envío de valores true/false se ignora para este modelo.
Transmitir la traza de razonamiento
Las transmisiones de pensamiento intercalan tokens de razonamiento antes de los tokens de respuesta. Detecte el primer fragmento thinking para mostrar una sección de "pensamiento", luego cambie a la respuesta final una vez que llegue message.content.
Python
```python
from ollama import chat
stream = chat(
model='qwen3',
messages=[{'role': 'user', 'content': 'What is 17 × 23?'}],
think=True,
stream=True,
)
in_thinking = False
for chunk in stream:
if chunk.message.thinking and not in_thinking:
in_thinking = True
print('Thinking:\n', end='')
if chunk.message.thinking:
print(chunk.message.thinking, end='')
elif chunk.message.content:
if in_thinking:
print('\n\nAnswer:\n', end='')
in_thinking = False
print(chunk.message.content, end='')
```
JavaScript
```javascript
import ollama from 'ollama'
async function main() {
const stream = await ollama.chat({
model: 'qwen3',
messages: [{ role: 'user', content: 'What is 17 × 23?' }],
think: true,
stream: true,
})
let inThinking = false
for await (const chunk of stream) {
if (chunk.message.thinking && !inThinking) {
inThinking = true
process.stdout.write('Thinking:\n')
}
if (chunk.message.thinking) {
process.stdout.write(chunk.message.thinking)
} else if (chunk.message.content) {
if (inThinking) {
process.stdout.write('\n\nAnswer:\n')
inThinking = false
}
process.stdout.write(chunk.message.content)
}
}
}
main()
```
Referencia rápida de CLI
- Habilitar el pensamiento para una ejecución única:
ollama run deepseek-r1 --think "Where should I visit in Lisbon?" - Deshabilitar el pensamiento:
ollama run deepseek-r1 --think=false "Summarize this article" - Ocultar la traza mientras se usa un modelo de pensamiento:
ollama run deepseek-r1 --hidethinking "Is 9.9 bigger or 9.11?" - En sesiones interactivas, alterne con
/set thinko/set nothink. - GPT-OSS solo acepta niveles:
ollama run gpt-oss --think=low "Draft a headline"(reemplacelowpormediumohighsegún sea necesario).
Nota
El pensamiento está habilitado de forma predeterminada en la CLI y la API para los modelos compatibles.