stream: true y define las herramientas del cliente con el esquema que requiere tu API. La compatibilidad con streaming y llamadas a herramientas varía según el modelo; prueba una solicitud pequeña con tu Model ID antes de usar estas funciones en una aplicación.
Requisitos previos
Primero completa una solicitud de texto simple con los ejemplos de SDK. Copia del model plaza el Model ID exacto para el protocolo que vas a probar. La guía de selección de modelos explica qué debes comprobar. Instalaopenai y anthropic en el entorno virtual de Python de tu proyecto y sustituye los valores de ejemplo en el mismo terminal:
max_tokens o max_output_tokens.
Recibe respuestas de texto en streaming
El streaming envía eventos del servidor (SSE) a través de una única respuesta HTTP. Un evento SSE no equivale necesariamente a una frase completa ni a un objeto JSON de argumentos completo.
El SDK interpreta el formato SSE. Estos ejemplos imprimen los fragmentos de texto y la información de finalización; las aplicaciones también deben gestionar los eventos de error.
- Chat Completions
- Responses
- Messages
Define una herramienta meteorológica para cada protocolo
El modelo solicita una llamada a una función; tu aplicación valida los argumentos, ejecuta la función y devuelve el resultado. Los ejemplos usan una funciónget_weather con un argumento location y devuelven datos fijos de demostración, no información meteorológica en tiempo real. No necesitas un servicio meteorológico ni otra Key.
La compatibilidad varía según el modelo y el protocolo. Prueba esta solicitud pequeña con tu Model ID aunque el texto simple ya funcione. Declarar una herramienta no activa la búsqueda alojada ni otras herramientas ejecutadas por el proveedor.
Ejecuta la llamada y devuelve el resultado
Estos ejemplos sin streaming muestran un ciclo completo de llamada y resultado para que puedas revisar los argumentos completos. Cada uno procesa todas las llamadas a herramientas de la primera respuesta y permite una solicitud de seguimiento. Un flujo de agente más largo necesita un bucle con límites y una condición de parada.- Chat Completions
- Responses
- Messages
output, incluidos los de razonamiento si se devuelven. En Messages, conserva los bloques de contenido y su orden. Asocia los resultados a los ID de llamada recibidos; no inventes ID.
Preguntas frecuentes
¿Puedo ejecutar los argumentos a medida que llegan?
Acumula los fragmentos por índice de llamada o ID de elemento y después analiza y valida los argumentos completos. Un JSON parcial puede no ser válido. Empieza por los ejemplos sin streaming antes de combinar streaming y herramientas.¿Por qué funciona el texto simple pero fallan las herramientas?
La compatibilidad varía según el modelo y el protocolo; verifica una solicitud pequeña con tu Model ID. Revisa el esquema, los argumentos recibidos, el ID del resultado y el orden de los mensajes. Para validar JSON con tipos, consulta las preguntas sobre salida estructurada.¿Debo reintentar un flujo interrumpido?
Revisa el registro de la solicitud antes de reenviarla. Una desconexión no permite saber si la solicitud terminó. Un reintento inicia otro intento y no debe repetir una acción de herramienta ya ejecutada. Consulta la guía de errores y reintentos.Recursos relacionados
- Configuración de SDK y autenticación
- Introducción a la referencia de la API
- Límites de tokens de salida
- JSON estructurado y Pydantic
- Ajustes de tiempo de espera
- Errores y límites

