Skip to main content
acedatacloud هو SDK الرسمي لـ Ace Data Cloud بلغة Python، حيث يقوم بتغليف جميع الخدمات المتاحة على api.acedata.cloud في طرق من نوع client.openai.chat.completions.create(...)، client.images.generate(...)، client.search.google(...)، وغيرها، كما يوفر مجموعتين من العملاء: متزامنة وغير متزامنة. يعتمد في الأساس على httpx، ويدعم تدفق SSE، وإعادة المحاولة التلقائية، والاستثناءات المخصصة، والتحقق من الأنواع باستخدام pydantic. عنوان المصدر والحزمة:

التثبيت

إذا كنت بحاجة إلى الدفع على سلسلة X402 (بدون مسار API Token)، قم بتثبيت واحد آخر:
نتيجة فحص الإصدار في بيئة نظيفة:
تفسير النتائج:
  • إصدار الحزمة هو 2026.4.26.1 (CalVer، تم التعديل في 26 أبريل 2026).
  • AceDataCloud هو عميل متزامن، وAsyncAceDataCloud هو عميل غير متزامن باستخدام asyncio.
  • لا يعتمد هذا SDK على pydantic، حيث يتم إرجاع جسم الاستجابة بشكل موحد كـ dict. هذه النقطة تختلف عن openai-python، لذا يجب الانتباه عند الانتقال.

إعداد API Token

راجع نظرة عامة على SDK - طلب API Token للحصول على الرمز، ثم قم بتصديره في shell:
عند إنشاء العميل، لا تقم بتمرير api_token، حيث سيقوم SDK بقراءة متغير البيئة ACEDATACLOUD_API_TOKEN تلقائيًا. إذا كان لديك بالفعل ACEDATACLOUD_API_KEY في بيئتك (وفقًا لاتفاقية مستودع المشروع)، يرجى تمريره بشكل صريح: AceDataCloud(api_token=os.environ["ACEDATACLOUD_API_KEY"]).

المثال 1: chat.completions (متزامن)

نتيجة تشغيل البرنامج:
تفسير النتائج:
  • id هو معرف الاستجابة، ويمكن العثور عليه في سجل الاستخدام.
  • content ADC_PY_SDK_OK هو المعرف الثابت الذي تم إرجاعه فعليًا من النموذج.
  • res["usage"] يعيد dict، وليس نموذج pydantic؛ تستهلك المكالمة الواحدة حوالي 24 توكن.

المثال 2: chat.completions (تدفق SSE)

عند استخدام stream=True، تعيد create مولدًا عاديًا، حيث يتم إرجاع كل جزء كـ dict تم تحليله.
نتيجة تشغيل البرنامج:
تفسير النتائج:
  • تأخير الإطار الأول 2104 مللي ثانية، بينما استغرق 11 إطارًا لاحقًا 7 مللي ثانية فقط للوصول - بمجرد بدء الخدمة في التدفق، يمكن استهلاكها بسهولة محليًا.
  • الجزء هو dict عادي، ويمكن الحصول على القيم بشكل آمن باستخدام .get() وفقًا لتنسيق OpenAI SSE.
  • في الإنتاج الفعلي، يُوصى بإرسال SSE إلى الواجهة الأمامية أثناء عملية الإرجاع، حيث يكون التأخير الإجمالي قريبًا من 2 ثانية.

المثال 3: AsyncAceDataCloud (غير متزامن)

واجهة برمجة التطبيقات لـ AsyncAceDataCloud متطابقة تمامًا مع النسخة المتزامنة، ولكن جميع طرق الإدخال/الإخراج تعيد coroutine. مناسبة لخدمات FastAPI / aiohttp / asyncio.
نتيجة تشغيل البرنامج:
تفسير النتائج:
  • النسخة غير المتزامنة والنسخة المتزامنة تسيران على نفس مسار HTTP، ولكن تنفيذ مجموعة الاتصال مختلف ( httpx.AsyncClient).
  • عند الخروج، يجب أن تقوم صراحةً بـ await client.close() لإغلاق مجموعة الاتصال؛ في خدمات ذات عمر طويل، يكفي إغلاقها مرة واحدة قبل انتهاء العملية.
  • التأخير في كل مرة مشابه تقريبًا للنسخة المتزامنة، وفي سيناريوهات التزامن، تظهر المزايا الحقيقية - يمكن لدورة حدث واحدة تشغيل عشرات أو مئات الطلبات في الهواء.

المثال 4: images.generate (NanoBanana)

واجهة برمجة التطبيقات NanoBanana هي خدمة توليد الصور المتزامنة، لا تقم بتمرير wait - ستنتظر مكالمات SDK حتى تعيد الخدمة 200.
نتيجة البرنامج:
توضيح النتائج:
  • image_url هو عنوان ثابت على CDN، يمكن تنزيله مباشرة أو تضمينه في صفحة الويب.
  • 18.9 ثانية كانت تقريبًا كلها من استدلال النموذج؛ تكلفة SDK المحلية كانت فقط بضع مللي ثانية.
  • بالنسبة لمهام مثل Midjourney وSora وVeo وSuno التي هي مهام غير متزامنة حقيقية، يجب استخدام wait=True أو TaskHandle.wait() للاستطلاع يدويًا، انظر استطلاع المهام واستجابة التدفق في SDK.

مثال 5: معالجة الأخطاء المخصصة

تتوافق مستويات الاستثناء مع TypeScript: AuthenticationError (401)، TokenMismatchError (التوكن لا يتطابق مع الخدمة)، InsufficientBalanceError (الرصيد غير كاف)، ResourceDisabledError (الخدمة معطلة)، ValidationError (400)، RateLimitError (429)، ModerationError (403 مراجعة المحتوى)، APIError (خطأ شامل)، TimeoutError (مهلة)، TransportError (طبقة الشبكة).

خيارات التكوين

وحدة timeout في SDK Python و poll_interval / max_wait في TaskHandle هي ثواني، بينما تستخدم SDK TypeScript مللي ثانية، يجب الانتباه عند الانتقال بين اللغات. انظر استطلاع المهام واستجابة التدفق في SDK.
يقوم SDK افتراضيًا بقراءة متغير البيئة ACEDATACLOUD_API_TOKEN؛ في هذه المقالة، ولتوحيدها مع دليل Claude Code VS Code ودروس أخرى، المثال يستخدم ACEDATACLOUD_API_KEY، يحتاج إلى api_token=os.environ["ACEDATACLOUD_API_KEY"] للحقن الصريح.

متقدم: X402 معالج الدفع

يمكنك الاطلاع على العملية الكاملة والنتائج الحقيقية على السلسلة SDK + معالج الدفع X402.

كيفية查看剩余额度

يمكنك查看 الرصيد المتبقي الحالي من خلال لوحة تحكم Ace Data Cloud - قائمة التطبيقات. يمكنك الاطلاع على جميع سجلات الاستخدام وتفاصيل الخصم من خلال لوحة تحكم Ace Data Cloud - تاريخ الاستخدام.

تعرف على المزيد