اذهب إلى المحتوى

لوحة المتصدرين

  1. Ali Ahmed55

    Ali Ahmed55

    الأعضاء


    • نقاط

      151

    • المساهمات

      1352


  2. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      63

    • المساهمات

      13572


  3. محمد عاطف17

    محمد عاطف17

    الأعضاء


    • نقاط

      60

    • المساهمات

      3621


  4. عبد الوهاب بومعراف

    • نقاط

      28

    • المساهمات

      927


المحتوى الأكثر حصولًا على سمعة جيدة

عرض المحتوى الحاصل على سمعة أكبر منذ 11/22/24 في كل الموقع

  1. السلام عليكم هو اي اهميه عمود زي ده race_group: مجموعة العرق (Categorical) – العرق المعرّف للمريض. القيم: "White", "Black or African-American", "Asian" وغير ذلك. في البيانات طبيه ؟
    5 نقاط
  2. كنت اريد ان اعرف ما الفرق بين method و functions مع تعريف نظري لل method
    5 نقاط
  3. السلام عليكم هو مشارك في مسابقه علي كاغل بس هل الافضل ان اكتب الكود الاول خالص علي الجهاز وبعد ما اخلص ارفع الكود والا الافضل ان اشارك علي طوال في الnotebook kaggle ؟
    5 نقاط
  4. المكونات تنظف الكود وتسهل عملية ال debugging بشكل كبير, لكن ما ادري عن المضار المحتملة من تكثير المكونات؟ متى ادري انو لازم اكتفي ب html سادة للelement هذا؟ على سبيل المثال لو رح اسوي table, هل يعتبر من السيئ جعلها ديناميكية اكثر عن طريق استبدال الاعمدة المكتوبة يدويا بمكون واحد اغير قيمته على حسب الاستعمال فقط لتنظيف الكود؟ وهل تتغير الاجابة على حسب اطار العمل خاصتي؟ شكرا.
    4 نقاط
  5. لدي سؤال عن ماهي افضل طريقة على المراجعة على لغات البرمجة لكي لا أنسى اذا حددت وقت للمراجعة على لغات هل أراجع عليها بي مراجعة عن طريق مشاهدة الدروس والتطبيق عمليا على مشروع أم البحث وقراءة المفاهيم ومراجعة الوسوم البرمجية و القواعد و المعلومات ؟ افيدونا بارك الله فيكم
    4 نقاط
  6. ما فائده لغه js بالنسبه ل html و هل الزامي تعلمها لاكون مبرمج front-end
    4 نقاط
  7. السلام عليكم انا عندي عمود فيه [null] 66% اعمل اي في العمود ده مع العلم العمود ده مهم جدا جدا ؟
    4 نقاط
  8. السلام عليكم انا عندي بيانات فيه 60 columns واعمد كثير جدا جدا فا هل الافضل ان استخدم التعلم العميق عن خورزميات تعلم الاله التقلدي ؟
    4 نقاط
  9. كيف اقدر الاقي شغل مع اي شركة عن بعد حتى وان كان تدريب بصورة مجانية في اي مجال فقط لاكتساب خبرة العمل في الشركات البرمجية في اي مجال كان امن سيبراني او تصميم العاب او ذكاء اصطناعي بمجالاته
    4 نقاط
  10. عندي سؤال انا جديد في برمجه ويب وابغا احسن وافضل طريقه اذاكر فيه ويكون مترسخ في عقلي ممكن
    4 نقاط
  11. هل ممكن تضيفوا مسار FastAPI لادورة التطبيقات باستخدام بايثون
    4 نقاط
  12. احد العملاء يرغب بتطبيق محاسبة سحابي, لكن ليس لدي اي خبرة او معرفة بالمحاسبة على الاطلاق, هل يمكنني القيام بعمل جيد لن يدخل اي منا في مشاكل قانونية؟ وان كانت الاجابة لا فهل هذا ينطبق على اي تطبيق متعلق باي مجال؟ على سبيل المثال انظمة ادارة المنظمات بمختلف انواعها؟ وشكرا.
    4 نقاط
  13. السلام عليكم هو لما بيكتب الكود كده import numpy as np هل الكود كده كشجل جميل والا الا كمان ده باثيرا علي الكود يعني بيخلي الكفاء افضل ؟
    4 نقاط
  14. السلام عليكم هي اي الاداء دي SynthCity ؟
    4 نقاط
  15. لدي سوال لا ادري لماذا اشعر بان المحاضر يأخذ الدروس بسرعه جدا كبيره هل لأنني أصلا لدي خلفيه في لغات html and css أم يوجد سبب آخر ايظن اشعر بان جميع الفيديوهات دقائقها جدا قليله
    4 نقاط
  16. هلا اقدر اشتري اسم دومين لصفحة عندي على كلاود فلاير بيجز او نيتفاي واذا اقدر كيف
    4 نقاط
  17. بما أنها بس مقدمه في البرمجه وطريقه دخول والاستيعاب هل من الممكن تجاوزها ؟
    4 نقاط
  18. السلام عليكم هي اي الداله دي ttest_ind في مكتبه scipy ؟
    4 نقاط
  19. ما هو الحد الادنى لمواصفات جهاز الحاسوب الذي ساستخدمه
    4 نقاط
  20. احاول اتعامل مع npm في التيرمنال او cm لكن مو راضي ا
    3 نقاط
  21. السلام عليكم هو اي الRegularization ؟
    3 نقاط
  22. السلام عليكم يعطيكم العافية فريق العمل في اكاديمية حسوب انا عمرو واريد مساعدتكم في وضع خطة يومية لدراسة دورة الذكاء الاصطناعي لمدة ساعة او ساعتين يوميا
    3 نقاط
  23. السلام عليكم ده الكود الاول x = data_train["hla_match_b_high" , "hla_match_a_low"] وده التاني x = data_train[["hla_match_b_high", "hla_match_a_low"]] هو ليه التاني شغل والاوال الا مع العلم ان الكود ده شغل عادي print(data_train['hla_match_b_high'].value_counts())
    3 نقاط
  24. السلام عليكم هي اي شريحة جوجل الجديد في مجال الكمبيوتر الكمي ؟
    3 نقاط
  25. انا ف Computer science وهتخصص AI وكذا حد شكر ف حسوب وكنت هاخد دورة الAI لكن سعرها عليا بفرق العملة طلع غالي جدا محدش من الموقع يقدر يقدملي الدورة ؟ "محتاجها فعلا"
    3 نقاط
  26. السلام عليكم هو فيه فرق مابين ال object و بين الStr في باثيون ؟ عشان ان فيه الكود ده عاوز بس العمود ان يكون نوع Str هو بس اليتغير ؟ encoder = LabelEncoder() for columns in data_train.columns: if data_train[columns].dtypes == object: data_train[columns] = encoder.fit_transform(data_train[columns]) فا اي الفرق مايبن كده وكده encoder = LabelEncoder() for columns in data_train.columns: if data_train[columns].dtypes == str: data_train[columns] = encoder.fit_transform(data_train[columns])
    3 نقاط
  27. السلام عليكم هل الافضل ان اشارك في اكثر من مسابقه علي كاغل والا الافضل ان اركز علي مسابقه واحد فقط ؟
    3 نقاط
  28. السلام عليكم هو اي اهميه التوزيعات الاحتمالية في تحليل البيانات ؟
    3 نقاط
  29. السلام عليكم هو انا ازي اقدر اغير صور الملف الشخصي علي اكاديمه حسوب ؟ انا عاوز اغير الصور CS50
    3 نقاط
  30. هل توجد تخفيضات عند الرغبة في دراسة لغة البايثون
    3 نقاط
  31. هل تتضمن تخفيضات الرمضانية دورات البرمجة
    3 نقاط
  32. السلام عليكم ورحمه الله وبركاته انا طالب في كورس تطوير التطبيقات باستخدام جافاسكربت وحاليا انا في مسار تطوير تطبيقات الهاتف باستخدام React native وصراحة اشعر بالقلق قليلا ولا اعرف في اي مجال تحديد بحكم ان الدورة تتضمن ثلاث مجالات(ويب وهاتف وسطح مكتب) لا اتوقع لدي النضج البرمجي الكافي لاختار المجال الصحيح وفي نفس الوقت لا اتوقع انني استطيع دراسة ثلاث مجالات والابداع فيهم فبعد تفكير ودراسة تواصلت لى فكرة التخصص في مجال تطوير الويب سؤالي الحصول على الشهادة يجب دراسة اربع مسارات ما هي المسارات الخاصة في بتطوير الويب
    3 نقاط
  33. مرحبا تأتيني رسالة بهذا النص عندما اردت استخدام التريمنيل "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" terminated with exit code: -1073741502. ما الحل لهذا علما ان الجهاز المتسخدم في شبكة كبيرة
    3 نقاط
  34. السلام عليكم هو الLabel encoding استخدم فقط في عمود زي الOutcome والا ممكن استخدم في عمود فيه اكثر من متغير ؟
    3 نقاط
  35. سؤال انا قد سألت منذ فترة عن مسار السكراتش و قيل لي انني يمكنني تجاوزه اذا كان لدي اللمام بالبرمجة الى الoop و لكن هل استطيع في الامتحان تقديم طلب لتجاوزه ام لا؟؟
    3 نقاط
  36. السلام عليكم ورحمة الله وبركاته قد انهيت هذه الصفحة وانهيت ال responsive الخاص بها لكن لا ادري لماذا تظهر معي مساحة فارغة في اليسار يعني scroll وانا لم اقم بتضمين اي شيء فيها حاولت استخدام كل الحلول لكن لم ينجح اي شيء last project.zip
    3 نقاط
  37. اجد مشكلة مع عنصرarow down لايستجيب لtext aline center and justify-content center وهل يمكنكم تفحص باقي الكود barbermobile.zip
    3 نقاط
  38. ما الفرق بين ال JavaScript وال node.js وشكراً.
    3 نقاط
  39. هل بتعلمي لدورة بايثون سوف اصبح مؤهل لان ادخل سوق العمل و اصبح موظف براتب شهري ؟
    3 نقاط
  40. السلام عليكم هو انا عشان اشتغل باثيون الازم اثبيت معها لغه ++c ؟ عشان فيه مكتبه زي face-recognition معتمده علي ++c وغيرهم كمان ؟
    3 نقاط
  41. السلام عليكم هي برمجه SAS ؟
    3 نقاط
  42. السلام عليكم هو فيه فرق مابين الprogrammer و بين الDeveloper ؟
    3 نقاط
  43. السللام عليكم يظهر معي هذا الخطا بشكل مستمر my-react-app2.zip
    3 نقاط
  44. كيف أرفع ال 5 صفحات هبوط في مستودع قيت هب لأن لي قريب ال 12 ساعة بلا مبالغة اعمل على حل المشاكل التي تواجهني في رفع المشروع
    3 نقاط
  45. السلام عليكم هو ازي اقدر احديد ان النموذج ده بنسبه 90 % بيتنباء صح ازي اقدر احسب النسب المئوي ؟ وده الكوده modle_diabetes_randomforestregressor = RandomForestRegressor(n_estimators=9000 , max_depth=4 , random_state=33) train = modle_diabetes_randomforestregressor.fit(x_train_scaled , y_train) y_predict = train.predict(x_test_scaled) mean_squared_error_value = mean_squared_error(y_test , y_predict , multioutput='uniform_average') print(f"Mean Squared Error: {mean_squared_error_value}")
    3 نقاط
  46. كيفية الاختبار واريد تفاصيل الاختبار وكل مايخص الاختبار
    3 نقاط
  47. السلام عليكم هو انا ازي اقدر مسح بيانات الoutliers بستخدم باثيون ؟ اولان انا اقدر احديد البيانات الoutliers من خلال الكود ده q1 = 87.750000 q3 = 190.000000 iqr = q3 - q1 lower_bound = q1 - 1.5 * iqr upper_bound = q3 + 1.5 * iqr print(f"Lower bound: {lower_bound}") print(f"upper bound: {upper_bound}") outliers = [] for x in diabetes['Insulin']: if x > upper_bound or x < lower_bound: outliers.append(x) print(outliers) فا ازي اقدر امسح الoutliers من البيانات نفسها ؟
    3 نقاط
  48. نشرح في مقال اليوم الخطوات الأساسية لدمج نماذج الذكاء الاصطناعي التي توفرها شركة OpenAI في تطبيق جانغو Django، ففي الآونة الأخيرة ازادت شعبية نماذج OpenAI أو ما يعرف بنماذج GPT OpenAI بشكل كبير بفضل قدرتها على توليد محتوى نصي عالي الجودة في مختلف المجالات سواء كتابة رسائل البريد الإلكتروني، أو القصص، أو الإجابة على استفسارات العملاء، أو حتى ترجمة المحتوى من لغة لأخرى. تُستخدم نماذج جي بي تي GPT عادة من خلال روبوت الدردشة تشات جي بي تي ChatGPT، وهو نظام محادثة ذكي أطلقته OpenAI، ويمكن الاستفادة من هذه النماذج في تطبيقاتنا الخاصة باستعمال واجهة برمجة التطبيقات API التي وفرتها OpenAI للمطورين. وسنوضح في الفقرات التالية خطوات إنشاء تطبيق جانغو يستخدم هذه الواجهة البرمجية، وبالتحديد نموذج إكمال المحادثة ChatCompletion API من أجل توليد قصة قصيرة ونتعرف على طريقة تخصص معاملات النموذج المختلفة، وتنسيق ردوده واستجاباته. المتطلبات كي تتمكن من إكمال هذه المقالة، سوف تحتاج الآتي: إطار جانغو Django مثبت على بيئة افتراضية ضمن حاسوبك، إن كانت هذه أول مرة تستخدم فيها جانغو فيمكنك مطالعة مقال البدء مع إطار العمل جانغو لإنشاء تطبيق ويب ومقال تنصيب إطار العمل Django وتهيئة بيئته البرمجية على Ubuntu. حساب على منصة OpenAI، فإذا لم يكن لديك حساب سابق انتقل لموقعها الرسمي وسجل حساب جديد Sign up مفتاح الواجهة البرمجية OpenAI API key فبعد إنشاء حسابك في OpenAI، عليك تسجيل الدخول للوحة تحكم حسابك، والانتقال لقسم مفاتيح الواجهة البرمجية API keys وتوليد المفتاح الخاص بك، يكون المفتاح المٌولد شبيهًا للتالي sk-abcdefghijklmnop، احرص على نسخه وحفظه في مكان آمن تثبيت حزمة OpenAI Package الخاصة بلغة بايثون، فعند تثبيت جانغو بالخطوة الأولى ستكون قد أنشأت بيئة افتراضية باسم env ضمن المجلد django-apps. تأكد من تفعيل البيئة الافتراضية وظهور اسمها داخل قوسين() في سطر الأوامر Terminal. إذا لم تكن البيئة الافتراضية مفعلة فيمكنك تفعيلها يدويًا بالانتقال للمجلد django-apps في سطر الأوامر وكتابة الأمر التالي: hasoub-academy@ubuntu:$ .env/bin/activate بمجرد تفعيل البيئة الافتراضية، شغل الأمر التالي لتنزيل حزمة OpenAI Package الخاصة بلغة بايثون: (env)hasoub-academy@ubuntu:$ pip install openai أنت جاهز الآن للبدء بتطوير تطبيق جانغو الخاص بك كما نوضح في الخطوات التالية. إرسال الطلبات للواجهة البرمجية OpenAI API نحتاج بداية لإضافة مفتاح الواجهة البرمجية OpenAI API key لتطبيقنا ليتمكن من إرسال الطلبات للواجهة البرمجية ChatCompletion API. واختبار الرد الذي نحصل عليه منها. لنكتب الأمر التالي لتشغيل بايثون داخل البيئة الافتراضية: (env)hasoub-academy@ubuntu:$ python نستورد بعدها المكتبة OpenAI ونعرًف العميل client المخصص للتفاعل مع الواجهة البرمجية كما يلي: import openai client = OpenAI(api_key="your-api-key") ملاحظة: تحتاج لاستبدال"your-api-key" بمفتاح الواجهة البرمجية الخاص بك. بعدها نرسل طلب للواجهة البرمجية ChatCompletion API باستخدم الدالة chat.completions.create: response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[ {"role": "user", "content": "عد من 1 إلى 10"} ] ) حددنا في الكود السابق النموذج المراد استخدامه ليكون gpt-3.5-turbo، وأضفنا كائن رسالة واحد يحتوي على الدور مستخدم user، ومرّرنا الأمر أو المُوجّه prompt المطلوب إرساله للواجهة البرمجية وهو في حالتنا طلب العد من واحد إلى عشرة. ملاحظة1: عند التفاعل مع نموذج GPT ستلاحظ وجود ثلاثة أدوار رئيسية وهي دور المستخدم user الذي يطرح الأسئلة أو يطلب المساعدة من النموذج، ودور النظام system الذي يتضمن القواعد والتعليمات التي توجه للنموذج، ودور المساعد assistance الذي يمثل نموذج الذكاء الاصطناعي نفسه والمستخدم للإجابة على أسئلة المستخدم أو تنفيذ الأوامر التي يطلبها منه. ملاحظة2: من المهم دائمًا الرجوع إلى التوثيق الرسمي لمنصة OpenAI للحصول على تعليمات دقيقة وشاملة حول كيفية استخدام نماذج GPT في تطبيقاتك، فهذه التعليمات قد تتغير مع مرور الوقت. لنطبع الآن الرد المستلم من الواجهة البرمجية API والتي تتضمن الأعداد من واحد إلى عشرة على شكل قائمة من خلال الأمر التالي: print(response.choices[0].message.content) سنحصل على النتيجة التالية: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 بهذا نكون قد نجحنا بإرسال طلب بسيط إلى الواجهة البرمجية، واستلمنا الرد منها وتأكدنا أن كل شيء يسير على ما يرام، نحن جاهزون الآن لاستخدام الواجهة البرمجية لأمر أكثر صعوبة وهو كتابة محتوى لقصة. ضبط معاملات النموذج Parameters بعد أن نجنا في إرسال طلب API بسيط إلى الواجهة البرمجية لإكمال المحادثة ChatCompletion API، لنتعرف على طريقة ضبط معاملات النموذج والتعامل معها للتحكم بسلوك النموذج. فهنالك العديد من المعاملات المتاحة للتحكم في النص المولد، سنوضح ثلاثة منها. 1. درجة الحرارة Temperature يتحكم هذا المعامل في مدى عشوائية الردود المولدة من قبل النموذج، ويأخذ قيمة بين الصفر والواحد، كلما ارتفعت قيمته سنحصل على تنوع وإبداع في الردود والعكس صحيح. response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "اذكر خمس كلمات"}], temperature=0.1 ) print(response.choices[0].message.content) المخرجــــات 1. تفاح 2. سيارة 3. كتاب 4. شمس 5. شجرة لنجرب منحه قيمة قريبة من الصفر مثل 0.1 ونرى كيف ستولد الكلمات: response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "اذكر خمس كلمات"}], temperature=0.1 ) print(response.choices[0].message.content) المخرجــــات 1. تفاح 2. فيل 3. ضوء الشمس 4. مغامرة 5. سكون ستلاحظ بالتجربة أنك عندما تطلب من النموذج أن يذكر خمس كلمات عدة مرات باستخدام القيمة 0.1 للبرامتر فسوف تحصل على نفس الكلمات في كل مرة، أما عندما ترفع قيمته إلى 0.8 وتجرب الطلب عدة مرات فستلاحظ تغير النتائج كل مرة: response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "اذكر خمس كلمات باللغة العربية"}], temperature=0.8 ) print(response.choices[0].message.content) المخرجــــات 1. تفاح 2. ضوء الشمس 3. سعادة 4. صداقة 5. تقنية 2. العدد الأقصى للوحدات النصية Max token يسمح لك هذا المعامل بتحديد طول النص المولد، فعند تحديد قيمة معينة يضمن لك هذا المعامل أن الردود لن تتجاوز الرقم الذي حددته في الوحدات النصية tokens، على سبيل المثال: response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "اذكر خمس كلمات"}], max_tokens=10 ) print(response.choices[0].message.content) المخرجــــات 1. تفاحة 2. سيارة لاحظ المخرجات عند تغير قيمة max-token إلى 20: response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "اذكر خمس كلمات"}], max_tokens=20 ) print(response.choices[0].message.content) المخرجــــات 1. تفاح 2. سيارة 3. موسيقى 4. محيط 5. صداقة 3. التدفق Stream يحدد هذا المعامل هل نريد أن تتدفق الردود على دفعات streams أو تعود دفعة واحدة، فعند ضبطه بالقيمة True، ستستلم الرد بشكل متدفق، أي على دفعات خلال عملية توليدها. يكون هذا مفيدًا في المحادثات الطويلة أو تطبيقات الزمن الحقيقي التفاعلية. response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "اذكر خمس كلمات"}], stream=True ) collected_messages = [] for chunk in response: chunk_message = chunk.choices[0].delta.content if chunk_message is not None: collected_messages.append(chunk_message) print(collected_messages) المخرجــــات ['', 'قطة', '\n', 'كتاب', '\n', 'حاسوب', '\n', 'شمس', '\n', 'ماء'] سيحتفظ المتغير chunk_message بكل جزء من الرسالة المتدفقة بشكل مؤقت أثناء استلامها من الواجهة البرمجية، بعد ذلك، ستضاف هذه الأجزاء إلى القائمة collected_messages التي تُجمع فيها كل الرسائل. يجب التأكد من أن الجزء المتدفق ليس None، لأن هذه القيمة تدل على انتهاء تدفق الردود وتستخدم كشرط للخروج من الحلقة التكرارية. صياغة مُوجِّه نظام مخصص في هذه الخطوة، سنستخدم كل ما تعلمناه من مفاهيم أساسية لكتابة مُوجِّه نظام مخصص system prompt وتوفير السياق الذي يحتاجه نموذج GPT لفهم المطلوب منه ضمن تطبيق جانغو، وسنحدد القواعد التي يجب أن يتبعها النموذج لتوليد المحتوى. ننشئ بداية وحدة بايثون module تحتوي على دالة تتولى المهمة المطلوبة. لذا ننشئ ملفًا جديدًا باسم story_generator.py داخل مجلد مشروع جانغو بكتابة الأمر التالي: (env)hasoub-academy@ubuntu:$ touch ~/my_blog_app/blog/blogsite/story_generator.py ثم نضيف مفتاح الواجهة البرمجية OpenAI API key لمتغيرات البيئة environmental variables فلا نضيفها في ملف بايثون مباشرة لحماية المفتاح: (env)hasoub-academy@ubuntu:$ export OPENAI_KEY="your-api-key" افتح الآن الملف story_generator.py وأنشئ بداخله عميل OpenAI client وعرف دالة باسم generate_story وظيفتها توليد محتوى قصة بناءً على مجموعة من الكلمات المدخلة لها من طرف المستخدم: import os from openai import OpenAI client = OpenAI(api_key=os.environ["OPENAI_KEY"]) def generate_story(words): # استدعاء واجهة برمجة التطبيقات من OpenAI لتوليد القصة response = get_short_story(words) # تنسيق الاستجابة وإرجاعها return format_response(response) لتنظيم الكود البرمجي، نستدعي ضمن هذه الدالة البرمجية دالة منفصلة باسم get_short_story تطلب توليد القصة من الواجهة البرمجية OpenAI API، ودالة أخرى format_response تنسق الرد المستلم من الواجهة البرمجية. لنركز الآن على دالة توليد القصة get_short_story. نضيف الكود الخاص بها في نهاية الملف story_generator.py. def get_short_story(words): # إنشاء موجه النظام system_prompt = f"""أنت مولد قصص قصيرة. اكتب قصة قصيرة باستخدام الكلمات التالية: {words}. لا تتجاوز فقرة واحدة.""" # الاتصال بواجهة برمجة التطبيقات response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{ "role": "user", "content": system_prompt }], temperature=0.8, max_tokens=1000 ) # إرجاع استجابة الواجهة البرمجية return response كما تلاحظ فقد ضبطنا مُوجِّه النظام system prompt كي يخبر النموذج ما هو وما هي المهمة التي عليه لتأديتها، وحددنا في الموجّه حجم القصة المطلوبة، ثم مررنا الموجّه للواجهة البرمجية ChatCompletion API. أخيرًا نكتب كود دالة التنسيق format_response في نهاية الملف story_generator.py: def format_response(response): # استخرج القصة المولدة من الاستجابة story = response.choices[0].message.content # إزالة أي نص أو تنسيقات غير مرغوبة story = story.strip() # إرجاع القصة المنسقة return story لاختبار هذه الدوال نستدعي الدالة generate_story ونمرر لها مجموعة كلمات كمعاملات، ثم نطبع الرد الذي تعيده لنا من خلال إضافة سطر الكود التالي للملف: print(generate_story("قطة، كتاب، حاسوب شمس، ماء")) الآن، احفظ الملف وأغلقه ثم نفذّ الأمر التالي من داخل سطر الأوامر: (env)hasoub-academy@ubuntu:$ python ~/my_blog_app/blog/blogsite/story_generator.py يجب أن تحصل على قصة تشابه القصة التالية: في زاوية مريحة من غرفة مشمسة، كانت هناك قطة ذات فرو ناعم تُدعى "مشمش"، تتمدد بكسل بجانب رف كتب شاهق. بين صفوف الكتب، كان حاسوب فضولي يهمس بهدوء. بينما كانت أشعة الشمس تتسلل عبر النافذة، مُلَقيةً ضوءًا دافئًا، لاحظت "مشمش" بقعة ماء صغيرة على الرف. مدفوعةً بالفضول، دفعت القطة الكتاب الأقرب إلى البقعة، ليُفتح الكتاب ويكشف عن مكان مخفي يحتوي على عقد ماسي متلألئ. مع اكتشاف السر، بدأت "مشمش" مغامرة غير متوقعة، حيث امتزجت أشعة الشمس، والماء، وقوة المعرفة لتنسج قصة مثيرة من الغموض والاكتشاف. بعد أن تأكدنا من عمل الدالة generate_story وتوليد القصة بشكل صحيح، لنغير طريقة تنفيذ الكود وبدلاً من طباعة القصة مباشرة في سطر الأوامر، سنستدعي الدالة من خلال عرض جانغو Django view لعرض القصة على واجهة المستخدم. print(generate_story("قطة، كتاب، حاسوب شمس، ماء")) يمكن تجربة تعديل مُوجّه النظام system prompt بما يناسبك لتوليد محتوى أفضل. ستلاحظ بالتجربة أن بإمكانك دائمًا تحسين النتائج بما يتناسب مع احتياجاتك. لننتقل إلى الخطوة التالية، حيث سندمج الوحدة التي عرفناها في الملف story_generator.py مع مشروع جانغو الخاص بنا. دمج وحدة بايثون مع جانغو في الواجهة الخلفية لدمج وحدة story_generator مع مشروع جانغو في الواجهة الخلفية، علينا تنفيذ عدة خطوات بسيطة، سنبدأ أولاً بإنشاء عرض view جديد في جانغو لاستقبال الكلمات من المستخدم، ثم سنستخدم الدالة generate_story لتوليد القصة بناءً على تلك الكلمات، وفي النهاية سنعرض النتيجة للمستخدم عبر المتصفح. افتح ملف views.py داخل مجلد مشروع جانغو، واستورد الوحدات والحزم البرمجية اللازمة، ثم أضف دالة عرض view باسم generate_story_from_words واكتب ضمنها ما يلي: from django.http import JsonResponse from .story_generator import generate_story def generate_story_from_words(request): words = request.GET.get('words') # استخراج الكلمات المتوقعة من الطلب story = generate_story(words) # استدعاء دالة generate_story باستخدام الكلمات المستخرجة return JsonResponse({'story': story}) # إرجاع القصة في استجابة JSON بعدها نحتاج لربط الدالة بمسار URL في مشروع جانغو لتمكين المستخدمين من الوصول إليها عبر المتصفح. لنفتح الملف urls.py ونضيف نمط الرابط URL pattern للدالة generate_story_from_words كما يلي: urlpatterns = [ # أنماط URL الأخرى... path('generate-story/', views.generate_story_from_words, name='generate-story'), ] الآن يمكننا إرسال الطلبات من خلال نقطة الوصول التالية/generate-story/ باستخدام المتصفح، وإرسال طلب من النوع GET لها وتمرير الكلمات المتوقعة كمعاملات للطلب، نفتح سطر الأوامر ونكتب الأمر curl بالشكل التالي: (env)hasoub-academy@ubuntu:$ curl "http://your_domain/generate-story/?words=قطة,كتاب,حاسوب,شمس,ماء" استبدل http://your_domain بعنوان النطاق الفعلي الذي يستضيف مشروعك. تمثل الكلمات الممررة عبر هذا الرابط مثل كتاب وماء وحاسوي فهي الكلمات التي نريد استخدامها لتوليد محتوى القصة. يمكنك بالطبع تغيير هذه الكلمات واستخدام كلمات أخرى حسب رغبتك. بعد تشغيل أمر curl يجب أن نرى ردًا من الخادم يحتوي على القصة المولدة استنادًا إلى الكلمات التي قدمتها. (env)hasoub-academy@ubuntu:$ curl "http://your_domain/generate-story/?words="قطة,كتاب,حاسوب,شمس,ماء" وسنحصل على مخرجات قريبة للتالي: { "story": "كان يا مكان، في كوخ صغير مريح يقع وسط غابة كثيفة، قطة فضولية تُدعى 'مشمش' تجلس بجانب النافذة، تستمتع بأشعة الشمس الدافئة. بينما كانت 'مشمش' تحرك ذيلها بكسل، لفت نظرها كتاب مغبر ملقى على رف قريب. بدافع الفضول، قفزت بعناية إلى الرف، مما أدى إلى سقوط مجموعة من الكتب، فتح أحدها ليكشف عن مكان مخفي. داخل هذا المكان، اكتشفت 'مشمش' حاسوبًا قديمًا، بدأ شاشته يومض عندما لمست زر الطاقة. مفتونةً بالشاشة المتوهجة، انطلقت 'مشمش' في عالم من المناظر الافتراضية، حيث تجولت بحرية، تطارد الأسماك الرقمية وتوقف للإعجاب بشلالات رائعة. ضائعة في هذه المغامرة الجديدة، اكتشفت 'مشمش' عجائب العوالم الملموسة والافتراضية معًا، مدركةً أن الاستكشاف الحقيقي لا يعرف حدودًا." } الخلاصة إلى هنا نكون قد وصلنا لنهاية هذا المقال، يجب أن تكون قد فهمت الخطوات الأساسية التي تحتاجها لدمج OpenAI modes داخل تطبيق جانغو Django باستخدام الواجهة البرمجية OpenAI API، وتعلمت طريقة إرسال الطلبات للواجهة البرمجية ChatCompletion API والتحكم بسلوك النموذج عن طريق ضبط معاملاته المختلفة. لتحسين هذا المشروع وزيادة ميزاته، يمكنك استكشاف المزيد من مميزات الواجهة البرمجية OpenAI API وتجرب مُوجِّهات نظام system prompt مختلفة، وقيم معاملات متنوعة حتى تحصل على قصة مميزة وإبداعية. ترجمة-وبتصرٌّف-للمقال How to Integrate OpenAI GPT Models in Your Django Project اقرأ أيضًا إنشاء تطبيق جانغو وتوصيله بقاعدة بيانات مدخل إلى إطار عمل الويب جانغو Django دليلك لربط واجهة OpenAI API مع Node.js استخدام وكلاء مكتبة المحولات Transformers Agents في الذكاء الاصطناعي التوليدي
    2 نقاط
  49. السلام عليكم لو جد بيعتلي علي شغل علي Linkedin فا ده نصب ام اي ؟ مع العلم انا عمل الملف الشخصي يعني مش افضل حاجه لسه بحديث فيه لو حد مش جد انا اسف من منصه Outlier
    2 نقاط
  50. و عليكم السلام، هي تقوم بالتخزين بشكل مماثل لآلية التخزين في كافة لغات البرمجة، أي عبارة عن أماكن متجاورة في الذاكرة. في حال كان هناك أكثر من بعد فيتم التخزين أيضًا بنفس الطريقة، مثلًا في حال 2d يتم تخزين السطر الأول إلى جانبه السطر الثاني و هكذا. تحياتي.
    2 نقاط
×
×
  • أضف...