ثبّت الحزمة المنشورة phaseo من PyPI.
يوفّر SDK Python من Phaseo العميل المتزامن Phaseo والعميل غير المتزامن الأصلي AsyncPhaseo.
طلبات غير متزامنة أصلية
استخدم async for event in client.responses.stream(request) لأحداث النص المحلّلة.
يوقف إلغاء asyncio الأصلي HTTP والاستطلاع. تغطي مساحات الموارد النص
والصور والصوت والموسيقى والفيديو والدفعات والملفات والنماذج والتضمينات وOCR وإعادة الترتيب والتحليل
ومراجعة المحتوى والقرارات؛ استخدم await client.request(...) لعمليات HTTP الأخرى.
تبقى ملكية عملاء HTTPX المحقونين للجهة المستدعية.
يدعم العميلان with_options(timeout=30, max_retries=2) دون تغيير
العميل الأصلي. تحدّ مهلات HTTPX انعدام نشاط الشبكة بالثواني. إعادة المحاولة
صفر افتراضيًا وتُطبق فقط على GET/HEAD قبل استهلاك الاستجابة، ولا تُطبق على الإرسال.
يوفّر PhaseoHTTPError الجسم والرمز ومعرّف الطلب وعنوان التتبع ومهلة إعادة المحاولة.
عند الترقية، استبدل التقاط urllib.error.HTTPError لطلبات JSON المتزامنة
بـPhaseoHTTPError (أوhttpx.HTTPStatusError)، والتقاط أخطاء الاتصال
بـhttpx.TransportError. يمثل error.status حالة HTTP وerror.code
رمز خطأ API.
ميزات إضافية
توفّر موارد المهام مقابض start وresume تتضمن result وevents
وto_dict. انتظر الطرق غير المتزامنة وكرّر الأحداث عبر async for.
يدعم الفيديو والدفعات فقط الإلغاء البعيد. ابث الوسائط عبر
videos.stream_content(id) والدفعات عبر batches.results(id). يكتب المساعد المتزامن
download_to(chunks, binary_file) دون تخزين الملف كاملًا.
يقبل رفع الملفات بايتات وكائنات Path وكائنات ملفات وصفوف ملفات HTTPX.
يتحقق responses.parse(request, PydanticModel) من إخراج JSON المكتمل؛
اضبط تنسيق استجابة الخادم صراحةً. يجمع collect_stream
وcollect_async_stream أحداث النص المحلّلة والاستخدام.
يفحص check_model_capabilities(id, input_types=..., output_types=..., endpoints=..., parameters=..., parameter_values=...) القدرات المعلنة والقيود العددية
معًا في عرض مزوّد متاح واحد. تفشل المعاينة المسبقة عند وجود حقائق مجهولة.
لمحددات النماذج ومحررات المعلمات، استخدم البيانات الوصفية الحية لنقاط النهاية:
تُعلّم كل معلمة بـsupported أوpartial أوunsupported أوunknown،
مع مسارات مزوّد مطابقة ومشكلات القيود للإبراز ضمن السطر.
يعيد client.models.capabilities(model_id) استجابة قدرات نقطة النهاية
كاملة. يوفّر AsyncPhaseo الطرق نفسها القابلة للانتظار.
للاختبارات المحلية، احقن phaseo.testing.MockTransport باستخدام httpx.Client أو
httpx.AsyncClient. تفشل الطلبات غير المتوقعة محليًا؛ استدعِ assert_done()
للتحقق من استخدام كل بيانات الاختبار. لا تتحقق هذه البيانات من سلوك المزوّد الفعلي.
تصدّر غرف Phaseo كودًا قابلًا للتشغيل للطلب عبر الحصول على الكود.
الميزات
- نماذج طلبات ذات أنواع محددة ومُنشأة من مواصفات OpenAPI.
- مساعدات مضمّنة للدردشة والاستجابات والرسائل والصور والصوت والتضمينات والإشراف والملفات والدفعات وعمليات الإنشاء ومهام الفيديو غير المتزامنة.
- مساعدات البث للنصوص والاستجابات والرسائل (مكررات
stream_*).
- تشمل وظائف مستوى التحكم عرض النماذج ونقاط النهاية والمؤسسات، واكتشاف الأسعار وحسابها، وإدارة دورة حياة مفاتيح API ومساحات العمل، وفحص المفتاح الحالي، والاطلاع على الحالة والمزوّدين والأرصدة والنشاط والتحليلات.
مثال سريع
انتظار الموسيقى أو الفيديو أو الدفعات
استخدم videos.generate_and_wait(request, **options) للفيديو وbatches.create_and_wait(request, **options) للدفعات. ترسل المساعدات المتزامنة مرة واحدة وتعيد الاستجابة المكتملة كاملة، مع الاستطلاع عند الحاجة فقط. يحتفظ JobFailedError.response بتفاصيل المهام الفاشلة أو الملغاة أو المنتهية. قد تتضمن الدفعات المكتملة طلبات فردية فاشلة.
يدعم كل مورد wait(id, **options) لاستئناف مهمة موجودة وإعادة أي استجابة نهائية. توفّر الموسيقى أيضًا الطريقتين المباشرتين create(request) وretrieve(id).
الخيارات هي interval (ثوانٍ؛ افتراضي 5 وأدنى 0.25) وtimeout (ثوانٍ؛ افتراضي 1800) وon_poll وcancel_event (كائن threading.Event). تبدأ مهلة الانتظار بعد عودة الإرسال. يتحقق العميل المتزامن من الإلغاء والمواعيد بين الطلبات وردود النداء؛ ولا يمكنه مقاطعة استدعاء HTTP جارٍ بهذه الخيارات.
يحتفظ JobTimeoutError وJobCancelledError بـjob_id وlast_response. استأنف عبر .wait(error.job_id). لا تُلغي المهلة أو الإلغاء المحلي المهمة البعيدة، ولا تُعاد الإرسالات تلقائيًا أبدًا. لا تضيف المساعدات تنفيذًا خلفيًا للبوابة.
”ما الذي يتضمنه”
- عميل
Phaseo
chat.completions.create(...) and responses.create(...) مساعدات التوافق
- مساعدات الموارد مثل
client.batches, client.videos, client.files, and client.async_jobs
- مساعدات لعناوين WebSocket لتدفّقات دورة حياة المهام غير المتزامنة والدفعات والفيديو
client.batches.stream_results(batch_id) لقطع بايتات JSONL للدفعات
- مساعدات دورة حياة النموذج مثل
get_model_deprecation_info(...) and validate_model(...)
- مكررات البث للنصوص والاستجابات والرسائل
- نماذج الطلب والاستجابة المُنشأة في
phaseo.models
آخر تعديل في ٢ أكتوبر ٢٠٢٦