ربما بالنسبة للأسرار ، أضف إصدارًا واحدًا مع ملف JSON (Wittt He Info تم محوها) و 1 مع إصدار تم نشره بدون ملف JSON ولكن متغيرات الأسرار)
تم إلغاء الاشتراك في قاعدة chatbase. (بدلاً من ذلك ، يمكن استخدام LLM آخر (ربما MISTRAL LLM منذ حرة ؟؟؟) في 24/1/2025
قد تحتاج أيضًا إلى فصل الملفات اللازمة للنشر فقط في ريبو GitHub منفصل لمنع الخطأ. Cuz إضافة ملفات متنوعة إضافية قد تسبب خطأ النشر !! (نفس الشيء بالنسبة لـ '18. karaoke event spreamlit app '، الذي لديه الآن أخطاء لأنني أضفت ملفات متنوعة إضافية إلى github repo ... عفوًا ...)
ربما يمكن أن تضع الموافقة المسبقة عن علم لموقع Streanlit و Firebase و Chatchbase و Figma أيضًا و
خطط لتغييره من القابل للتحويل بين الدورات التدريبية إلى العمل فقط لدورة واحدة ... لأننا لجعلها قابلة للتحويل بين الدورات أمر صعب للغاية
هذا مشروع تم إنجازه كجزء من برنامج فرص البحث الجامعي في جامعتي (UROP) ، بعنوان "Urop: Telegram chatbot لمبرمجي المبتدئين لتعلم الترميز" ، الخاضعون للإشراف والبدء من قبل البروفيسور أوكا كورنيوان (هنا هو حساب جيثب) ، العمل 8 أشهر من العمل.
فيما يلي وصف مشروع UROP:
'' ''
يمكن تحسين ترميز التعلم بشكل كبير عندما يكون لدى المتعلمين ردود فعل فورية وشخصية. يجعل عدد المتعلمين للترميز من المستحيل على المدربين البشريين تقديم ملاحظات فورية وشخصية للمتعلمين. يمنحنا صعود الذكاء الاصطناعي إمكانية إنشاء مدرس chatbot يمكنه دعم المتعلمين في أي مكان وفي أي وقت. الغرض من هذا المشروع هو إنشاء chatbot Telegram حيث يمكن للمتعلمين الحصول على تعليقات تتعلق بدورات الترميز الخاصة بهم. يجب أن تكون التعليقات دقيقة كما هو موضح في مجموعة المشكلات أو المعلم.
يمكن استخدام chatbot لأي مؤسسة تقوم بتدريس البرمجة.
'' ''
يتكون هذا المشروع من 2 مستودعات جيثب:
يستضيف مستودع GitHub هذا الرمز الخاص بتطبيق Web Spreamleit لـ Telegram chatbot مع قاعدة البيانات الحقيقية لـ chatbase GPT LLM API و Firebase (API).
يتم تقسيم نهج تطوير مشروع OROP هذا إلى مكونين:
BOT Telegram BOT هذا المشروع ، طراز GPT LLM Custom Custom ، وروابط STEMBLELIT (Python Framework) وروابط Firebase (API):
فيما يلي دليل لشرح الغرض من كل ملف في هذا المستودع:
الملفات المطلوبة في إنشاء تطبيق Web Spreamleit لـ Telegram chatbot مع قاعدة بيانات GPT LLM Custom Custom GPT LLM و Firebase (API).
ملفات إضافية ليست جزءًا من إنشاء تطبيق Spreatlit Web لـ Telegram chatbot مع قاعدة بيانات GPT LLM Custom Custom GPT LLM و Firebase (API) ، ولكنها تتضمن التكرارات/الإصدارات/النماذج الأولية لتطبيق Web STARENTIN
الملفات الإضافية التي ليست جزءًا من إنشاء تطبيق Spreamleit Web لـ Telegram chatbot مع قاعدة البيانات الحقيقية لـ chatbase GPT LLM و Firebase (API) ، ولكنها تتضمن رحلة التعلم الخاصة بي لبعض التكنولوجيا المطلوبة المستخدمة في هذا المشروع لم أكن على دراية بها
عملية النشر لتطبيق Web Streamlit لـ Telegram chatbot مع قاعدة بيانات Ratbase GPT LLM Model و Firebase (API) في الوقت الفعلي على السحابة البطيئة
1. '.streamlit' المجلد
أنا. ملف "config.toml"
ملف Python الرئيسي لتطبيق Web STREMLIT لـ Telegram chatbot مع قاعدة البيانات الحقيقية لـ chatbase GPT LLM Model و Firebase (API) نفسها.
2. ملف "readme.md"
ملف "readme.md".
3. ملف 'Firebase_Key.json'
{
"type" : "service_account" ,
"project_id" : "urop-telegram-chatbot" ,
"private_key_id" : "d370c3cff86ea75089c60973d19105f90d84fdc7" ,
"private_key" : "-----BEGIN PRIVATE KEY----- n MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC2Yqgt09bJB335 n bN61dlqWY0yFcLv8DPqvHKtpUqzSAvQGdK00zaPlezkd4SKGfohd8z4o0srpUPt9 n 0fLhIPJJJhTjRN7rZpvJOPWiECQfHFXc2OJhOdabDnJoIeth+29RfD5D4t2HUdWO n /OiSKJfNYNAf2sKELJLlPOnXwpa/wfzNhHap50WLjed8OzF+Y57ucFHut/USlsWp n 3uiRdjHod3Sfs0eL+jKfeOdkni7o/E1ytN1Ascvc1OLpbi9h6GyoLLZf8g2O1Nyn n fe26tfRnkYvT1viErxnhQBGUh3hz3SVIsZ4FYyVrlWVwH+U8CJg2foBtbtOZjmEK n PNAC0fi3AgMBAAECggEATMs0iftA3CtJ6Rxkl55qXRkZbrQ9is7CPLpDGFlFyDWT n HybAiVOu12Cvd3vEiEG91GUnfpPm+R9ujRc5/33aVl9w+xKUFCUDolHX5zGJrAnH n w3IUu6BZUrdeB6eEjyCJyhMYuofLA/+6fnbRzDzIUiMZ7tezAGkuPtSLl5vo0ns5 n 1Mw13sSlssc3bjd+bCa23xDamzKWpMFlHJztnbsRVjKXfzMx2f45+snT1Lqo4kk/ n cCpM8QFlMHxLgei7JOKSkEj6LYM9Xn1dRmPJGGSAtlx/2W0/DFrVD4GCLXReKNsz n 4afFN42cZB88pKT/8YB3KoH3o/wA79k4AdsagccGbQKBgQDz3p5Yi1YgvmxWPKxd n pO1cYek2itrpH9YUZirehU01rrdHJvyufFVEoUHoeoXcDHVt++1iHZvZPwt/ZgZq n P2tM5XWY1hlgdDgOb5J2td8jdMJuKBkzGLpnSg0qSEVlsBEsJhajvGIzBIz2Ervk n hz1F3pIwXDZNEFS5ywMrW55WgwKBgQC/dRym9V3g0Y6g2mjAqIANRZ605R3MZpst n N5r9GFSBB/JXo22shLCA0/RL0A3Q8aGblVv9VwHVOi1qaeU8DIcQqJvdKfspIi0J n L8mp3ZraGzknCEHkj0oKGqNCE2Nsfx+dQ6du+u7UOecb22pjqV2UeL6gMerAMf16 n X1ZTL7hevQKBgFyIVObd/9Euz+as4O4rXVEXaakjaMraJJ3a4ltKkzBSWgKqfWgr n jyMaWOrASrhjFc+krr7y4ya8cD1n1flMlQc5bbSPUFOz5W080oMuoTtP21J27pDf n yiLVC0fG4mYiN3HcBe0c1tnq2R2poBenZQ101V16L7RwBOX2bP5vphXHAoGBALX1 n CncOqNr6rm/nQzkeqxxx9yR6v7g8J+xwdWdm0SEUOVjbJGeab9jwF7RZllfm3S1t n ZNC/+Sj6MqF45PkN+ut1IzStKltsdJrPhPxgdUQmLUoQSfd7yuURbellXc+GfbhL n zPvnlkWyhhduj40KMLrjil/bMPzaRcogg31p0/KNAoGBAKNTzPgZSif0PGXPEvhK n zEi5ojwvC9iOIKvmjgXLu+e0zAI27PiiryrfrpQW6CK7RpK9KO2lQ2NUdyOi0MVI n kqMGPLzjVwBKtWMhIwvaZxFJBvCNIg6nE5RSKoXFSYKWqmLPp+2ydPLXGPgAzNL/ n /7+TBiy9OmEkqIbNmwzgiYgR n -----END PRIVATE KEY----- n " ,
"client_email" : "firebase-adminsdk-rvtdl@urop-telegram-chatbot.iam.gserviceaccount.com" ,
"client_id" : "108928779375842545414" ,
"auth_uri" : "https://accounts.google.com/o/oauth2/auth" ,
"token_uri" : "https://oauth2.googleapis.com/token" ,
"auth_provider_x509_cert_url" : "https://www.googleapis.com/oauth2/v1/certs" ,
"client_x509_cert_url" : "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-rvtdl%40urop-telegram-chatbot.iam.gserviceaccount.com" ,
"universe_domain" : "googleapis.com"
}يمثل هذا الملف مفتاح Authetication. على ما يبدو ، عند الوصول إلى واجهات برمجة التطبيقات (مثل API Firebase) ، ستحتاج إلى الحصول على نوع من مفتاح المصادقة ، وهو ما هو هذا الملف لضمان أن المستخدمين المعتمدين فقط يمكنهم الوصول إلى واجهة برمجة التطبيقات. ارجع إلى هذا الفيديو لفهم كيفية استخدام مفتاح مصادقة API Firebase مع رمز Python الخاص بك: https://www.youtube.com/watch؟v=S-Ga8C3Tovy&t=336S (رمز أولاً مع HALA)
4. ملف 'requare.txt'
streamlit == 1.27 . 2
streamlit_autorefresh == 1.0 . 1
firebase_admin == 6.2 . 0هذا هو ملف إلزامي ، وفقًا لنشر تطبيق Web STREMLIT لـ Telegram chatbot مع قاعدة chatbase مخصصة GPT LLM API و FIREBASE (API) في الوقت الفعلي في قاعدة بيانات STREMELIT CLOUD كما هو موضح في الوثائق حول WEB SECIDATION الخاص بـ STRUMELIT TEBLOCT SECTION SENGLIT. Telegram chatbot متكامل مع قاعدة بيانات at chatbase gpt llm model و firebase (API) في قاعدة بيانات الوقت الحقيقي على السحابة البطيئة "لمزيد من المعلومات حول عملية النشر الخاصة بتطبيق الويب البطيء على قاعدة بيانات telegram chatbot المدمجة مع chatbase custar gpt llm api (API) https://docs.streamlit.io/streamlit-community-cloud/deploy-your-app (سحابة بديل) ، والتي تتيح لك إخبار SPEREMLIT (PYTHON Framework) لتنزيل هذا المدعى على التسخينات الخارجية المطلوبة مع هذا التدفقات الخارجية. قاعدة chatbase مخصصة GPT LLM Model API و Firebase (API) قاعدة بيانات الوقت الحقيقي.
على ما يبدو ، فإن ملف "REVERESS.TXT" هو ممارسة شائعة عبر منصات النشر المختلفة في Python ، وليس فقط لـ SPERTELIT CLOUD. سواء كنت تقوم بنشر تطبيقاتك على منصات مثل Heroku أو AWS أو Vercel أو غيرها ، فإن تحديد التبعيات في ملف "متطلبات. txt" يتيح للمنصة لفهم وتثبيت الحزم اللازمة.
5. ملف 'StreamLit_WEB_APPlication.py'
ملف Python الرئيسي لتطبيق Web STREMLIT لـ Telegram chatbot مع قاعدة البيانات الحقيقية لـ chatbase GPT LLM Model و Firebase (API) نفسها.
مصادر):
لقد وصفت إصدار كل ملف جنبا إلى جنب مع وصف موجز للاختلافات بين الإصدارات في أسماء الملفات. فيما يلي وصف أكثر تفصيلاً للاختلافات في الإصدارات:
لماذا اخترت قاعدة بيانات FireBase في الوقت الفعلي بدلاً من قواعد بيانات MySQL؟
مع معرفتي التي تعلمتها مؤخرًا بـ MySQL ، أردت محاولة استخدام قواعد بيانات MySQL في هذا المشروع. ومع ذلك ، أدركت أن العديد من منصات استضافة قاعدة البيانات مثل Azure Database و Amazon Web Services تتطلب معلومات الفواتير الخاصة بك من أجل البدء في استضافة قواعد بيانات MySQL عليها. لم أكن أرغب في تحمل خطر التعرض للإفراط في الشحن لأنني على الأرجح لن أحافظ على طلبي المبني لأنني أنشأته فقط لأغراض التعليم وليس للإنتاج. وبالتالي ، قررت استخدام قاعدة بيانات FireBase Relational/NoSQL RealTime بدلاً من ذلك نظرًا لأنها منصة استضافة قاعدة البيانات الوحيدة التي لا تتطلب معلومات الفواتير.
نظرًا لافتقاري إلى المعرفة في بعض التكنولوجيا المطلوبة المستخدمة في تطبيق Web Spreamleit لـ Telegram chatbot المدمجة مع قاعدة بيانات GPT LLM Custom و Firebase (API) ، اضطررت أولاً إلى تعلمها ، والتي تشمل:
Learn Engineering Learn (من دورة الهندسة السريعة بواسطة Deeplearning.ai بالتعاون مع Openai (باستخدام ChatGPT مثل LLM))
يتكون من رحلتي التعليمية لنموذج الهندسة السريعة (الدورة التدريبية عبر الإنترنت حيث تعلمت نموذج الهندسة السريعة من: https://www.deeplearning.ai/short-courses/chatgpt-prompt-ed-for developers/ by deeplearning.ai ، بالتعاون مع titled titled chatjpt for the till the the the the the
ما هي الهندسة السريعة؟
الهندسة الفورية هي عملية كتابة/تحسين موجه الذكاء الاصطناعي لتحسين دقتها وفعاليتها والحصول على المخرجات المطلوبة من نماذج الذكاء الاصطناعي.
ما هي المطالبات؟
موجه الذكاء الاصطناعى (بما في ذلك نماذج اللغة الكبيرة (LLM)) هو سؤال أو أمر أو عبارة تقوم بإدخالها في نموذج AI (بما في ذلك نماذج اللغة الكبيرة (LLM)) لبدء استجابة أو إجراء ، وتسخير قوة معالجة اللغة الطبيعية (NLP).
(ملاحظة: يتطلب API API (Python Framework) Openai GPT الاشتراك الشهري في الدفع: تتطلب الرموز الموجودة في هذا البرنامج التعليمي API Openai GPT API (Python Framework) من أجل الحصول على استجابات من ChatGpt. ومع ذلك ، لن يكون APPIS Openai GPT API (إطار عمل PYTHON) لا يتطلب الأمر إلى المشتعلة. (Python Framework) الوصول ، والذي يتطلب الدفع.
وبالتالي ، فإن معظم "الإخراج" من الكود في هذا البرنامج التعليمي سيكون الإخراج المحاكاة الموضح في مقاطع الفيديو في هذا البرنامج التعليمي ، المكتوب في ملفات دفتر Noteber Jupyter)
مصادر):
تعلم FIGMA
يتكون من رحلتي التعليمية لـ Figma (قائمة تشغيل YouTube الرئيسية حيث تعلمت نموذج الهندسة السريعة من: https://www.youtube.com/playlist؟list=plkid0a0axcibuyx3c_nyn13w9z_kkiia2m بواسطة Aliena cai ، titled 'fagma ux tut ’(
ما هو Figma؟
Figma هو تطبيق ويب تعاوني لتصميم الواجهة ، مع ميزات إضافية في وضع عدم الاتصال بواسطة تطبيقات سطح المكتب لـ MacOS و Windows. تركز مجموعة الميزات من Figma على واجهة المستخدم (UI) وتصميم تجربة المستخدم (UX) ، مع التركيز على التعاون في الوقت الفعلي ، باستخدام مجموعة متنوعة من محرر الرسومات المتجهات وأدوات النماذج الأولية.
قاعدة مهمة في Figma هي أنه يجب ألا تبدأ أي شيء من الصفر! تذكر دائمًا أن تأخذ من المراجع ، ونسخها من قوالب موقع الويب الحالية لتعزيز الجودة ووقت إنشاء النموذج الأولي! (كما نصحت من AJ & Smart's YouTube Video)
مصادر):
ما هي السحابة المعزولة؟
من موقع Spreamlelit Cloud الرسمي: "Cloud SpreamLit هو منتج جديد يتيح لك إنشاء البيانات ونشرها ومشاركتها من تطبيقات الويب STIPLELIT في دقائق."
بصراحة ، فإن الوثائق حول كيفية نشر تطبيق ويب (Python Framework) على السحابة البطيئة (الرابط: https://docs.streamlit.io/streamlit-community-cloud/deploy-your-app) يشرح خطوة بوضوح على كيفية نشر تطبيق على شبكة الإنترنت على شبكة الإنترنت. بمجرد نشرها بشكل صحيح ، حصلت على رابط "STIPLELIT.IO" المباشر لتطبيق الويب SPEREMLIT ، والذي يمكنني مشاركته مع الآخرين لتجربة تطبيق الويب البطيء هذا.
معالجة المعلومات الحساسة كمتغيرات "أسرار"/بيئة على السحابة المتبسضة:
عندما حاولت دفع المفاتيح الخاصة لقاعدة بيانات Firebase RealTime أو مفتاح API الخاص بقاعدة Chatbase Custom GPT LLM على مستودع GitHub مباشرة ، ظللت أحصل على تحذير من "أسراري" تعرضت من Github. لم أكن أهتم بذلك في البداية ، لكنها أصبحت مشكلة عندما تستمر المفاتيح الخاصة في قاعدة بيانات Firebase في إعادة تعيينها وإلغاءها كلما تم اكتشاف المفتاح الخاص ليتعرض علنًا ، مما يتسبب هذا مستودع جيثب مرة أخرى.
وبالتالي ، اكتشفت أن منصات النشر المختلفة ، ليس فقط من أجل السحابة البسيطة ، سواء كنت تنشر تطبيقاتك على منصات مثل Heroku أو AWS أو Vercel أو غيرها ، يمكنك إضافة متغيرات "أسرار/بيئة " مباشرة على التطبيقات التي يتم عرضها بشكل مباشر على منصات الانتقال نفسها بشكل خاص.
على وجه التحديد بالنسبة إلى السحابة البطيئة ، يمكنك إضافة متغيرات "أسرار"/بيئة مباشرة على التطبيقات المنشورة على السحابة البطيئة وتعلم كيفية استخدام متغيرات "أسرار/بيئة" المضافة على التطبيقات المنشورة على السحابة البطيئة في الكود عن طريق اتباع هذه الوثائق (الرابط: https://blog.streamlit.io/streamlit-in-apps.
فيما يلي مثال على كيفية القيام بذلك في تطبيق الويب SPEMATLIT لـ TELEGRAM chatbot مع قاعدة البيانات الحقيقية لـ chatbase GPT LLM API و FIREBASE (API) على السحابة البطيئة:
fb_credentials = json.loads(st.secrets['FIREBASE_DB_CONVERSATIONS'])
if "conversations" not in firebase_admin._apps:
# Initialize Firebase
credentials_object_conversations = firebase_admin.credentials.Certificate(fb_credentials)
firebase_admin.initialize_app(credentials_object_conversations, {
'databaseURL': 'https://urop-telegram-chatbot-default-rtdb.asia-southeast1.firebasedatabase.app/'
}, name='conversations')
# Get a reference to the database
reference_to_database_conversations = db.reference('/', app=firebase_admin.get_app('conversations'))
مصادر):