HeadlinesBriefing favicon HeadlinesBriefing.com

SDK Python d'OpenAI migre vers HTTPX2

Hacker News •
×

Le SDK Python d'OpenAI a migré vers HTTPX2 pour ses clients HTTP synchrones et asynchrones. HTTPX2 est maintenant installé automatiquement avec le SDK, remplaçant l'ancien paquet httpx. Ce changement affecte les applications qui interagissent avec la couche HTTP du SDK, mais les appels API existants, les modèles de réponse analysés, la diffusion en continu, l'authentification, les nouvelles tentatives et les délais d'attente continuent de fonctionner si vous utilisez le client par défaut. Aucune installation supplémentaire n'est requise ; cependant, si votre application a importé httpx uniquement parce que le SDK en dépendait, vous devez maintenant ajouter httpx comme dépendance propre ou migrer ces importations vers httpx2.

La vérification des certificats TLS a également changé. HTTPX2 utilise le magasin de confiance du système d'exploitation au lieu du bundle certifi, ce qui peut casser la vérification des certificats dans les images de conteneurs minimales, les proxys d'entreprise qui inspectent TLS ou les configurations certifi personnalisées. Pour résoudre ce problème, installez les certificats CA dans le magasin de confiance du système ou définissez les variables d'environnement `SSL_CERT_FILE` ou `SSL_CERT_DIR`. Alternativement, vous pouvez passer un `ssl.SSLContext` avec votre propre bundle CA via le paramètre `verify` lors de la construction d'un client personnalisé.

Pour les clients personnalisés, utilisez `httpx2.Client` et `httpx2.AsyncClient` directement, ou utilisez les assistants fournis `DefaultHttpx2Client` et `DefaultAsyncHttpx2Client` pour préserver les valeurs par défaut recommandées par le SDK. Les anciens noms `DefaultHttpxClient` fonctionnent toujours mais construisent maintenant des clients HTTPX2. Pour un contrôle granulaire des délais d'attente, utilisez `httpx2.Timeout` avec des paramètres comme `connect` et `read`. Cette migration garantit que le SDK reste à jour avec les normes HTTP modernes.