Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/pvharmo2/gha-lab-40e23db109
تحليل الثغرات الأمنيةأمن السحابةDevSecOpsأمن سلسلة التوريدالتعلم والتعليم
GitHubpvharmo2/gha-lab-40e23db109

gha-lab-40e23db109

مختبر أبحاث أمنية: إعادة إنتاج مُتحكَّم بها لثغرة CVE-2024-4254 (GHSA-fc78-c36r-cc59) — تنفيذ كود/سحب فرع في deploy-website.yml داخل gradio-app/gradio @ d4c503a

عرض المستودع
1منذ 11س 41دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

أداة بحث آلية — ليست المشروع الأصلي.

هذا المستودع عبارة عن مختبر مؤقت تم بناؤه بواسطة نظام آلي لأطروحة ماجستير في جامعة لافال حول إعادة إنتاج ثغرات سير عمل GitHub Actions المنشورة. وهو لقطة حرفية من gradio-app/gradio عند الالتزام d4c503a471cfd202c56fbddd99d5da431a4b7478 (2024-08-02)، ويُعاد توزيعه بموجب ترخيص ذلك المشروع نفسه، الذي تم تضمين ملفه دون تغيير في هذه اللقطة.

المشروع الأصلي ليس مشاركًا، ولا يُستهدف أبدًا، والثغرة المدروسة هنا عامة بالفعل. كل سر ومتغير في هذا المستودع هو قيمة وهمية مولّدة عشوائيًا — لا توجد أي بيانات اعتماد حقيقية موجودة. مراجع الإجراءات وصور المشغّل مثبتة على ما تم حله في 2024-08-02؛ راجع pinning.md في مخرجات النظام الآلي لمعرفة كل تغيير تم إجراؤه على اللقطة.

الأسئلة أو الاعتراضات: [email protected]


gradio

gradio-backend gradio-ui PyPI PyPI downloads Python version Twitter follow

الموقع الإلكتروني | التوثيق | الأدلة | بدء الاستخدام | الأمثلة | 中文

Gradio: أنشئ تطبيقات ويب للتعلم الآلي — في Python

Gradio هي حزمة Python مفتوحة المصدر تتيح لك بناء عرض توضيحي أو تطبيق ويب لنموذج التعلم الآلي أو واجهة برمجة التطبيقات أو أي دالة Python عشوائية بسرعة. يمكنك بعد ذلك مشاركة رابط العرض التوضيحي أو تطبيق الويب في بضع ثوانٍ فقط باستخدام ميزات المشاركة المدمجة في Gradio. لا حاجة لخبرة في JavaScript أو CSS أو استضافة الويب!

يتطلب الأمر بضعة أسطر فقط من Python لإنشاء عرض توضيحي جميل مثل العرض أعلاه، فلنبدأ 💫

التثبيت

المتطلب الأساسي: يتطلب Gradio Python 3.8 أو أحدث

نوصي بتثبيت Gradio باستخدام pip، المضمن افتراضيًا في Python. قم بتشغيل هذا في الطرفية أو موجه الأوامر:

root@kitploit:~
pip install gradio

[!TIP] من الأفضل تثبيت Gradio في بيئة افتراضية. يتم توفير تعليمات التثبيت التفصيلية لجميع أنظمة التشغيل الشائعة هنا.

بناء أول عرض توضيحي لك

يمكنك تشغيل Gradio في محرر الأكواد المفضل لديك، أو Jupyter notebook، أو Google Colab، أو أي مكان آخر تكتب فيه Python. لنكتب أول تطبيق Gradio لك:

root@kitploit:~
import gradio as gr

def greet(name, intensity):
    return "Hello " * intensity + name + "!"

demo = gr.Interface(
    fn=greet,
    inputs=["text", "slider"],
    outputs=["text"],
)

demo.launch()

[!TIP] نقوم بتقصير الاسم المستورد من gradio إلى gr لتحسين قابلية قراءة الكود. هذا اصطلاح واسع الانتشار يجب عليك اتباعه حتى يتمكن أي شخص يعمل مع كودك من فهمه بسهولة.

الآن، قم بتشغيل الكود الخاص بك. إذا كتبت كود Python في ملف باسم، على سبيل المثال، app.py، فستقوم بتشغيل python app.py من الطرفية.

سيتم فتح العرض التوضيحي أدناه في متصفح على http://localhost:7860 إذا تم تشغيله من ملف. إذا كنت تعمل داخل دفتر ملاحظات، فسيظهر العرض التوضيحي مضمّنًا داخل دفتر الملاحظات.

hello_world_4 demo

اكتب اسمك في مربع النص على اليسار، واسحب شريط التمرير، ثم اضغط على زر الإرسال. يجب أن ترى تحية ودية على اليمين.

[!TIP] عند التطوير محليًا، يمكنك تشغيل تطبيق Gradio في وضع إعادة التحميل السريع، الذي يعيد تحميل تطبيق Gradio تلقائيًا كلما قمت بإجراء تغييرات على الملف. للقيام بذلك، اكتب ببساطة gradio قبل اسم الملف بدلاً من python. في المثال أعلاه، ستكتب: gradio app.py في الطرفية. تعرف على المزيد حول إعادة التحميل السريع في دليل إعادة التحميل السريع.

فهم فئة Interface

ستلاحظ أنه من أجل إنشاء أول عرض توضيحي لك، قمت بإنشاء مثيل لفئة gr.Interface. تم تصميم فئة Interface لإنشاء عروض توضيحية لنماذج التعلم الآلي التي تقبل مدخلًا واحدًا أو أكثر وتُرجع مخرجًا واحدًا أو أكثر.

تحتوي فئة Interface على ثلاث وسائط أساسية:

  • fn: الدالة التي سيتم تغليف واجهة مستخدم (UI) حولها
  • inputs: مكونات Gradio المستخدمة للإدخال. يجب أن يتطابق عدد المكونات مع عدد الوسائط في الدالة الخاصة بك.
  • outputs: مكونات Gradio المستخدمة للإخراج. يجب أن يتطابق عدد المكونات مع عدد القيم المُرجعة من الدالة الخاصة بك.

وسيطة fn مرنة جدًا — يمكنك تمرير أي دالة Python تريد تغليفها بواجهة مستخدم. في المثال أعلاه، رأينا دالة بسيطة نسبيًا، ولكن يمكن أن تكون الدالة أي شيء بدءًا من مولّد موسيقى إلى حاسبة ضرائب إلى دالة التنبؤ لنموذج تعلم آلي مُدرّب مسبقًا.

تأخذ وسيطتا input و output مكونًا واحدًا أو أكثر من مكونات Gradio. كما سنرى، يتضمن Gradio أكثر من 30 مكونًا مدمجًا (مثل مكونات gr.Textbox() و gr.Image() و gr.HTML()) المصممة لتطبيقات التعلم الآلي.

[!TIP] بالنسبة لوسيطتي inputs و outputs، يمكنك تمرير اسم هذه المكونات كسلسلة نصية ("textbox") أو مثيلًا من الفئة (gr.Textbox()).

إذا كانت الدالة الخاصة بك تقبل أكثر من وسيطة واحدة، كما هو الحال أعلاه، فمرر قائمة بمكونات الإدخال إلى inputs، حيث يتوافق كل مكون إدخال مع إحدى وسائط الدالة، بالترتيب. وينطبق الشيء نفسه إذا كانت الدالة الخاصة بك تُرجع أكثر من قيمة: ما عليك سوى تمرير قائمة بالمكونات إلى outputs. هذا المرونة يجعل فئة Interface طريقة قوية جدًا لإنشاء العروض التوضيحية.

سنتعمق أكثر في gr.Interface في سلسلتنا حول بناء الواجهات.

مشاركة العرض التوضيحي الخاص بك

ما فائدة العرض التوضيحي الجميل إذا لم تتمكن من مشاركته؟ يتيح لك Gradio مشاركة عرض توضيحي للتعلم الآلي بسهولة دون القلق بشأن عناء الاستضافة على خادم ويب. ما عليك سوى تعيين share=True في launch()، وسيتم إنشاء عنوان URL عام يمكن الوصول إليه للعرض التوضيحي الخاص بك. دعنا نعود إلى مثال العرض التوضيحي الخاص بنا، ولكن نغير السطر الأخير كما يلي:

root@kitploit:~
import gradio as gr

def greet(name):
    return "Hello " + name + "!"

demo = gr.Interface(fn=greet, inputs="textbox", outputs="textbox")
    
demo.launch(share=True)  # شارك العرض التوضيحي الخاص بك مع معلمة إضافية واحدة فقط 🚀

عند تشغيل هذا الكود، سيتم إنشاء عنوان URL عام للعرض التوضيحي الخاص بك في غضون ثوانٍ، شيء مثل:

👉   https://a23dsf231adb.gradio.live

الآن، يمكن لأي شخص حول العالم تجربة عرض Gradio التوضيحي الخاص بك من متصفحه، بينما يستمر نموذج التعلم الآلي وجميع العمليات الحسابية في العمل محليًا على جهاز الكمبيوتر الخاص بك.

لمعرفة المزيد حول مشاركة العرض التوضيحي الخاص بك، اقرأ دليلنا المخصص حول مشاركة تطبيق Gradio الخاص بك.

نظرة عامة على Gradio

حتى الآن، كنا نناقش فئة Interface، وهي فئة عالية المستوى تتيح لك بناء عروض توضيحية بسرعة باستخدام Gradio. ولكن ماذا يفعل Gradio أيضًا؟

روبوتات المحادثة مع gr.ChatInterface

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

عروض توضيحية مخصصة مع gr.Blocks

يقدم Gradio أيضًا نهجًا منخفض المستوى لتصميم تطبيقات الويب بتخطيطات وتدفقات بيانات أكثر مرونة باستخدام فئة gr.Blocks. تتيح لك Blocks التحكم في مكان ظهور المكونات على الصفحة، والتعامل مع تدفقات البيانات المعقدة (على سبيل المثال، يمكن أن تعمل المخرجات كمدخلات لدوال أخرى)، وتحديث خصائص/رؤية المكونات بناءً على تفاعل المستخدم — وكل ذلك لا يزال في Python.

يمكنك بناء تطبيقات مخصصة ومعقدة جدًا باستخدام gr.Blocks(). على سبيل المثال، واجهة المستخدم الشهيرة لتوليد الصور Automatic1111 Web UI مبنية باستخدام Gradio Blocks. نتعمق أكثر في gr.Blocks في سلسلتنا حول البناء باستخدام Blocks.

نظام Gradio البيئي للغة Python وJavaScript

هذا هو جوهر مكتبة gradio الأساسية للغة Python، لكن Gradio في الواقع أكثر من ذلك بكثير! إنه نظام بيئي كامل من مكتبات Python وJavaScript تتيح لك بناء تطبيقات التعلم الآلي، أو الاستعلام عنها برمجيًا، في Python أو JavaScript. فيما يلي أجزاء أخرى ذات صلة من نظام Gradio البيئي:

  • عميل Gradio للغة Python (gradio_client): استعلم عن أي تطبيق Gradio برمجيًا في Python.
  • عميل Gradio للغة JavaScript (@gradio/client): استعلم عن أي تطبيق Gradio برمجيًا في JavaScript.
  • Gradio-Lite (@gradio/lite): اكتب تطبيقات Gradio في Python تعمل بالكامل في المتصفح (لا حاجة لخادم!)، بفضل Pyodide.
  • Hugging Face Spaces: المكان الأكثر شعبية لاستضافة تطبيقات Gradio — مجانًا!

ما التالي؟

استمر في تعلم Gradio بالتسلسل باستخدام أدلة Gradio، التي تتضمن شروحات بالإضافة إلى أمثلة على الأكواد وعروض توضيحية تفاعلية مضمّنة. التالي: الميزات الرئيسية لعروض Gradio التوضيحية.

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

أسئلة؟

إذا كنت ترغب في الإبلاغ عن خطأ أو لديك طلب ميزة، فيرجى إنشاء مشكلة على GitHub. للأسئلة العامة حول الاستخدام، نحن متاحون على خادم Discord الخاص بنا وسعداء بالمساعدة.

إذا أعجبك Gradio، فيرجى ترك لنا ⭐ على GitHub!

مجموعة التقنيات مفتوحة المصدر

تم بناء Gradio على العديد من المكتبات الرائعة مفتوحة المصدر!

huggingface python fastapi encode svelte vite pnpm tailwind storybook chromatic

الترخيص

Gradio مرخص بموجب رخصة Apache License 2.0 الموجودة في ملف LICENSE في الدليل الجذر لهذا المستودع.

الاقتباس

تحقق أيضًا من الورقة البحثية Gradio: Hassle-Free Sharing and Testing of ML Models in the Wild, ICML HILL 2019، ويرجى الاستشهاد بها إذا كنت تستخدم Gradio في عملك.

root@kitploit:~
@article{abid2019gradio,
  title = {Gradio: Hassle-Free Sharing and Testing of ML Models in the Wild},
  author = {Abid, Abubakar and Abdalla, Ali and Abid, Ali and Khan, Dawood and Alfozan, Abdulrahman and Zou, James},
  journal = {arXiv preprint arXiv:1906.02569},
  year = {2019},
}
تنزيل الأداة