الإعلان عن شراكة جديدة مع Proofig! تعرف على المزيد

كيفية اكتشاف الذكاء الاصطناعي في Python

ماكس سبيرو
11 أغسطس 2025

في هذا البرنامج التعليمي، سنتعلم كيفية فحص النص بحثًا عن محتوى الذكاء الاصطناعي باستخدام Pangram's pangram-sdk حزمة Python.

ال pangram-sdk تسمح الحزمة للمطورين باستخدام واجهة برمجة تطبيقات كاشف المحتوى بالذكاء الاصطناعي من Pangram للتحقق من النصوص القصيرة أو المستندات الطويلة بحثًا عن علامات تدل على أن المحتوى تم إنشاؤه بواسطة الذكاء الاصطناعي.

في هذا البرنامج التعليمي، سوف نتناول الحصول على مفتاح API، واستخدام SDK Python من Pangram، وتقديم طلبات HTTP مباشرة إلى نقاط نهاية API من Pangram. يرجى الاطلاع على وثائق API الكاملة من Pangram للحصول على مزيد من المعلومات وأمثلة الاستخدام.

الإعداد

للبدء، ستحتاج إلى حساب Pangram. قم بإنشاء حساب باستخدام البريد الإلكتروني الذي تريد ربط مفتاح API به. بمجرد إنشاء الحساب، سيكون لديك أحد خيارين لإعداد الحساب: التسجيل في خطة المطورين أو الحصول على مفتاح API للباحثين.

تبدأ خطة المطورين من Pangram من 100 دولار شهريًا. تشمل الخطة ما يصل إلى 2000 رصيد API شهريًا. يمكنك الاتصال بنا لفتح حسابك وتمكين التسعير على أساس الاستخدام. اشترك في خطة المطورين للبدء. بمجرد الاشتراك في خطة المطورين، ستتمكن من العثور على مفتاح API الخاص بك في وحدة تحكم API.

توفر Pangram أيضًا مفاتيح API مجانًا للباحثين. إذا كنت تعمل على دراسة بحثية غير تجارية، يرجى ملء هذا النموذج لتقديم طلب للحصول على أرصدة API مجانية. سنرد عليك مباشرةً بمفتاح API وتخصيص رصيد البحث الخاص بك.

إعداد البيئة

بمجرد حصولك على مفتاح API، يمكنك إضافته إلى بيئتك. قم بتشغيل الأمر التالي، مع استبدال مفتاح API المثال بمفتاح API الشخصي الخاص بك. يمكنك أيضًا إضافة هذا الأمر إلى .bashrc, .zshrc, .env، وما إلى ذلك لتعيين PANGRAM_API_KEY متغير.

تصدير PANGRAM_API_KEY="12345678-1234-abcd-0123-123456789abc"

تنزيل حزمة تطوير البرامج Python SDK

تأكد من تمكين بيئة Python الصحيحة. قم بتشغيل الأمر التالي لتثبيت SDK Python الخاص بـ Pangram:

pip تثبيت pangram-sdk

إذا كنت تستخدم uv، فيمكنك بدلاً من ذلك استخدام:

uv إضافة pangram-sdk

إذا كنت تستخدم Poetry، فسيكون الأمر كما يلي:

شعر إضافة pangram-sdk

استخدم SDK Python

إنشاء عميل Pangram

أولاً، قم بإنشاء عميل Pangram لتقديم الطلبات. سيقوم عميل Pangram تلقائيًا بقراءة مفتاح API الخاص بك من متغيرات البيئة الخاصة بك.

من بانجرام استيراد Pangram
pangram_client = بانجرام()

يمكنك أيضًا تمرير مفتاح API مباشرةً:

من بانجرام استيراد Pangram

my_api_key = ''  # املأ هذا بمفتاح API الخاص بك.
pangram_client = Pangram(api_key=my_api_key)

تقديم طلب قياسي

pangram_client's توقع ستقوم الوظيفة بإرسال طلب واحد إلى واجهة برمجة تطبيقات Pangram وإرجاع النتيجة. بشكل افتراضي، سيتم البحث فقط في أول 400 كلمة تقريبًا. سيستهلك كل طلب رصيدًا واحدًا.

نص = "الثعلب البني السريع يقفز فوق الكلب الكسول."
النتيجة = pangram_client.تنبؤ(text)
النتيجة = النتيجة["ai_likelihood"]
تمثيل النص للنتيجة = result["التنبؤ"]
طباعة(f"نتوقع أن النص {text} هو {تمثيل_نصي_للنتيجة}، مع احتمالية ذكاء اصطناعي تبلغ {النتيجة}.") 

تقديم طلب دفعي

استخدم توقع_الدفعة لإرسال مجموعة من الاستعلامات في وقت واحد، من أجل معالجة أسرع لمجموعات البيانات الكبيرة. سيستخدم كل طلب رصيدًا واحدًا لكل عنصر في المجموعة. ستكون النتائج المرجعة عبارة عن مصفوفة بنفس تنسيق توقع وظيفة.

text_batch = ["text1", "text2"]

results = pangram_client.batch_predict(text_batch)
for result in results:
    text = result["text"]
    score = result["ai_likelihood"]
    text_representation_of_score = result["prediction"]
    print(f"We predict that the text {text} is {text_representation_of_score}, with an AI likelihood of {score}.") 

تقديم طلب نافذة منزلقة

استخدم تنبؤ_نافذة_منزلقة للحصول على توقعات دقيقة لاستخدام الذكاء الاصطناعي في مستند أطول. ستقوم هذه الوظيفة بتقسيم النص المدخل إلى نوافذ وتوقع الذكاء الاصطناعي لكل نافذة في الدفعة. تستخدم هذه الوظيفة رصيدًا واحدًا لكل 1000 كلمة في النص المدخل.

نص = "الثعلب البني السريع يقفز فوق الكلب الكسول."
النتيجة = pangram_client.تنبؤ_نافذة_منزلقة(نص)
النتيجة = النتيجة["ai_likelihood"]
تمثيل النص للنتيجة = result["التنبؤ"]
طباعة(f"نتوقع أن النص {text} هو {تمثيل_نصي_للنتيجة}، مع احتمالية ذكاء اصطناعي تبلغ {النتيجة}.") 

والنتيجة هي ملف dict يحتوي على الحقول التالية:

  • نص: [سلسلة] النص المدخل
  • ai_likelihood: [float] رقم بين 0 و 1، حيث يشير الرقم القريب من 1 إلى توقع مؤكد بأن النص هو نتاج الذكاء الاصطناعي.
  • تنبؤ: [سلسلة] وصف نصي لمقدار محتوى الذكاء الاصطناعي الذي يحتوي عليه النص
  • تنبؤ قصير: [سلسلة] "بشري" أو "مختلط" أو "ذكاء اصطناعي"
  • fraction_ai_content: [float] رقم عشري بين 0 و 1، حيث يشير الرقم 1 إلى وجود الذكاء الاصطناعي في النص بأكمله.
  • نوافذ: [قائمة] قائمة بنتائج التنبؤ الفردية للنص.

احصل على رابط إلى لوحة معلومات Pangram مع النتائج

يمكن لشاشة Pangram عرض نتائج طلب نافذة منزلقة بشكل أصلي. استخدم الوظيفة التنبؤ_مع_رابط_لوحة_المراقبة لتشغيل استعلام نافذة منزلقة والحصول على رابط لوحة المعلومات. تمامًا مثل تنبؤ_نافذة_منزلقة، يتم احتساب تكلفة هذه الوظيفة بواقع 1 نقطة لكل 1000 كلمة من النص المدخل.

نص = "الثعلب البني السريع يقفز فوق الكلب الكسول."
النتيجة = pangram_client.تنبؤ_نافذة_منزلقة(نص)
النتيجة = النتيجة["ai_likelihood"]
تمثيل النص للنتيجة = result["التنبؤ"]
رابط_لوحة_المراقبة = result["رابط لوحة التحكم"]
طباعة(f"نتوقع أن النص {text} هو {تمثيل النص للنتيجة}، مع احتمالية ذكاء اصطناعي تبلغ {النتيجة}. يمكنك الاطلاع على النتائج الكاملة على {dashboard_link}") 

والنتيجة هي دكت يحتوي على نفس الحقول مثل تنبؤ_نافذة_منزلقة النتيجة، باستثناء أنه يحتوي أيضًا على حقل إضافي واحد:

  • رابط لوحة التحكم: [سلسلة] رابط إلى صفحة تحتوي على نتائج النافذة المنزلقة الكاملة.

طرق بديلة: طلبات HTTP

يمكن الوصول إلى جميع هذه الوظائف عبر HTTP. للحصول على الوثائق الكاملة حول كيفية إرسال طلبات HTTP إلى واجهة برمجة تطبيقات Pangram، يرجى الاطلاع على وثائق واجهة برمجة تطبيقات الاستدلال الخاصة بـ Pangram.

إضافة محاولات إعادة

في بعض الأحيان، قد تنتهي مهلة طلب Pangram أو تفشل. لضمان عدم تعطل برنامجك، نوصي بشدة بإضافة محاولات إعادة. إحدى هذه المكتبات هي Tenacity، والتي نوصي بها.

فيما يلي مثال على استخدام Tenacity لإعادة محاولة مكالمات Pangram:

من المثابرة استيراد إعادة المحاولة، التوقف_بعد_المحاولة، انتظار عشوائي أسي، retry_if_exception_type

@retry(
    retry=retry_if_exception_type((TimeoutError، خطأ_الاتصال))،
    إيقاف=توقف_بعد_المحاولة(5)،
    انتظر=انتظار_عشوائي_أسي(المضاعف=0.5، الحد الأقصى=10)،
    إعادة رفع=صحيح،
)
def تنبؤ(text):
    إرجاع pangram_client.تنبؤ(نص)

تجميع كل ذلك معًا

فيما يلي مثال كامل لاستخدام Pangram SDK للتحقق من أي نص من أجل الذكاء الاصطناعي، والحصول على رابط لوحة التحكم، مع إعادة المحاولة.

من بانجرام استيراد Pangram
من tenacity استيراد إعادة المحاولة، التوقف_بعد_المحاولة، انتظار عشوائي أسي، retry_if_exception_type

api_key = ""
pangram_client = Pangram(api_key=api_key)

@retry(
    retry=retry_if_exception_type((TimeoutError، خطأ_الاتصال))،
    إيقاف=توقف_بعد_المحاولة(5)،
    انتظر=انتظار_عشوائي_أسي(المضاعف=0.5، الحد الأقصى=10)،
    إعادة رفع=صحيح،
)
def تنبؤ_الذكاء_الاصطناعي_مع_الرابط(نص)
    result = pangram_client.تنبؤ_نافذة_منزلقة(نص)
    إرجاع النتيجة

نص = "الثعلب البني السريع يقفز فوق الكلب الكسول."
النتيجة = تنبؤ_الذكاء_الاصطناعي_مع_رابط(نص)
النتيجة = النتيجة["ai_likelihood"]
تمثيل نصي للنتيجة = result["التنبؤ"]
رابط_لوحة_المراقبة = result["رابط لوحة التحكم"]
طباعة(f"نتوقع أن النص {text} هو {تمثيل_نصي_للنتيجة}، مع احتمالية ذكاء اصطناعي تبلغ {النتيجة}. يمكنك الاطلاع على النتائج الكاملة على {dashboard_link}")

إغلاق

نأمل أن تكون قد تمكنت من استخدام حزمة Pangram's AI Detection Python للكشف عن محتوى الذكاء الاصطناعي برمجياً بفضل هذا الدليل. هل صنعت شيئاً رائعاً باستخدامها؟ يرجى الإشارة إلينا على LinkedIn أو X ومشاركة ما صنعته!

اشترك في نشرتنا الإخبارية
نشارك تحديثات شهرية حول أبحاثنا في مجال الكشف عن الذكاء الاصطناعي.