Ir al contenido

Modelos de razonamiento

Algunos modelos de IA soportan pensamiento extendido (razonamiento cadena de pensamiento), donde el modelo muestra su proceso de razonamiento antes de proporcionar la respuesta final.

ModelProviderReasoning
o1, o1-mini, o3OpenAIExtended thinking
Claude 3.5 SonnetAnthropicExtended thinking
DeepSeek R1DeepSeekChain-of-thought
Gemini 2.0 Flash ThinkingGoogleThinking mode

Los modelos de razonamiento funcionan a través de la misma API. La diferencia clave es que pueden emitir eventos ThinkingDelta durante el streaming:

let mut stream = client.chat()
.user("Solve this step by step: What is 127 * 43?")
.stream()
.execute_stream()
.await?;
while let Some(event) = stream.next().await {
match event? {
StreamingEvent::ThinkingDelta { text, .. } => {
// Model's reasoning process
print!("[thinking] {text}");
}
StreamingEvent::ContentDelta { text, .. } => {
// Final answer
print!("{text}");
}
_ => {}
}
}
async for event in client.chat() \
.user("Solve this step by step: What is 127 * 43?") \
.stream():
if event.is_thinking_delta:
print(f"[thinking] {event.text}", end="")
elif event.is_content_delta:
print(event.as_content_delta.text, end="")
  1. El manifiesto del proveedor declara capabilities.reasoning: true
  2. El decodificador de streaming reconoce eventos específicos de pensamiento
  3. El EventMapper emite ThinkingDelta para contenido de razonamiento
  4. Los eventos ContentDelta contienen la respuesta final

El manifiesto del protocolo maneja las diferencias de formato específicas del proveedor:

  • OpenAI o1: Usa tokens de razonamiento internos
  • Anthropic Claude: Usa bloques de contenido thinking
  • DeepSeek R1: Usa etiquetas <think> en el contenido
  • Los modelos de razonamiento generalmente producen mejores resultados para tareas complejas
  • Utilizan más tokens (los tokens de razonamiento se cuentan)
  • La temperatura puede estar restringida (algunos modelos de razonamiento la ignoran)
  • No todos los proveedores soportan razonamiento — verifique capabilities.reasoning