جدول المحتويات
المؤلفون الأصليون: @Hamelsmu ، @inc0 ، jlewi
إصدار العلامة الروبوتقم بتثبيت هذا التطبيق من سوق Github
تطبيق github مدعوم من التعلم الآلي ، مكتوب في بيثون. تم وصف مناقشة الدافع لبناء هذا التطبيق في منشور المدونة هذا.
عند فتح مشكلة ما ، يتنبأ الروبوت إذا كان يجب أن يكون الملصق هو: feature request أو bug أو question ويطبق الملصق تلقائيًا إذا كان ذلك مناسبًا. فيما يلي لقطة شاشة للبوت في العمل:
يمكن الاطلاع على المزيد من الأمثلة على الصفحة الرئيسية لتطبيقنا. تجدر الإشارة إلى أن الروبوت قد لا يطبق أي ملصق في الظروف التي يكون فيها التنبؤ غير مؤكد. انظر قسم إخلاء المسئولية لمزيد من التحذيرات.
لاستخدام الرمز في هذا المستودع ، ستحتاج إلى تسجيل تطبيق GitHub الخاص بك وتثبيت هذا التطبيق على مستودعاتك المطلوبة وأسرار المصادقة المتجر.
أولاً ، قم بالتجول عبر قسم المتطلبات المسبقة من دليل البدء هذا باستثناء قسم "لغة البرمجة الياقوت" حيث سنستخدم Python بدلاً من ذلك كعميل يتفاعل مع واجهة برمجة تطبيقات Github.
ثانياً ، إعداد بيئة التنمية الخاصة بك. تأكد من إنشاء سر webhook ، على الرغم من أن هذه الخطوة اختيارية.
بعد ذلك ، قم بإعداد قاعدة بيانات postgres. يمكنك القيام بذلك مجانًا على هيروكو. تعليمات مفصلة (سرقت بلا خجل من هنا):
أخيرًا ، تحتاج إلى إنشاء متغيرات بيئة لجميع الأسرار ، والتي تم وصفها أدناه.
PRIVATE_KEY : هذا هو المفتاح الخاص الذي تستخدمه للمصادقة كتطبيق مع Github API.WEBHOOK_SECRET : يتم استخدام هذا للتحقق من أن الحمولات التي تلقاها التطبيق الخاص بك هي في الواقع من github. هذا موصوف هنا.DATABASE_URL : هذا هو عنوان URL الذي يحتوي على معلومات تسجيل الدخول لقاعدة بيانات postgresql الخاصة بك ، عادة في النموذج: postgres://<username>:<password>@<url>:5432/<database_name>APP_ID : هذا معرف فريد يقدمه لك Github عند تسجيل تطبيقك.FLASK_ENV : عادة ما يتم تعيين هذا على production أو development . سترغب في استخدام deployment للاختبار المحلي.PORT : هذا هو المنفذ الذي سيخدم تطبيقك. لاحظ أنه إذا كنت تنتشر في Heroku ، فسيقوم Heroku بتجاوز هذا المتغير بقيمته الخاصة عند إنشاء تطبيقك. للتنمية المحلية ، سترغب في مطابقة هذا Port Smee.APP_URL : هذا هو عنوان URL للصفحة الرئيسية لتطبيقك الذي يتم توفيره للمستخدمين كرابط في تعليقات الإصدار. يمكنك ضبط هذا على قيمة تعسفية للتطوير المحلي.ملاحظة: إذا كنت تستخدم ZSH ، فقد يكون المكون الإضافي Dotenv مفيدًا لإدارة متغيرات البيئة.
تثبيت التبعيات : تثبيت المتطلبات. txt في بيئة افتراضية. إذا كنت تستخدم pipenv تثبيت التبعيات اللازمة من pipfile.lock عن طريق كتابة pipenv install في جذر هذا المستودع.
قم بتشغيل تطبيق Flask : Run python flask_app/app.py من جذر هذا المستودع. لكي يعمل هذا ، يجب عليك تعيين متغيرات البيئة بشكل صحيح كما هو موضح في قسم متغيرات البيئة.
اختياري - تشغيل التطبيق كحاوية Docker . يمكن بناء حاوية Docker التي تخدم روبوت العلامات المشكل باستخدام bash script/bootstrap من جذر هذا المستودع. يقوم هذا البرنامج النصي بإنشاء صورة Docker تدعى hamelsmu/mlapp ، والتي تتوفر أيضًا على DockerHub. إذا كنت ترغب في تشغيل حاوية Docker محليًا للاختبار ، فيجب عليك تمرير متغيرات البيئة اللازمة إلى حاوية Docker في وقت التشغيل ، وكذلك فضح المنافذ اللازمة للتطبيق. راجع قسم المراجع لمزيد من الموارد حول استخدام Docker.
تتيح لك الأصول الواردة في هذا الريبو النشر إلى Heroku (أسهل) أو مجموعة Kubernetes (أكثر تقدمًا).
في Heroku ، يمكن تمرير الأسرار كمتغيرات التكوين. علاوة على ذلك ، تصف هذه الوثائق كيف يمكنك تعيين أسرار في Kubernetes. تأكد من تعيين البيئة متغير FLASK_ENV على production إذا كنت ستنشر التطبيق علنًا.
نرحب بجميع أشكال المساهمات. نحن مهتمون بشكل خاص بما يلي:
يهتم مؤلفو هذا المشروع بإضافة الميزات التالية في المستقبل القريب:
الكود في هذا الريبو والبرنامج التعليمي المرتبط به يفترض الألفة مع Docker. يقدم منشور المدونة هذا مقدمة لطيفة إلى Docker لعلماء البيانات.
هل تحتاج إلى مصدر إلهام لمنتجات البيانات الأخرى التي يمكنك بناءها باستخدام مجموعات بيانات GitHub العامة؟ انظر هذه الأمثلة:
دورة ممتازة على Flask: Web Harvardx CS50.
MOOCS من Fastai للتعلم الآلي والتعلم العميق.
روبوت العلامة القضية هو لأغراض تعليمية وتوضيح فقط. كان هدفنا هو توفير مثال عمل بسيط للمجتمع بأقل قدر ممكن من التعقيد. لذلك ، نعتقد أن النموذج الذي تم عرضه لديه مساحة كبيرة من التحسن. علاوة على ذلك ، يعمل هذا التطبيق فقط على المستودعات العامة ولن يفعل شيئًا إذا تم تثبيته على ريبو خاص.