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

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

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

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

دليل الأدوات

الفئات

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

gha-lab-ee08e207a8

مختبر أبحاث أمنية مُصرّح به لإعادة إنتاج CVE-2024-4253 (GHSA-r897-wrpm-h4vw): حقن أوامر في workflow_run في ملف test-functional.yml الخاص بـ gradio-app/gradio

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

الأكثر شعبية

عرض الكل →

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

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

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

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

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

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

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

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


gradio

gradio-backend gradio-ui

PyPI
PyPI downloads
Python version
Twitter follow

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

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

Gradio هي حزمة Python مفتوحة المصدر تتيح لك بناء عرض توضيحي أو تطبيق ويب لنموذج التعلم الآلي أو API أو أي دالة 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 إذا تم تشغيله من ملف. إذا كنت تعمل داخل notebook، فسيظهر العرض التوضيحي مضمّنًا داخل notebook.

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

حتى الآن، كنا نناقش فئة 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.

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

هذا هو جوهر مكتبة 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 التوضيحية.

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

أسئلة؟

إذا كنت تريد الإبلاغ عن خطأ أو لديك طلب ميزة، يرجى إنشاء issue على 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},
}
تنزيل الأداة