Phaseo et asynchrone natif AsyncPhaseo.
Requêtes asynchrones natives
async for event in client.responses.stream(request) pour les événements texte analysés.
L’annulation native asyncio arrête HTTP et les interrogations. Les espaces de ressources couvrent texte,
images, audio, musique, vidéo, lots, fichiers, modèles, embeddings, OCR, reclassement, analyse,
modération et décisions ; utilisez await client.request(...) pour les autres opérations HTTP.
Les clients HTTPX injectés restent sous la responsabilité de l’appelant.
Les deux clients prennent en charge with_options(timeout=30, max_retries=2) sans modifier le
client original. Les délais HTTPX limitent l’inactivité réseau en secondes. Les tentatives sont
nulles par défaut et concernent uniquement GET/HEAD avant lecture de la réponse, jamais les soumissions.
PhaseoHTTPError expose le corps, le code, l’identifiant de requête, l’URL de trace et le délai de nouvelle tentative.
Lors de la mise à niveau, remplacez les captures de urllib.error.HTTPError pour les requêtes JSON synchrones
par PhaseoHTTPError (ou httpx.HTTPStatusError), et les erreurs de connexion
par httpx.TransportError. error.status est le statut HTTP ; error.code est
le code d’erreur API.
Fonctionnalités supplémentaires
Les ressources de tâches exposent des référencesstart et resume avec result, events et
to_dict. Attendez les méthodes asynchrones et parcourez les événements avec async for.
Seuls vidéo et lots permettent l’annulation distante. Diffusez les médias avec
videos.stream_content(id) et les lots avec batches.results(id). L’outil synchrone
download_to(chunks, binary_file) écrit sans mettre en tampon le fichier entier.
Les téléversements acceptent des octets, des objets Path, des objets fichier et des tuples fichier HTTPX.
responses.parse(request, PydanticModel) valide la sortie JSON terminée ;
configurez explicitement le format de réponse serveur. collect_stream et
collect_async_stream accumulent les événements texte analysés et l’utilisation.
check_model_capabilities(id, input_types=..., output_types=..., endpoints=..., parameters=..., parameter_values=...) vérifie ensemble les capacités annoncées et les contraintes
scalaires d’une offre fournisseur disponible. Les données inconnues font échouer la vérification préalable.
Pour les sélecteurs de modèles et éditeurs de paramètres, utilisez les métadonnées actuelles des points d’accès :
supported, partial, unsupported ou unknown,
avec les routes correspondantes et les problèmes de contraintes pour l’affichage en ligne.
client.models.capabilities(model_id) renvoie la réponse complète des capacités
du point d’accès. AsyncPhaseo expose les mêmes méthodes attendables.
Pour les tests locaux, injectez phaseo.testing.MockTransport via httpx.Client ou
httpx.AsyncClient. Les requêtes imprévues échouent localement ; appelez assert_done() pour
vérifier tous les jeux de test. Ils ne vérifient pas le comportement réel des fournisseurs.
Les salons Phaseo exportent le code exécutable de la requête via Obtenir le code.
Fonctionnalités
- Modèles de requête typés générés à partir de la spécification OpenAPI.
- Méthodes intégrées pour le chat, les réponses, les messages, les images, l’audio, les embeddings, les modérations, les fichiers, les lots, les générations et les tâches vidéo asynchrones.
- Méthodes de streaming pour le texte, les réponses et les messages (itérateurs
stream_*). - Fonctions du plan de contrôle pour consulter les modèles, endpoints et organisations, explorer et calculer les tarifs, gérer le cycle de vie des clés API et des espaces de travail, vérifier la clé actuelle et consulter l’état, les fournisseurs, les crédits, l’activité et les analyses.
Exemple rapide
Attendre la musique, les vidéos ou les lots
videos.generate_and_wait(request, **options) pour les vidéos et batches.create_and_wait(request, **options) pour les lots. Ces outils synchrones soumettent une seule fois et renvoient la réponse complète, en interrogeant uniquement si nécessaire. JobFailedError.response conserve les détails des tâches échouées, annulées ou expirées. Les lots terminés peuvent contenir des requêtes individuelles échouées.
Chaque ressource accepte wait(id, **options) pour reprendre une tâche existante et renvoyer toute réponse finale. La musique expose aussi les méthodes directes create(request) et retrieve(id).
Les options sont interval (secondes ; défaut 5, minimum 0.25), timeout (secondes ; défaut 1800), on_poll et cancel_event (un threading.Event). Le délai d’attente débute après le retour de la soumission. Le client synchrone vérifie l’annulation et les échéances entre requêtes et rappels ; ces options ne peuvent interrompre un appel HTTP en cours.
JobTimeoutError et JobCancelledError conservent job_id et last_response. Reprenez avec .wait(error.job_id). Le délai ou l’annulation locale n’annulent pas la tâche distante et les soumissions ne sont jamais répétées automatiquement. Ces outils n’ajoutent pas d’exécution en arrière-plan à la passerelle.
”Contenu du package”
- Client
Phaseo chat.completions.create(...)andresponses.create(...)méthodes de compatibilité- Des méthodes de ressources telles que
client.batches,client.videos,client.files, andclient.async_jobs - Des méthodes pour créer les URL WebSocket des flux de cycle de vie des tâches asynchrones, des lots et des vidéos
client.batches.stream_results(batch_id)pour les fragments d’octets JSONL des lots- Des méthodes de cycle de vie des modèles telles que
get_model_deprecation_info(...)andvalidate_model(...) - Itérateurs de streaming pour le texte, les réponses et les messages
- Modèles de requête/réponse générés dans
phaseo.models