Saltar al contenido principal
Activa el streaming con 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. Instala openai y anthropic en el entorno virtual de Python de tu proyecto y sustituye los valores de ejemplo en el mismo terminal:
Cada bloque de Python se ejecuta de forma independiente. El tiempo de espera de 120 segundos es un ejemplo para estas pruebas breves; elige el de tu aplicación con la guía de tiempos de espera. Comprueba los límites de tokens de salida del modelo antes de configurar 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.

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ón get_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.
Conserva la respuesta completa del asistente antes de añadir los resultados de las herramientas. En Responses, conserva todos los elementos de 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

Referencias oficiales

Estas referencias definen los campos de los protocolos de origen. Verifica la función con tu Model ID de BetterToken antes de usarla.