Viernes 16 de octubre de 2026

Tres trampas de los timeouts en el SDK de Python de Anthropic

El artículo explica tres comportamientos del SDK de Python de Anthropic (versión 1.15.0) que dificultan limitar el tiempo de una llamada a la API, probados con un servidor local simulado. Con un max_tokens alto, la llamada no streaming lanza ValueError antes de enviar la petición, así que conviene usar streaming y get_final_message(). El parámetro timeout mide la inactividad entre datos, no el tiempo total, por lo que una respuesta que llega poco a poco puede superar con creces los 2 segundos; el plazo global debe fijarse con asyncio.wait_for. Además, los timeouts se reintentan automáticamente (por defecto 2 veces), de modo que un timeout de 2 segundos tardó 7,6 segundos y envió 3 peticiones, lo que puede duplicar el coste; se recomienda fijar max_retries de forma explícita.

Fuentes