لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 11/14/23 في كل الموقع
-
هل متواجد شرح عام عن الربط بين الfront والـ Back2 نقاط
-
انا طالب علوم الحاسوب سنة اولى وانا لا اعرف شيء عن البرمجة والحاسوب غير استخدامه للتصفح والغيمينغ فما هو الكورسات لي راح يفيدوني في مسيرتي الاربع سنوات بالترتيب وطورني بشكل كبير؟2 نقاط
-
السلام عليكم اريد ملف pdf يحوي على سير العمل في بناء تطبيق ويب من التصميم حتى النشر وشكرا1 نقطة
-
لدي تطبيق قمت ببرمجته بي بايثون في التطبيق توجد بيانات سيتم استدعائها من قاعده البيانات وجد الكثير يتحدث عن mysql بانها مجانية سؤالي هو هل mysql نوع او طريقه تخزين قواعد البيانات ام هو موقع يستضيف البيانات الموجوده في التطبيق الخاص بي ؟ وما هي افضل المواقع المجانية التي تقوم بهذه المهمه ؟ وهل جميع دائماً يتم تنظيم قواعد البيانات بلغه sql ؟1 نقطة
-
1 نقطة
-
لماذا عند دخول مسار بايثون، يكتب Human Verification ولا أستخدم VPN أو بروكسي1 نقطة
-
لو سمحتو بدي ارسم حرف S باستخدام * في لغة c++ لازم استخدم nested for loop وفقط main function1 نقطة
-
لدي سؤال يتعلق بطبيعة الحاسوب و الامكانيات اللازمة و الشروط الذي يتوجب توفرها في نوعية الحاسب الذي استطيع من خلاله البرمجة بشكل مريح و سهل و ميسر ، ما هي المعطيات و النوعية الأساسية لحاسوب صالح للبرمجة و التطوير ، و أشياء كثيرة؟1 نقطة
-
من الأفضل استخدام اللغة والإطار اللذان تجيد استخدامهم بدلاً من تعلم لغة وإطار جديد، لكن الأمر يتوقف أيضًا على باقي أعضاء الفريق، لذلك أنتم بحاجة إلى التشاور بخصوص ذلك، ونعم PHP ولارافل ستتمكن من تنفيذ المشروع بشكل أسرع من خلالهم.1 نقطة
-
1 نقطة
-
MySQL هو نوع من أنظمة إدارة قواعد البيانات العلائقية (RDBMS)، وهو نظام مفتوح المصدر ومجّاني، ويُستخدم لتخزين البيانات في شكل جداول، حيث يتم تنظيم البيانات في صفوف وأعمدة، وتستطيع الوصول إلى البيانات الموجودة في قاعدة بيانات MySQL باستخدام لغة SQL، وهي لغة برمجة مصممة خصيصًا لإدارة قواعد البيانات. وMySQL ليست موقعًا يستضيف البيانات الموجودة في التطبيق لديك، ولكن نستخدمها على استضافة ويب أو على خادم خاص بك، وفي حال استخدام استضافة ويب، فسوف يوفر لك المزود مساحة تخزين على الخادم الخاص به، حيث يمكنك تثبيت MySQL وإنشاء قواعد البيانات وإن كنت تستخدم خادمًا خاصًا، فتستطيع تثبيت MySQL على الخادم لديك. وبخصوص أنواع قواعد البيانات فعليك قراءة التالي لتفهم الأمر: وبخصوص الاسضافات المجانية التي تقدم قاعدة بيانات MySQL: googiehost awardspace profreehost 000Webhost1 نقطة
-
هناك أدوات مجانية مثل: https://www.browserling.com/ https://testingbot.com/test-on-safari https://www.lambdatest.com/ وهناك طريقة أخرى ألا وهي تثبيت MacOs على نظام وهمي من خلال VMWare أو VirtualBox وأنا أُفضل استخدام VMWare، عليك البحث على اليوتيوب عن How to Install Mac OS on VMWare. وبالطبع ستحتاج إلى نسخة iSO لنظام ماك من أجل تثبيت النظام، وإليك إصدار macOS Monterey 12.6: https://www.mediafire.com/file_premium/cxizgpcl0lj38ec/macOS_Monterey_12.6_Final_ISO_by_Techsprobe.rar/file وأيضًا رابط إصدار أحدث وهو إصدار macOS Ventura 13: https://archive.org/download/macos-collection/Releases/Ventura 13.0 v18.0.02.iso1 نقطة
-
أخي لم تعمل معي الإضافة ممكن رابط للإضافة المقصودة وارجوا ان تكون مجانية بالكامل1 نقطة
-
الـ mysql هو عبارة عن خادم يقوم بتخزين البيانات و اعادتها اي انه (نوع أو طريقة لتخزين البيانات واستيرادها والتعامل معها)، ويوجد مواقع تقوم تقوم بتوفير خوادم mysql مثل قواعد البيانات المقدمة من جوجل. ليس لدي فكرة عن اي mysql مجانية، ويمكنك البحث عبر الانترنت لمحاولة العثور عليها ولكن حسب تجربتي فأغلب المواقع المجانية ليست عملية. لا بالتأكيد فهنالك الكثير من انواع قواعد البيانات وهي بالغالب على نوعين : sql : nosql : وكل من قواعد البيانات السابقة له استخداماته وميزاته الخاصة واكثرهم شهرة هو MongoDB.1 نقطة
-
لأكون صريحًا معك، الوقت ضيق أمامك وطالما أن المشروع ليس بالبسيط، فالفكرة غير واقعية بالمرة، لا يمكنك تعلم لغة وإطار خلال شهر إلا إذا كان لديك خبرة برمجية من قبل وقمت بتنفيذ عدّة مشاريع بحجم متوسط على الأقل. ولذلك في حال أنك تريد البدء بتعلم البرمجة وتريد تنفيذ مشروع خلال شهر، فلن تتمكن من ذلك للأسف، وفي حال كنت ملم بلغة وإطار فمن الأفضل استخدامهم في المشروع بدلاً من تعلم لغة أو تقنية جديدة. لكن على أي حال يمكنك المحاولة، أو تعيين شخص لتنفيذ المشروع ليتم إنقاذ الموقف مع تقديم شرح لما تم لكي تتمكن من شرحه لدكتور المادة، وهو أمر لا أنصحك بفعله بالطبع فسيعود عليك بالسلب لكن ليس أمامك خيار آخر حاليًا. وبالنسبة لسؤالك عن PHP ولارافل، فنعم تستطيع تنفيذ المشروع بشكل أسرع من خلال إطار لارافل حيث يوجد الكثير من المكتبات والمكونات الجاهزة وستتمكن من تنفيذ المشروع بشكل سريع، وستحتاج إلى قراءة التالي: بالنسبة للتسميات، فعند تقسيم المهام، يتم إسناد كل جزء بشكل منفصل ليعمل عليه شخص أو فريق، لذلك التسميات ليست هامة هنا فالجزء الخاص به من المفترض أن يكون منفصل عن البقية، لكن من المهم استخدام أسماء واضحة ومختصرة وتعكس الغرض من المتغير أو الدالة.1 نقطة
-
لفريق سكرام Scrum Team المقدرة على إنجاز أي مهمة خلال أسبوع إلى شهر إذا ما أُخذت المدة التي من المقرر إنجاز العمل بها والأسس المشتملة به بالحسبان؛ ولكن في الواقع ليس هذا أفضل ما يمكن أن يفعله الفريق سكرام، فالهدف من عمل الفريق (الفريق سكرام) هو تقديم خدمة سريعة ومتزايدة للمستخدمين النهائيين، وبالتالي من الخطأ وضع خطة ذات أمد طويل لينجز بها الفريق ذلك العمل، إذ بمجرد التركيز على ما هو مهم فعلًا ومعرفة كيفية التعامل مع المستجدات يمكن النهوض بالفريق إلى حد يمكنه من إنجاز عمله خلال 48 ساعة فقط. إليك في ما يلي كيفية تحقيق ذلك: اليوم الأول مهام اليوم الأول: ضع رؤية للعمل. حضر أدوات العمل. ضع قائمةً بالأعمال المطلوب إنجازها. تطوير قائمة الأعمال وإدخال تعديلات عليها. الجلسة الأولى: وضع رؤية للعمل أهم نقطة بالنسبة للفريق هي تحديد سبب وجوده أولًا، ولتحقيق ذلك لا بد من فهم مشكلة العمل التي تحاول الشركة حلها. فلماذا أُنشئ الفريق أساسًا؟ وما هي معايير النجاح لنقول بأن الفريق قام بعمل جيد أصلًا؟ تأكد من مشاركة الفريق بأكمله في مهمة هذه الجلسة ليكون الفهم مشتركًا. باختصار: ستحتاج إلى بيان يلخص سبب وجود الفريق، مع معايير لقياس نجاحه. الجلسة الثانية: تحضير أدوات العمل إن العمل كفريق يعني وجود فهم مشترك لما يفعله كل شخص. تُعد البرمجيات المشتملة بإدارة المشروع السبيل لذلك، حيث يمكن اﻻعتماد على تطبيقات وبرمجيات مثل منصة أنا وجيرا JIRA وآزوري Azure board وجيت هب Github. تأكد من أن تلك الأدوات تحت تصرف الجميع في المشروع، كما يمكن استخدام اللوحات التمثيلية كانبان Kanban boards التي تمثل بصريًا وترتب مهام العمل أمام الأشخاص، بحيث تسهل فهم سير العمل للجميع. خذ وقتًا كافيًا لإجراء بعض التدريبات الذي لا بد منها حتى يتمكن الجميع من التنقل بين مهام المشروع وفهم كيفية سير العمل. باختصار: يجب وضع عمل مشترك لمراقبة إنجاز المهام وتنظيمها، مع أعمدة لوحات كانبان Kanban متفق عليها مسبقًا تؤمن فهمًا شموليًا للعمل، والتأكد بأن الجميع مخول للمشاركة في المشروع. الجلسة الثالثة: وضع قائمة بالأعمال المطلوب إنجازها حان الوقت الآن لتدوين كل المهام التي يعتقد الفريق أنه بحاجة لإنجازها ضمن لائحة تحوي خانات تُكتب عليها المهام. في بادئ الأمر، لا تكترث للتفاصيل. اكتب كل ما يعتقد الأشخاص أن فعله ضروري، أو ما يعمل عليه الفريق الآن إذا كان الفريق قيد العمل أساسًا. المبدأ الأساسي هنا هو الشفافية بين جميع الأفراد بشأن الوضع الحالي للعمل. تجنب ملء الخانات بالتفاصيل، فسيحدث ذلك بمرور الوقت. سيتم العمل عليها بالتدريج، لذلك لا تضيع الوقت بالخوض فيها بالبداية. حاول أن تصف المشكلة بأسلوب جيد، وأنشئ خانة تعريفية تحوي سطرين من الوصف بحيث تكون مرشدة لفهم باقي الخانات. باختصار: لا بد من امتلاك قائمة تضم كل الأعمال المطلوب إنجازها كأداة من أدواتك في مراقبة سير العمل. الجلسة الرابعة: تعديل قائمة الأعمال المطلوب إنجازها بعد أن حددتم جميعًا عناصر قائمة المهام المطلوبة، عليكم الآن مناقشة أولوية إنجازها، ويكون ذلك إما من حيث أولوية العمل، أو الترتيب المنطقي للإنجاز. مر مجددًا على الخانات الأكثر أهمية، واحرص على وضعها أعلى القائمة، ثم ابدأ بتفصيلها. ركز على جمع معايير قبول العمل من باقي الأفراد، وكذلك وصف المعلومات المطلوبة حتى تتمكن من بدء العمل في المهمة. احرص على جمع الأسئلة بدلًا من محاولة الإجابة عليها في الجلسة. وللتذكير مجددًا، عليك التعامل مع الأمور الغامضة بهدوء، إذ من المحتمل أن تكون هناك الكثير من الأشياء المجهولة في هذه المرحلة. باختصار: يجب تحديد أولوية إنجاز المهام في القائمة، مع معايير القبول و والحصول على معلومات إضافية. اليوم الثاني مهام اليوم الثاني: إنشاء ورشة لتوزيع مهام العمل. *وضع خطة عمل لفترة زمنية معينة. تبيان متى يمكن القول أن المهمة قد أُنجزت. الجلسة الخامسة: إنشاء ورشة لتوزيع مهام العمل بعد قضاء ليلة من النوم الهنيء واحتساء فنجان مركز من القهوة، فإن هدف ورشة العمل الأولى لليوم الثاني هو: كيفية تحويل الفكرة إلى إنتاج؟ قد يكون هذا بديهيًا جدًا بالنسبة الفريق، ولكن غالبًا ما تكون هناك ثغرات في فهم العملية وتقبلها. وضّح ذلك مبكرًا لتجنب تلكّؤ عمل الفريق لاحقًا. وإذا كانت هناك إجراءات يلزم اتخاذها لإعداد التكامل المستمر أو عملية توزيع الأفراد على العمل، فأضفها إلى قائمة المهام. باختصار: يجب التوصل إلى مخطط بياني لسير عملية تحويل الأفكار إلى إنتاج، مع لفت الانتباه للفجوات الحالية. الجلسة السادسة: وضع خطة عمل لفترة زمنية معينة حان الوقت لوضع أول خطة زمنية لعملك. تُعد إجراءات تخطيط فترات العمل الزمنية أمرًا بالغ الأهمية، لذا ضع هدفًا لتحقيقه خلال هذه الفترة؛ يعني ما الذي نريد تحقيقه فعلًا بنهاية الفترة الأولى بما يخص قيمة العمل؟ بمجرد الإجماع على ذلك الهدف، راجع بنود لائحة المهام بما يسهم في تحقيق الهدف، وانتقِ المهام بناء عليه. سيساعدك ترتيب الأولويات الذي قمت به البارحة في المجموعة الأولى من المهام في ذلك حتمًا، لذا حدد مع الفريق مقدار ما يمكنك إنجازه في الفترة الأولى، ثم اتفق مع الفريق على خطة أولية حول ما سيقوم به كل عنصر في الفريق. باختصار: ستحتاج إلى تحديد الهدف المراد تحقيقه خلال فترة من الزمن واستخدام لائحة المهام بما يوافق تلك الفترة، وإحداث انسجام بين ما سيعمل عليه الجميع في البداية. الجلسة السابعة: تبيان متى يمكن القول بأن المهمة قد أُنجزت بعد أن وضعت خطةً زمنيةً للعمل، قد تظن الآن أنك جاهز للمضي قدمًا في إكمال العمل، ولكن في الواقع الأمر لم ينته بعد! إذ ستفشل خطتك بسرعة ما لم يكن هناك تعريف مشترك لمفهوم الإنجاز في العمل. يشمل مفهوم الإنجاز عمومًا ما نعنيه عند نقل المهمة من خانتها كمهمة مطلوب إنجازها إلى خانة الإنجاز ضمن اللائحة وفقًا لمعايير الإنجاز المتفق عليها مسبقًا، وبالتالي بدلًا من الاهتمام المبالغ به بملء خانة المهام المنجزة، يجب التركيز على امتلاك أسلوب قوي لفحص جودة المهام قبل نقلها إلى خانة الإنجاز، وتكوين فهم مشترك حيالها. باختصار: من الضروري جدًا امتلاك قائمة بالمعايير التي يجب أن تفي بها كل مهمة لنقول أنها قد أُنجزت. بعد هذين اليومين الشاقين، يجب أن يكون الفريق مستعدًا لامتلاك رؤية في العمل، وهدفٍ عليهم تحقيقه خلال فترة زمنية، ولائحة مهام عليهم إنجازها؛ مع فهم لكيفية توزيع تلك المهام على الأفراد، وتحديد مفهوم مشترك للإنجاز. والآن، يمكن للخطط الزمنية أن تنطلق وتتقدم، مع مراعاة مراقبتها وتقييمها يوميًا. إن أحد نقاط القوة الرئيسة في الفريق سكرام هو الفحص المستمر لسير العمل والتكيف مع المستجدات، فهذا أمر بالغ الأهمية، نظرًا لمبدأ عمل الفريق سكرام ذي الطابع السريع. تأكد بأن العملية تسير بكفاءة في بدايتها، ثم دعِ الفريق يتحسن بمرور الوقت، ولا بأس بالتكرار وإعادة المحاولة بعد اكتشاف الأخطاء أفضل من محاولة وضع خطة مثالية تبدأ بها المشروع. ترجمة -وبتصرف- للمقال Hacking the Set Up of Your Scrum Team to Start Delivering Within 48 hours لصاحبه Edward Lowe. اقرأ أيضًا تعرف على إطار عمل سكرام scrum أشهر أطر منهجية أجايل من هو مسؤول سكرام Scrum Master وما هي وظيفته؟ دليلك إلى أشهر أطر عمل منهجية أجايل المراسم الأربعة لمنهجية أجايل Agile ceremonies1 نقطة
-
يسعى مجال الذكاء الاصطناعي إلى محاكاة ذكاء البشر في قدرتهم على تحليل المعطيات الحسية كالصورة والأصوات واستنتاج المعلومات المفيدة منها، وبينما يُمثل البشر تلك المعطيات بيولوجيًا طور علماء الرياضيات والحاسوب طرقًا لتمثيل ومعالجة تلك المعطيات رقميًا لنتمكن من معالجتها بخوارزميات رياضية ضمن الحاسوب، حيث يمكن تدريب نماذج الذكاء الاصطناعي على البيانات لتتمكن محاكاة ذكاء البشر في مجال محدد، أحد أنواع تلك النماذج هي نماذج اللغة الكبيرة LLM's (أو Large Language Models) وهي نماذج دُربت على كميات كبيرة من النصوص فامتلكت القدرة على توليد نصوص مشابهة لها وبل حتى فهم نصوص جديدة لم تشاهدها ضمن بيانات التدريب من قبل. من نماذج اللغة الكبيرة النموذج ChatGPT من شركة OpenAI والذي دُرّب على كمية كبيرة من النصوص الموجودة على شبكة الانترنت وطوّر ليستجيب إلى الأوامر المرسلة له من قبل المستخدم، مما يجعل هذا النموذج قادرًا على محاكاة تلك النصوص وتحديد النقاط الرئيسية فيها والرد عليها بردود كما لو أنها مكتوبة من قبل إنسان، لذا يمكن الاستفادة من مرونة التعامل معه وفهمه للأوامر باللغة الطبيعية في العديد من التطبيقات العملية، كتوليد المحتوى أو التعديل على نص معين أو التلخيص واستخراج النقاط الرئيسية من نص ما والكثير من الأفكار الأخرى، أي يمكن اعتبار تلك النماذج كمساعد ذكي يمكن طلب أي مهمة منه كما لو كنا نطلبها من شخص حقيقي، وأهم ما في تلك النماذج هو سهولة برمجتها نسبيًا، فلم نعد بحاجة لتعلم لغة برمجة مخصصة بل يمكننا التعامل معها باللغة الطبيعية وبعدة لغات أيضًا منها اللغة العربية كما سنرى لاحقًا. وفي هذا المقال سنستفيد من قدرة ذلك النموذج على فهم النصوص وإعادة صياغتها وتلخيصها في تلخيص مقالات من الإنترنت، حيث سنبني تطبيق ويب باستخدام لارافل Laravel لجلب محتوى المقال الذي يرغب المستخدم في تلخيصه، ثم الطلب من نموذج ChatGPT تلخيص ذلك المقال للمستخدم، ولمتابعة هذا المقال يجب أن تملك خبرة أساسية في لغة PHP عمومًا وإطار لارافل خصوصًا. دورة تطوير تطبيقات الويب باستخدام لغة PHP احترف تطوير النظم الخلفية وتطبيقات الويب من الألف إلى الياء دون الحاجة لخبرة برمجية مسبقة اشترك الآن إنشاء مشروع لارافل جديد وبناء الواجهات الأمامية يتألف مشروعنا بشكل عام من صفحتين رئيسيتين الأولى يدخل فيها المستخدم رابط المقال الذي يريد تلخيصه، والثانية يظهر له فيها الملخص لذلك المقال بعد أن يجلب التطبيق صفحة المقال من على الأنترنت ويستخرج محتوى المقال ويرسلها إلى نموذج ChatGPT لتلخيصها كما سنرى بالتفصيل لاحقًا، ولنبدأ أولًا بإنشاء مشروع وليكن بالاسم summarizer عبر تنفيذ الأمر التالي ضمن الطرفية والذي سيُنشئ مجلد جديد باسم المشروع يحوي هيكلية الملفات الأساسية لمشروع لارافل جديد: composer create-project laravel/laravel summarizer نحتاج لهذا المشروع صفحتين، الصفحة الأولى لإدخال رابط المقال المُراد تلخيصه وتحوي على نموذج form بسيط يرسل القيم بداخله بالطريقة POST إلى المسار summary/ والذي سنُعرفه لاحقًا، ويحوي النموذج على حقل لإدخال الرابط بالاسم url وزر الإرسال ولا ننسى تضمين قيمة الحقل csrf ضمن النموذج، وننشئ للصفحة ملف جديد بصيغة قالب blade جديدة ضمن المسار التالي resources\views\index.blade.php يحوي التالي: <head> <title>لخصلي</title> <link rel="stylesheet" href="style.css"> </head> <body> <h1>✍?</h1> <form action="/summary" method="POST"> @csrf <input type="url" name="url" placeholder="أدخل رابط المقال"> <button type="submit">لخصلي</button> </form> </body> والصفحة الثانية هي لعرض نتيجة التلخيص، تحوي على الملخص ورابط للمقال الأصل في حال أراد المستخدم قراءته ورابط للرجوع للصفحة الرئيسية لطلب تلخيص جديد، ونُنشئ ملف قالب تلك الصفحة ضمن المسار resources\views\summary.blade.php ويحوي التالي: <head> <title>لخصلي</title> <link rel="stylesheet" href="style.css"> </head> <body> <h2>ملخص المقال</h2> <p>{{ $summary }}</p> <footer> <a href="{{$url}}" target="_blank">قراءة المقال</a> <a href="/">تلخيص مقال جديد</a> </footer> </body> نلاحظ ربط ملف تنسيقات CSS بالاسم style.css في كلا الصفحتين لتنسيق محتواهما، ونُنشئ ذلك الملف ضمن المسار public\style.css ويحوي التنسيق التالي: body { direction: rtl; display: flex; flex-direction: column; max-width: 60ch; justify-items: center; align-items: center; font-size: x-large; margin: 0 auto; padding: 20vh 10vw; background-color: #f9f9f9; color: #121212; font-family: system-ui; } p { line-height: 2; text-align: center; border: .25rem solid; padding: 3rem; white-space: pre-line; } a { padding: 1rem; font-size: inherit; margin: 0 .5rem; color: darkblue; } footer { margin-top: 2rem; } form { display: flex; flex-direction: column; gap: 2rem; text-align: center; } button { background-color: #121212; color: #f9f9f9; border: none; padding: 1rem 2rem; font-size: inherit; cursor: pointer; font-family: inherit; } input { padding: 1rem 2rem; font-size: inherit; font-family: inherit; text-align: center; border: .2rem solid; } نعرف ضمن ملف التوجيه routes\web.php مسارين الأول لعرض صفحة الإدخال نعيد فيها قالب الصفحة الأولى، والمسار الثاني summary/ لاستقبال طلبات HTTP من نوع POST نستخرج ضمنه قيمة الرابط url المُدخل من قبل المستخدم ويلخص ذلك المقال ثم يعرض النتيجة ضمن قالب الصفحة الثانية ليكون محتوى الملف كالتالي: <?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; // صفحة الإدخال Route::view('/', 'index'); // صفحة عرض التلخيص Route::post('/summary', function (Request $request) { $url = $request->input('url'); return view('summary', [ 'url' => $url, 'summary' => 'ملخص المقال هنا' ]); }); والآن يمكننا استعراض الصفحتين بتشغيل خادم التطوير أولًا باستخدام الأمر التالي: php artisan serve واستعراض الصفحة الرئيسية: وإدخال أي رابط ضمن تلك الصفحة وطلب تلخيصه لنستعرض صفحة النتيجة: بعد أن جهزنا المشروع الجديد والصفحات وعملية إرسال طلب تلخيص جديد سنبدأ في الفقرات التالية تضمين عملية جلب محتوى المقال المطلوب ثم تلخيصه باستخدام ChatGPT. جلب محتوى المقال نبدأ بإنشاء صنف جديد بالاسم Article ضمن المسار app\Article.php والذي سيكون مسؤولًا عن جلب محتوى المقال عن طريق الرابط له، ويحوي على التابع fromURL والذي يقبل رابط المقال كمعامل أول ويعيد نص المقال كسلسلة نصية، ويُنفذ ذلك باستخدام الصنف المساعد HTTP الذي يتيحه لارافل لإرسال طلب من نوع GET لجلب محتوى صفحة المقال كاملةً، ثم الاستعانة بالصنف DOMDocument لتحليل محتوى HTML من تلك الصفحة واستخراج المحتوى النصي لعناصر الفقرات ذات الوسم p والتي تحوي عادةً المحتوى النصي للمقال، ونجمع محتوى تلك الفقرات معًا في سلسلة نصية لتكون المحتوى النصي للمقال كاملًا ضمن الصفحة كالتالي: <?php namespace App; use DOMDocument; use Illuminate\Support\Facades\Http; class Article { public function fromURL($url): string { // جلب محتوى الصفحة $html = Http::withHeaders(['User-Agent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36']) ->get($url) ->body(); // استخراج الفقرات $document = new DOMDocument(); @$document->loadHTML($html); $paragraphs = $document->getElementsByTagName('p'); // جمع محتوى الفقرات معًا $article = ''; foreach ($paragraphs as $paragraph) { $article = trim($article . "\n\n" . $paragraph->textContent); } return $article; } } أضفنا للطلب المُرسل الترويسة User-Agent والتي تتطلبها بعض المواقع لإرسال محتوى الصفحة، ونلاحظ أيضًا إضافة العلامة @ قبل تحميل محتوى الصفحة باستخدام التابع loadHTML لتجنب بعض الأخطاء التي قد تحدث عند محاولة تفسير محتوى الصفحة، ولاستخدام ذلك الصنف يمكننا تمريره كمعامل لتابع معالجة مسار صفحة النتيجة ليُنشئ لارافل تلقائيًا كائنًا جديدًا من ذلك الصنف ويمرره لتابع المسار لنتمكن من استخدامه لجلب محتوى المقال من الرابط المُرسل كالتالي: use App\Article; ... // صفحة عرض التلخيص Route::post('/summary', function (Request $request, Article $article) { $url = $request->input('url'); // جلب محتوى المقال $content = $article->fromURL($url); return view('summary', [ 'url' => $url, 'summary' => 'ملخص المقال هنا' ]); }); وفي الفقرة التالية سنرسل ذلك المحتوى إلى ChatGPT لتلخيصه ثم عرضه للمستخدم. تلخيص محتوى المقال باستخدام ChatGPT بعد أن استخرجنا محتوى المقال كاملًا يمكننا إرساله إلى ChatGPT محاطًا بتعليمة نخبر بها النموذج بأننا نريد ملخص قصير عن ذلك النص، ولكن نماذج اللغة الكبيرة مثل ChatGPT تملك حد أقصى من طول المحتوى المُرسل إليها وهو 4097 رمز (أو token) بحسب التوثيق الرسمي للنموذج، والرمز هو قطعة من النص يحدد طولها بكلمة أو عدة أحرف أو عدة كلمات أحيانًا، أي في حال كان المقال طويل وعدد الرموز المكونة له أكبر من الحد الأقصى لن نتمكن من إرساله دفعة واحدة، ويمكن الاطلاع من خلال أداة توفرها الشركة على حساب تلك الرموز من أي نص. ويمكن حل المشكلة الحد الأقصى للرموز بعدة طرق والطريقة التي سنستخدمها هي تقسيم نص المقال إلى عدة مقاطع أقصر، ثم تلخيص كل مقطع منها على حدى وجمعها معًا للحصول على ملخص المقال كاملًا، وفي حال كان ذلك الملخص أطول مما نرغب بعرضه للمستخدم نعيد تلخيص الملخص نفسه مجددًا للحصول على ملخص أقصر، ونكرر ذلك حتى الحصول على ملخص بطول مناسب للمقال كاملًا، وانتبه إلى أن هذه الطريقة اعتمدناها فقط لأغراض تعليمية وقد لا تعطي نتائج جيدة لذا ابحث عن طريقة أفضل لحل هذه المشكلة. نكمل العمل بإنشاء صنف جديد بالاسم Summary ضمن المسار app\Summary.php سيحوي على عدة لتقسيم وتلخيص النصوص سنشرحها تباعًا: <?php namespace App; class Summary { ... } التابع الرئيسي لتلخيص المقال اسمه toWords وهو يستقبل النص المراد تلخيصه وعدد يعبر عن عدد الكلمات الأقصى للملخص النهائي لذلك النص، بحيث يكون ذلك التابع مسؤولًا عن تلخيص النص باستخدام التابع summarize الذي سنعرفه لاحقًا، ثم التحقق من عدد كلمات الملخص وتكرار عملية التلخيص إن لزم الأمر إلى أن نحصل على ملخص نهائي بالطول المناسب: class Summary { public function toWords(int $at_most, string $text) { // تلخيص أولي للنص $summary = $this->summarize($text); // تكرار عملية التلخيص حسب الطول المطلوب while (count(explode(" ", $summary)) > $at_most) $summary = $this->summarize($summary); return $summary; } public function summarize(string $text): string { ... } } ونستدعي ذلك التابع ضمن تابع معالجة بعد تعريفه ضمن المعاملات في ملف التوجيه routes/web.php لتلخيص محتوى المقال بعد استخراجه إلى عدد كلمات مناسب وليكن 150 كلمة وتمرير الملخص إلى قالب الصفحة لعرضه للمستخدم كالتالي: // صفحة عرض التلخيص Route::post('/summary', function (Request $request, Article $article, Summary $summarizer) { $url = $request->input('url'); // جلب محتوى المقال $content = $article->fromURL($url); // تلخيص المقال $summary = $summarizer->toWords(100, $content); return view('summary', [ 'url' => $url, 'summary' => $summary ]); }); التابع summarize ضمن الصنف Summary مهمته تجزئة النص إلى فقرات بطول مناسب لإرسالها إلى ChatGPT للتلخيص، حيث نبدأ بتجزئة النص إلى فقراته التي يفصل بينها سطر فارغ، ثم تجميعها إلى مجموعات ولتكن مؤلفة من 8 فقرات معًا، بعدها نطلب تلخيص كل مجموعة على حدى، وبما طلب تلخيص كل مجموعة لا يتعلق بالأخرى فيمكننا إرسال طلبات التلخيص لتلك المجموعات معًا على التوازي لاختصار وقت التلخيص الكلي، فلا داعي في طريقتنا لانتظار تلخيص أول فقرة حتى نلخص التي تليها، وننفذ ذلك باستخدام التابع pool من الصنف المساعد في لارافل HTTP والذي نمرر له تابعًا يقبل معامل من النوع Pool والذي يعبر عن مجموعة من طلبات HTTP ستُرسل معًا على التوازي، توليد الطلب الواحد سنوكله لتابع منفصل بالاسم summaryRequest، وبعد انتهاء كل الطلبات نستخرج منها الملخصات من مفتاح JSON في المسار choices.0.message.content باستخدام التابع json من كل طلب منها، ثم نضمها معًا مجددًا لتشكل الملخص لكل الفقرات المرسلة: class Summary { ... public function summarize(string $text) { // الفاصل بين الفقرات $seperator = "\n\n"; // فصل النص إلى فقرات بطول مناسب $paragraphs = collect(explode($seperator, $text)) ->chunk(8) ->map(fn ($chunks) => $chunks->join($seperator)); // إرسال طلبات التلخيص على التوازي $responses = Http::pool(fn (Pool $pool) => $paragraphs->map( fn (string $paragraph) => $this->summaryRequest($pool, $paragraph) )); // استخراج تجميع الملخصات معًا return collect($responses) ->map(fn ($response) => $response->json('choices.0.message.content')) ->join($seperator); } protected function summaryRequest(Pool $pool, string $text) { ... } } ضمن التابع summaryRequest سنرسل الطلب باستخدام pool$ إلى ChatGPT لتلخيص محتوى الفقرة text$ المٌمررة له، وإرسال أي طلب للواجهة البرمجية الخاصة به تحتاج منا أولًا الحصول على مفتاح استيثاق يمكن توليده بعد إنشاء حساب جديد ضمن موقع الشركة المالكة للنموذج OpenAI وإكمال إعدادات الحساب وتعيين وسيلة الدفع ضمنه، وبعد توليد المفتاح نضعه ضمن ملف متغيرات البيئة env. ضمن مفتاح بالاسم OPENAI_API_KEY ضمن ملفات المشروع لنتمكن من اختبار إرسال الطلبات محليًا كالتالي: ... OPENAI_API_KEY=<مفتاح الاستيثاق> وبحسب صفحة التوثيق الخاصة بتلك الواجهة البرمجية فيجب أن نضع ذلك المفتاح ضمن قيمة الترويسة Authorization يسبقها الكلمة Bearer ويفصل بينهما مسافة، ويمكننا استخراج قيمة المفتاح السابق باستخدام التابع env من لارافل، ويُرسل طلب HTTP بالنوع POST إلى نموذج المحادثة ChatGPT إلى مسار الواجهة البرمجية https://api.openai.com/v1/chat/completions، وضمن جسم الطلب نحدد قيمتين، الأولى هي اسم النموذج ضمن المفتاح model في حالتنا هو gpt-3.5-turbo، والقيمة الثانية هي messages تحوي تاريخ الرسائل الواقعة بين المستخدم والنموذج سابقًا، وفي حالتنا نحتاج رسالة مستخدم واحدة تحوي تعليمات للنموذج بتلخيص الفقرة ضمن تلك الرسالة وصيغتها كالتالي: سيفهم النموذج التعليمة السابقة ويرد برسالة تحوي تلخيص للفقرة المذكورة، ليكون بذلك تابع تلخيص الفقرة summaryRequest كالتالي: protected function summaryRequest(Pool $pool, string $text) { return $pool ->withHeaders(['Authorization' => "Bearer " . env('OPENAI_API_KEY')]) ->post('https://api.openai.com/v1/chat/completions', [ 'model' => 'gpt-3.5-turbo', 'messages' => [ ['role' => 'user', 'content' => implode("\n", [ "لخص الفقرة التالية من المقال تلخيص دقيق:", $text, "التلخيص:" ])] ], ]); } بذلك يكون تضمين صنف التلخيص Summary جاهزًا سنختبره في الفقرة التالية ونرى نتيجة تلخيصه. اختبار التطبيق لنختبر التطبيق بتلخيص مقال من موقع أكاديمية حسوب عن الذكاء الاصطناعي بإدخال رابطه ضمن صفحة الإدخال وطلب التلخيص: نلاحظ أن الملخص يحوي ذكر لمعظم الأفكار التي يغطيها المقال ما يعطي صورة عامة عنه، ولنختبره مجددًا بتلخيص جديد من أكاديمية حسوب عن تعلم البرمجة: يمكن التطوير على التطبيق من عدة نواحي، فمثلًا يمكن أن نوفر للمستخدم خيارات لإدخال محتوى المقال عن طريق رابط مثلًا أو نسخ المحتوى مباشرةً، أو أن نسمح للمستخدم بتحديد طول الملخص الذي يرغب به، أو الطلب من النموذج كتابة الملخص على شكل نقاط رئيسية، أو تحديد لغة النتيجة قبل عرضها للمستخدم، وهناك العديد من الأفكار المفيدة التي يمكن تطبيقها بالاستفادة من نماذج اللغة كنموذج ChatGPT وميزاته بفهم اللغة الطبيعية بلغات متعددة. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن اقرأ أيضًا تطوير تطبيق 'وصفة' لاقتراح الوجبات باستخدام ChatGPT و DALL-E في PHP تصنيف الصور والتعرف على الوجه في مجال الذكاء الاصطناعي دليلك الشامل إلى: برمجة التطبيقات دليلك الشامل إلى: لغة PHP1 نقطة
-
لقد فتح نموذج اللغة المتقدم ChatGPT، وهو التقنية المتطورة للذكاء الاصطناعي، آفاقًا جديدةً للتواصل بين الإنسان والآلة؛ لذا إذا كنت مهتمًا بالذكاء الاصطناعي أو التعلم الآلي أو معالجة اللغة الطبيعية، فلن ترغب في تفويت هذا الدليل الذي يتعمق في عالم ChatGPT الرائع. يضم هذا الدليل سلسلةً من المقالات التي تحتوي على مجموعة شاملة من المعلومات عن ChatGPT، إذ ستناقش هذه المقالات كيفية عمل ChatGPT وكيف جرت عملية تطويره، وكيفية تدريبه، وكيف يمكن استخدام واجهة برمجة التطبيقات API له، كما ستتضمن هذه السلسلة معلومات مفصلة حول موضوعات أخرى متعلقة بـ ChatGPT، والتي يمكن استخدامها في تحسين تجربة المستخدم عبر الإنترنت. وبغض النظر عن مهاراتك الحالية في تكنولوجيا المعلومات، سواء كنت مبتدئًا فضوليًا أو مطورًا متمرسًا، فلن ترغب في تفويت الأفكار القيمة الواردة في هذه المقالات، لتحصل على فهم شامل لـ ChatGPT وكيفية عمله وكيفية استخدامه بطريقة فعالة، لذا تابع معنا هذه السلسلة المتجددة بانتظام حتى النهاية للحصول على جميع المعلومات والإجابات عن أي أسئلة تخص هذه التقنية، واكتسب فهمًا أعمق لهذا النوع من التكنولوجيا الرائدة. نظرة على الذكاء الاصطناعي وتطور تقنياته إذا كنت تبحث عن تجربة فريدة ومثيرة أثناء استكشاف إمكانيات بوت المحادثة ChatGPT! فهذا هو الوقت المناسب الذي ندعوك فيه للاطلاع على تقنية الذكاء الاصطناعي وتعلم الآلة، فقد أصبحت هذه التقنيات جزءًا لا يتجزأ من حياتنا اليومية ومستقبلنا، كما أن فهم المصطلحات والتقنيات التي يستخدمها بوت المحادثة ChatGPT مهمة جدًا. ولهذا السبب، يجب عليك التعرف على أساسيات الذكاء الاصطناعي وتعلم الآلة، فهذا سيساعدك على فهم المصطلحات والتقنيات التي يستخدمها ChatGPT بسهولة. لا تخف من عدم معرفتك بالمصطلحات والتقنيات المستخدمة في هذا المجال، فالتعلم هو المفتاح الأساسي لفهمها. فسواءَ كنت مبتدءًا أو محترفًا في هذا المجال، يمكنك تعلم الذكاء الاصطناعي وتعلم الآلة بسهولة، وقد وفرت لك أكاديمية حسوب مجموعةً من الدروس والكتب التي تغطي المفاهيم الأساسية للذكاء الاصطناعي وتعلم الآلة، والتي يمكنك استخدامها كمصادر لتعلمك. نظرة عامة على ChatGPT في السنوات الأخيرة، شهدت مجالات الذكاء الاصطناعي ومعالجة اللغة الطبيعية تطورات كبيرة، ومن بين هذه التطورات تقنية ChatGPT التي أثارت اهتمام العديد من المتخصصين في هذا المجال؛ فهذه التقنية تعتمد على الذكاء الاصطناعي والتعلم العميق لتحليل وفهم اللغة الإنسانية وتوليد النصوص الطبيعية مثل الإنسان تقريبًا، لدرجة أنك قد لا تصدق أحيانًا أن تلك النصوص الناتجة هي من كتابة بوت فعلًا. فيما يلي سوف نناقش مفهوم ChatGPT وبنيته والجهة التي أنشأته ومراحل تطوره، بالإضافة إلى كيفية تدريبه وميزاته وفوائده ومقارنته مع بوتات المحادثة الأخرى، كما سنناقش تطبيقات استخدامه وحدوده والتحديات التي يواجهها هذا النموذج اللغوي المتطور. التقنيات التي مهدت لظهور ChatGPT يُعَد بوت المحادثة ChatGPT نموذجًا لغويًا يعتمد على الذكاء الاصطناعي ويهدف إلى إنشاء حوار يشبه حوار الإنسان، ويمكن إرجاع بداية ChatGPT إلى العمل المبكر على نماذج اللغة العصبية Neural Language Models ونماذج التسلسل إلى التسلسل Sequence-to-Sequence Models، فقد قُدمت نماذج اللغة العصبية في أوائل العقد الأول من القرن الحادي والعشرين كبديل لنماذج n-gram التقليدية، والتي كانت ذات قدرة محدودة على التقاط التبعيات بعيدة المدى في النص، في حين قُدمت نماذج التسلسل إلى التسلسل في منتصف عام 2010 كطريقة لنمذجة بيانات التسلسل، مثل النص والكلام. جاء أول تطور هام لبوت ChatGPT في عام 2015 مع تقديم أول بوت محادثة توليدي يُعرف باسم نموذج Seq2Seq، فقد استخدم هذا النموذج وحدةً للتشفير ووحدةً لفك التشفير لتوليد استجابات لمدخلات المستخدم، بحيث تنفذ وحدة التشفير تشفيرًا لمدخلات المستخدم في متجه بطول ثابت، ثم يُستخدم بعد ذلك بواسطة وحدة فك التشفير لتوليد الاستجابة. بعد ذلك، جاء التطور الهام التالي في عام 2017 مع إدخال هندسة المحولات Transformers كتحسين على نموذج Seq2Seq، مما سمح بنمذجة أفضل للنص، وعندها استُخدمت بنية المحولات في تطوير تطبيقات البرمجة اللغوية العصبية المختلفة، بما في ذلك نمذجة اللغة والترجمة الآلية والإجابة على الأسئلة. بنية GPT إن مفهوم GPT وهو اختصار لـ "Generative Pre-trained Transformer"، تعني المُحول التوليدي مسبق التدريب على المهام اللغوية المختلفة، فهو خوارزمية تَعلم عميق يمكنه توليد نص يشبه نصوص الإنسان من خلال توقع الكلمة التالية الأكثر احتماليةً بالنظر إلى سلسلة من كلمات الإدخال، وهو نموذج توليدي، مما يعني أنه يُنشئ نصًا جديدًا عن طريق أنماط التعلم في مجموعات البيانات الكبيرة للنص الموجود. تعتمد بنية GPT على تقنية المحولات Transformers في تحسين أداء النموذج وزيادة دقته، التي قُدمت في عام 2017 بواسطة Vaswani et al، والتي ثبت أنها تقنية فعالة للغاية في مهام معالجة اللغة الطبيعية، وذلك لأن بنية المحولات هي بنية شبكة عصبية تستخدم آليات الانتباه الذاتي لمعالجة البيانات المتسلسلة، ثم تعمل GPT على توسيع بنية المحولات لدعم مهام التوليد، إذ يُدرب النموذج على التنبؤ بالكلمة التالية في تسلسل نصي. تتكون بنية GPT من طبقات متعددة من المحولات، فهي تُمرر المدخلات إلى الطبقة الأولى ثم تُعالج هذه الطبقة المدخلات وتنتج المخرجات، والتي تُمرر بعد ذلك إلى الطبقة التالية لمزيد من المعالجة، وهكذا حتى تنتج الطبقة النهائية الإخراج النهائي للبيانات إلى النموذج. وتُستخدم تقنية الانتباه الذاتي Self-Attention في نموذج المحولات، مما يسمح للنموذج بمعرفة الكلمات في الجملة الأكثر صلة بالمهمة المطروحة، ويعمل ذلك على تقييم أهمية كل كلمة في الجملة بناءً على علاقتها بالكلمات الأخرى، كما يسمح ذلك للنموذج بالتركيز على الكلمات الأكثر صلةً في الجملة، مما يؤدي إلى نتائج أكثر دقة وذات صلة بالسياق. نشأة ChatGPT ومراحل تطوره طُوِّر بوت المحادثة بواسطة شركة OpenAI التي أُنشأت في عام 2015 ومقرها في سان فرانسيسكو من قِبَل مجموعة من رواد الأعمال والعلماء والمهندسين الذين يعملون في مجال الذكاء الاصطناعي، مثل: إيلون ماسك (الذي استقال لاحقًا في 2018 مع بقائه مانحًا) وسام ألتمان وجريج بروكمان وإيليا سوتسكيفر وجون شولمان ووجسيخ زاريمبا، بعدها توالت التطورات لنشير إليها في الآتي: في يونيو 2018 أصدرت الشركة نموذج GPT-1 وكان يحتوي على 117 مليون كلمة أو معلمة، وكان يتميز بقدرته على إنشاء نصوص طويلة وشاملة بأسلوبٍ جيدٍ، ومع ذلك كان أداء النموذج في إنتاج نصًا متماسكًا ومناسبًا للسياق محدودًا. في فبراير 2019 أطلقت الشركة نموذج GPT-2 وهو نموذج أكبر حجمًا من GPT-1، فقد كان يحتوي على 1.5 مليار معلمة، وكانت له القدرة على إنشاء نصوص بجودة أفضل وأكثر تنوعًا وإقناعًا. في يونيو 2020 أطلقت الشركة نموذج GPT-3 وهو أكبر حجمًا من GPT-2، فقد جرى تدريبه على كمية هائلة من البيانات (ما يزيد عن 175 مليار كلمة)، بما في ذلك الكتب وصفحات الويب والمصادر النصية الأخرى، مما يجعله أحد أكبر وأقوى النماذج اللغوية الموجودة، وقد مَكَّن هذا العدد الكبير من البيانات النموذج من إنشاء نص متماسك للغاية بلغة أقرب ما تكون إلى اللغة الطبيعية للإنسان من كونها مولدة من آلة، كما يمكن للنموذج أيضًا أداء مجموعة واسعة من مهام معالجة اللغة الطبيعية، مثل تصنيف النص ونمذجة اللغة والإجابة على الأسئلة والترجمة وإنشاء المحتوى. في يوليو 2021 أطلقت الشركة نموذج GPT-3.5-turbo وهو ترقية لنموذج GPT-3 أُضيفت به ميزات جديدة، مثل دعم اللغات الأخرى غير الإنجليزية. في 14 مارس 2023 أعلنت OpenAI أن النموذج الجديد GPT-4 قد أصبح متاحًا للمطورين ومشتركي خدمة ChatGPT Plus، مع تأكيد شركة Microsoft أن متصفح Bing الجديد صار يعمل باستخدام نموذج GPT-4، وهو نموذج كبير الحجم (لم يُعلن رسميًا عن حجم البيانات التي تدرب عليها النموذج، وما ذُكر عن أن حجم البيانات هي 100 تريليون معلمة هي مجرد تكهنات) متعدد الوسائط، إذ يمكنه قبول مدخلات الصور والنصوص وإنتاج مخرجات نصية فقط. مراحل تدريب بوتات المحادثة تُعَد عملية تدريب بوت المحادثة على وجه العموم معقدةً جدًا وتنطوي على عدة مراحل، سوف نوضحها فيما يلي: جمع البيانات: تُعد مرحلة جمع البيانات من أهم المراحل في تدريب نماذج الذكاء الاصطناعي، وتشمل هذه المرحلة جمع البيانات اللغوية الوافرة والمتنوعة، التي تُجمَّع من مصادر مختلفة، وتِعَد جودة البيانات المجمعة هي العامل الحاسم في جودة النماذج المدربة، فهي تؤثر على دقة وأداء تلك النماذج. معالجة البيانات: قبل إدخال البيانات إلى النموذج يجب تمر بعملية معالجة لها، وتشمل هذه المرحلة مهامًا مشابهةً لتقسيم النص إلى كلمات منفصلة tokenization وضمان أن تكون الكلمات بأبسط شكل لها normalization، كما يمكن إزالة الأحرف الخاصة والكلمات الشائعة التي لا تضيف الكثير من المعنى stopwords لتقليل الضجيج. اختيار بنية النموذج: الخطوة التالية هي اختيار بنية مناسبة لنموذج ChatGPT وتستخدم بنية GPT، وهي نوع من نماذج المحولات Transformers كما ذكرنا سابقًا، وعادةً ما تُستخدم في مهام اللغة كإنتاج النصوص والترجمة. التدريب المسبق: أثناء التدريب المسبق يتعلم نموذج ChatGPT التنبؤ بالكلمة التالية في الجملة استنادًا إلى الكلمات السابقة، ويُعرف هذا الأمر بنمذجة اللغة language modeling، ويُدرب النموذج على كمية كبيرة من بيانات النصوص باستخدام نهج التعلم غير الخاضع للإشراف unsupervised learning. الضبط الدقيق: بعد مرحلة التدريب المسبق يُضبط نموذج ChatGPT على مهمة محددة، مثل ترجمة اللغة أو تطوير بوت المحادثة، ويتضمن الضبط الدقيق مزيدًا من التدريب للنموذج على كمية أصغر من البيانات الخاصة بالمهمة المطروحة. التقييم: طوال مراحل عملية التدريب يُقيَّم أداء نموذج ChatGPT باستخدام مقاييس مثل الحيرة Perplexity، والتي تقيس قدرة النموذج على التنبؤ بالكلمة التالية في الجملة، ويُختبر النموذج على مجموعة من البيانات غير المستخدمة للتدريب. النشر: بمجرد تدريب نموذج ChatGPT وتقييمه يمكن نشره في الإنتاج، ويتضمن ذلك دمج النموذج في تطبيق أو نظام أساسي، حيث يمكن للمستخدمين النهائيين استخدامه لإنشاء نص أو تنفيذ مهام محددة متعلقة باللغة. كانت تلك هي خطوات تدريب بوتات المحادثة بوجهٍ عام، وسوف نخصص مقال منفصل لمناقشة خطوات تدريب بوت المحادثة ChatGPT على وجه الخصوص. فوائد وميزات بوت المحادثة ChatGPT دُرّب بوت المحادثة ChatGPT على مجموعة كبيرة من البيانات النصية، لذا صار قادرًا على توليد ردود شبيهة بالبشر في المحادثات، وفيما يلي سنناقش بعض فوائد وميزات هذا البوت: القدرة على فهم اللغة الطبيعية وتوليدها: تتمثل إحدى المزايا الرئيسية لـ ChatGPT في قدرته على فهم اللغة الطبيعية وتوليدها، إذ يمكن لهذا النموذج استيعاب مجموعة واسعة من موضوعات المحادثة والاستجابة لها، مما يجعله أداةً مناسبةً نوعًا ما لتطبيقات خدمة العملاء، كما لديه القدرة على فهم الفروق الدقيقة في اللغة البشرية، بما في ذلك التعبيرات الاصطلاحية والعامية. المرونة والقدرة على التكيف: على عكس بوتات المحادثة التقليدية المبرمجة للاستجابة لمطالبات محددة، يمكن لـ ChatGPT فهم مجموعة واسعة من مدخلات المحادثة والاستجابة لها، وهذا يجعله مرنًا للغاية وقابلًا للتكيف في المواقف التي قد يطرح فيها المستخدمون أسئلةً أو يُدْلُون ببيانات لا تتعلق مباشرةً بالموضوع المطروح. التعلم والتحسين المستمر: يتمتع ChatGPT بالقدرة على التعلم والتحسين بمرور الوقت، وذلك بفضل خوارزميات التعلم الآلي المتقدمة. ونظرًا لأنه يتفاعل مع المزيد من المستخدمين ويعالج المزيد من البيانات، يصبح أكثر دقةً وكفاءةً في توليد الاستجابات، وهذا يعني أن الاستجابات الناتجة عن ChatGPT تتحسن باستمرار، مما يضمن حصول المستخدمين على المعلومات الأكثر صلةً ودقة. الاستجابات والتوصيات المخصصة: يمكن لـ ChatGPT إنشاء ردود وتوصيات مخصصة، مما يجعله أداةً فعالةً في تطبيقات التسويق والإعلان، كما يمكنه تحليل تفاعلات المستخدم السابقة وتخصيص ردوده وفقًا لذلك، وتحسين تجربة المستخدم الإجمالية. دعم متعدد اللغات: يتمتع ChatGPT بدعم متعدد اللغات، مما يسمح له بفهم اللغات المتعددة والاستجابة لها، وهذا يجعله أداةً مميزةً للشركات التي تعمل في بلدان متعددة وتحتاج إلى التواصل مع العملاء بلغات مختلفة. موفر للوقت وفعال من حيث التكلفة: ChatGPT هو حل موفر للوقت وفعال من حيث التكلفة للشركات التي ترغب في تقديم خدمة عملاء وليس لها عمالة بشرية كافية للقيام بذلك وفي كل الساعات، إذ يمكنه المساعدة في التعامل مع محادثات متعددة في وقتٍ واحدٍ. مقارنة ChatGPT مع بوتات محادثة AI الأخرى أصبحت بوتات الدردشة التي تعمل بالذكاء الاصطناعي شائعةً وبتزايد على مر السنين، إذ تستخدمها العديد من الشركات والمؤسسات، والمساعدين الافتراضيين، والتطبيقات الأخرى. ويتمتع بوت المحادثة ChatGPT بالعديد من المزايا، بما في ذلك قدرته على فهم مجموعة واسعة من الأسئلة والرد عليها وقدرته على المحادثة، فيما يلي سوف نقارن ChatGPT مع بوتات الدردشة AI الأخرى. القدرة على معالجة اللغة الطبيعية NLP تتمثل إحدى المزايا المهمة لـ ChatGPT على بوتات الدردشة الأخرى المدعومة بالذكاء الاصطناعي في قدرتها على البرمجة اللغوية العصبية، فقد صُمم ChatGPT لفهم مجموعة واسعة من الأسئلة والرد عليها، بما في ذلك الواقعية والقائمة على الرأي والمحادثة، كما يَستخدم بنية GPT لإنشاء استجابات مما يمكّنه من إنشاء نص متماسك وذو مغزى. في المقابل، صُممت بوتات الدردشة الأخرى التي تعمل بالذكاء الاصطناعي، مثل Siri و Alexa و Google Assistant لتنفيذ مهام محددة، مثل إعداد التذكيرات، أو تشغيل الموسيقى، أو الإجابة على الأسئلة الأساسية، أي أن لديهم قدرات محدودة في البرمجة اللغوية العصبية، لذلك هم غير قادرين على توليد استجابات معقدة. القدرة على إجراء محادثات مشابهة لمحادثات الإنسان الطبيعي ميزة أخرى لـ ChatGPT على بوتات الدردشة الأخرى المدعومة بالذكاء الاصطناعي هي قدرتها على المحادثة بطبيعية، فقد دُرب على مجموعات بيانات الحوار لتحسين قدرته على الاستجابة بطريقة المحادثة، بالتالي يمكنه فهم سياق المحادثة وإنشاء ردود تحاكي ردود الفعل البشرية. في المقابل، صُممت بوتات الدردشة الأخرى التي تعمل بالذكاء الاصطناعي لتكون أكثر توجهًا نحو تنفيذ المهام، وقد لا تكون قادرةً على توليد استجابات محادثة. التكامل مع التطبيقات يمكن دمج ChatGPT في العديد من التطبيقات، مثل بوتات الدردشة والمساعدين الافتراضيين ومنصات خدمة العملاء، وذلك من خلال الـ API الخاص به، فقدرته على توليد استجابات بلغة طبيعية تجعله مناسبًا لمجموعة واسعة من التطبيقات التي تتطلب تفاعلات شبيهة بالبشر. في المقابل، صُممت بوتات الدردشة الأخرى لتنفيذ مهام محددة، وقد لا تكون مناسبةً للتكامل في تطبيقات مختلفة. الأداء عامل حاسم آخر في مقارنة بوتات الدردشة بالذكاء الاصطناعي هو قدرتها على التخصيص والتكيف مع حالات استخدام محددة، حيث يمكن ضبط ChatGPT وفقًا لمجموعات بيانات محددة، مما يمكّنه من تحسين أدائه في مجالات معينة. في المقابل، قد تكون برامج الدردشة الأخرى محدودةً في تخصيصها وقدرتها على التكيف، مما يؤدي إلى أداء دون المستوى الأمثل في حالات استخدام محددة. الأخلاق والتحيز صُمم بوت ChatGPT مع مراعاة الأخلاق والتحيز، فقد نفذت شركة OpenAI العديد من الإجراءات لمنع النموذج من إنشاء محتوى مسيء أو ضار ونجحت في ذلك إلى حد كبير مقارنةً مع باقي بوتات الدردشة الأخرى التي انتُقدت بسبب تحيزاتها المحتملة. تطبيقات استخدام ChatGPT يمكن لـ ChatGPT نموذج لغة AI أن يقلّد المحادثة البشرية، وأدت هذه القدرة إلى مجموعة واسعة من تطبيقات الاستخدام، فيما يلي سنناقش أهم هذه الاستخدامات. كتابة الشيفرات البرمجية: على الرغم من أن بوت المحادثة ChatGPT ليس مخصصًا لكتابة الشيفرات البرمجية، إلا أنه قادر على مساعدة المبرمجين في توليد شيفراتهم البرمجية لبناء تطبيقات الويب والتطبيقات الذكية وحتى ألعاب الفيديو، كما يمكنه تحليل الشيفرة البرمجية للتطبيقات لتجنب الأخطاء البرمجية والثغرات الأمنية، وتوفير النصائح والحلول اللازمة لتحسين أداء الشيفرات البرمجية وجعلها أكثر فعالية. إنشاء المحتوى: يمكن استخدام ChatGPT لإنشاء محتوى لأغراض مختلفة، بما في ذلك المقالات ومنشورات لمنصات التواصل الاجتماعي وأوصاف المنتجات، فبفضل قدرته على إنشاء نَص يشبه الإنسان، يمكنه مساعدة منشئي المحتوى في توفير الوقت والجهد في إنشاء محتوى عالي الجودة. ترجمة اللغة: يمكن استخدام ChatGPT لترجمة اللغة مما يسمح للمستخدمين بالتواصل مع الأشخاص الذين يتحدثون لغات مختلفة، فيمكنه ترجمة النص في الوقت الفعلي بلغة جيدة بدرجة كبيرة، مما يجعله مفيدًا للتواصل التجاري والشخصي في عدة حالات. كتابة البريد الإلكتروني: يمكن الاستفادة من ChatGPT كأداة للتحسين الشامل لكتابة البريد الإلكتروني، مما يؤدي إلى تحسين الاتصال بينك وبين المتلقي، وتحقيق الأهداف المرجوة من البريد الإلكتروني بشكل أفضل، فهو يقلل الوقت والجهد اللازمين لكتابة البريد الإلكتروني، كما يمنحك أفكارًا لموضوع البريد الإلكتروني، وكذلك إجراء تصحيحات للجمل والكلمات والكشف عن الأخطاء الإملائية والنحوية والتنسيقية قبل إرسال البريد. الكتابة الإبداعية: يمكن استخدام ChatGPT في الكتابة الإبداعية بما في ذلك إنشاء القصص والنصوص والشعر، ويمكنه أن يوفر الإلهام وتوليد أفكار جديدة للكُتَّاب. المساعدون الافتراضيون: يمكن استخدام ChatGPT لإنشاء مساعدين افتراضيين للشركات والأفراد، ويمكن لهؤلاء المساعدين الافتراضيين التعامل مع مهام مثل جدولة المواعيد وإدارة رسائل البريد الإلكتروني وتقديم التوصيات. خدمة الزبائن: أصبحت بوتات المحادثة جزءًا لا يتجزأ من خدمة العملاء لدى عدة شركات، وبفضل قدرة ChatGPT على إنشاء ردود شبيهة بالبشر فيمكنه تزويد العملاء بدعم سريع وفعال، كما يمكنه التعامل مع استفسارات العملاء المتعددة في وقتٍ واحدٍ، ومع قدرته على فهم اللغة الطبيعية يمكنه الرد بدقة على مجموعة واسعة من الاستفسارات. التسويق: يمكن استخدام ChatGPT لتطوير استراتيجيات تسويق مخصصة، فمن خلال تحليل بيانات العميل يمكنه إنشاء رسائل وتوصيات مستهدفة بناءً على تفضيلات العميل وسلوكه، كما يمكن أن يساعد أيضًا الشركات على تطوير وتنفيذ حملات إعلانية قائمة على بوتات الدردشة، وتقديم رسائل عالية الاستهداف للعملاء. التعليم: يمكن استخدام ChatGPT في التعليم لتسهيل التعلم الشخصي، فهو قادر على إنشاء مواد تعليمية مخصصة والإجابة على أسئلة الطلاب، مما يجعل تجربة التعلم أكثر جاذبيةً وتفاعلية، ويمكن أيضًا استخدامه لتطوير الألعاب التعليمية والمحاكاة، مما يوفر للطلاب تجربةً تعليميةً غامرةً ومتعةً أكثر. مع ذلك، ننوه بهذه الجزئية إلى أن ChatGPT إلى غاية كتابة هذا المقال، ما يزال غير دقيق من ناحية المعلومات، حتى أن الكثير من تجاربه كانت فاشلة جدًا هنا، مع منح معلومات مغلوطة جدًا؛ لذا ينصح باستخدام البرنامج في إطار التعليم بحذر، كما ينصح بأن تكون للمتعلم أساسيات المجال الذي يريد تعلمه على الأقل، ليكون ChatGPT مجرد مساعد له في تعليمه وليس أساس التعليم نفسه. المساعدة الشخصية: يمكن استخدام ChatGPT كمساعد شخصي لمساعدة المستخدمين على إدارة مهامهم اليومية، فهو قادر على جدولة المواعيد وتعيين التذكيرات وتقديم التوصيات بناءً على تفضيلات المستخدم وسلوكه، كما يمكن استخدامه أيضًا لإنشاء قوائم تسوق مخصصة وإدارة الشؤون المالية للمستخدم. القيود والتحديات التي تواجه بوت المحادثة ChatGPT على الرغم من الفوائد العديدة التي يقدمها لنا بوت المحادثة ChatGPT، إلا أن هناك حدودًا لما يمكن أن يفعله، فيما يلي سنناقش بعض الحدود والتحديات التي تواجه ChatGPT: فهم السياق: يفتقر ChatGPT إلى فهم السياق مما يعني أنه لا يمكنه فهم المعنى الكامن وراء المحادثة بطريقة كاملة، ففي حين أنه يمكن أن يستجيب للإدخالات الفردية بنص شبيه بالبشر، إلا أنه لا يمكنه فهم القصد أو المعنى الكامن وراء المحادثة يعني هو عاجز حاليًا عن فهم ما بين السطور، ويمكن أن يؤدي هذا إلى تقديم استجابات ليست ذات صلة أو دقيقة لاحتياجات المستخدم. الفروق العاطفية: لدى ChatGPT قدرة محدودة على فهم الفروق الدقيقة العاطفية، فعلى سبيل المثال لا يمكنه فهم السخرية أو الأشكال الأخرى من اللغة التصويرية والتي يمكن أن تؤدي إلى ردود غير مناسبة أو غير دقيقة، بالإضافة إلى ذلك قد لا يتمكن ChatGPT من فهم الحالة العاطفية للمستخدم، مما قد يؤدي إلى ردود غير حساسة أو غير مناسبة. المعرفة المحدودة: بينما يتمتع ChatGPT بإمكانية الوصول إلى كمية هائلة من المعلومات، إلا أن معرفته لا تزال محدودةً حسب البيانات التي دُرِّبَ عليها، وهي محدثة حتى عام 2021 فقط، لذلك قد لا يتمكن من الوصول إلى أحدث المعلومات، أو قد لا يكون قادرًا على تقديم إجابات دقيقة لموضوعات معقدة أو متخصصة. عدم القدرة على التعلم: ChatGPT غير قادر على التعلم من التجارب الجديدة أو التكيف مع السياقات المتغيرة، يمكنه فقط تقديم ردود بناءً على البيانات التي دُرِّب عليها، مما يعني أنه قد لا يكون قادرًا على تقديم استجابات دقيقة أو ذات صلة للمواقف الجديدة أو الفريدة. الاعتبارات الأخلاقية كنموذج لغة ذكي، صُمم ChatGPT للتفاعل مع المستخدمين وتزويدهم بمعلومات دقيقة وذات صلة، مع ذلك فإن استخدام مثل هذه النماذج يثير العديد من الاعتبارات الأخلاقية التي يجب معالجتها، والتي سنناقشها فيما يلي: أولًا، من أهم الاعتبارات الأخلاقية التي تواجه ChatGPT هي حماية خصوصية بيانات المستخدم، يتمتع ChatGPT كنموذج لغوي بإمكانية الوصول إلى كمية هائلة من بيانات المستخدم، بما في ذلك المعلومات الشخصية والتفضيلات والأنماط السلوكية، لذلك من المهم التأكد من حماية هذه البيانات من الوصول أو الاستخدام أو الكشف غير المصرح به، وأن المستخدمين على علم بكيفية استخدام بياناتهم. ثانيًا، اعتبار آخر مهم وهو احتمال التحيز في البيانات المستخدمة لتدريب نموذج اللغة، إذ يمكن أن ينشأ التحيز من مجموعة متنوعة من المصادر، مثل اختيار بيانات التدريب أو تصميم النموذج أو الافتراضات التي أُجريت أثناء تطوير النموذج، وللتخفيف من آثار التحيز من المهم الاختيار بعناية بيانات التدريب التي تمثل مجموعةً متنوعةً من وجهات النظر والخبرات، والمراقبة المستمرة لأداء النموذج بحثًا عن علامات التحيز. ثالثًا، بالإضافة إلى خصوصية البيانات والتحيز، تُعد المساءلة من الاعتبارات الأخلاقية الرئيسية الأخرى لـ ChatGPT، إذ يفترض أن يكون لدى المستخدمين القدرة على مساءلة نموذج اللغة عن أفعاله وقراراته، ويتضمن ذلك الشفافية في كيفية عمل النموذج، وتقديم تفسيرات واضحة لقراراته، والتأكد من أن المستخدمين لديهم القدرة على الاعتراض على أفعاله أو استئنافها، وهو أمر غير متاح في ChatGPT. أخيرًا، تمتد الاعتبارات الأخلاقية المتعلقة بـ ChatGPT إلى ما وراء النموذج نفسه، فمع انتشار استخدام النماذج اللغوية على نطاق واسع من المهم النظر في تأثيرها على المجتمع، بما في ذلك القضايا المتعلقة بنقل الوظائف من الإنسان إلى الآلة، وتركيز السُلطة في أيدي عدد قليل من شركات التكنولوجيا. كيفية استخدام ChatGPT بالإمكان الوصول إلى بوت المحادثة ChatGPT ثم استخدامه من خلال أحد الطرائق الثلاث التالية: مباشرة من خلال الموقع الرسمي للبوت. مباشرة من خلال واجهة برمجة التطبيقات API الرسمية للبوت. من خلال أحد مواقع الطرف الثالث التي تقدم خدمات البوت. وفيما يلي سنعرض طريقة الاستخدام الأولى والثالثة، أما بالنسبة لطريقة الاستخدام الثانية من خلال API سوف نخصص لها مقالًا مستقلًا من هذا الدليل. الاستخدام من خلال الموقع الرسمي قبل أن نبدأ في شرح هذه الطريقة، وجب التنويه إلى أن خدمات شركة OpenAI للذكاء الاصطناعي تكون غير متوفرة في بعض البلدان وتأكد أن بلدك موجود ضمن قائمة البلدان التي توفر فيها OpenAI خدماتها، لذلك أثناء تنفيذك للخطوات التي سوف نقدمها أدناه قد تواجهك رسالة مفادها أن خدمات OpenAI غير متوفرة في بلدك الموضحة بالصورة التالية: لكن لا تشعر بالإحباط، فما زال بالإمكان الاستفادة من إمكانات هذا البوت من خلال أحد مواقع الطرف الثالث والتي سوف نشرحها بالفقرة التالية لهذه الفقرة. لنبدأ الآن في شرح خطوات كيفية استخدام بوت المحادثة ChatGPT من خلال الموقع الرسمي. أولاً، يجب أن يتوافر لديك عنوان بريد إلكتروني نشط للتسجيل من خلاله بالموقع، كما يجب أن يكون لديك رقم هاتف جوال لاستلام رمز التحقق من هويتك. ثانيًا، انتقل الآن إلى الموقع الرسمي للبوت ثم انقر على زر "التسجيل" لإنشاء حساب على الموقع. وقد تظهر لك رسالة تحقق للتأكد من أنك إنسان وليس بوت، فقط انقر على المربع الفارغ كما هو موضح بالصورة التالية: ثالثًا، من الصفحة التالية أدخل عنوان البريد الإلكتروني الخاص بك، أو بالإمكان ربط الحساب بأحد حساباتك على جوجل أو مايكروسوفت، ثم انقر على زر "استمر". رابعًا، من الصفحة التالية، أدخل كلمة مرور قوية لحسابك لا تقل عن 8 أحرف، ثم انقر على زر "استمر". خامسًا، من الصفحة التالية سوف يُطلب منك الانتقال إلى بريدك الإلكتروني الذي سجلته للعثور على رسالة التحقق التي أُرسلت إليك، كما هو موضح أدناه: انتقل إلى بريدك الإلكتروني، ثم اعثر على رسالة التحقق ثم انقر على زر "التحقق من عنوان البريد الإلكتروني"، كما هو موضح بالصورة أدناه: سادسًا، من الصفحة التالية أدخل بياناتك الشخصية (اسمك الأول والثاني)، ثم انقر على زر "استمر". سابعًا، من الصفحة التالية أدخل رقم هاتفك الجوال لاستلام رمز التحقق من هويتك، تلقائيًا سوف يحدد الموقع مفتاح الدولة حسب عنوان الـ IP الذي يستخدمه جهازك، وفي حالة كان مفتاح الدولة خطأ، فانقر على القائمة المنسدلة ثم اختر دولتك، بعدها اكتب رقم هاتفك الجوال، ثم انقر على زر "أرسل الرمز". أخيرًا، فور استلامك لرمز التفعيل المكون من ستة أرقام على جوالك، انتقل مرةً أخرى لموقع الويب لإدخال هذا الرمز بطريقة صحيحة لتتمكن من الدخول إلى حسابك. تهانينا، أصبح لديك الآن حساب رسمي على موقع OpenAI تستطيع من خلاله استخدام جميع خدمات الذكاء الاصطناعي التي أنتجتها الشركة والتي من ضمنها بوت المحادثة ChatGPT. بالإمكان الآن تقديم أي سؤال إلى البوت وسوف يُقدم إجابةً وافيةً عنه. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن الاستخدام من خلال جهة طرف ثالث تُعد طريقة الاستخدام من خلال جهة طرف ثالث مناسبةً لمن لا تتوفر في بلده خدمات شركة OpenAI للذكاء الاصطناعي، وتُوفر هذه الخدمات من خلال مواقع وإضافات طُورت بواسطة جهات طرف خارجي مختلفة، ومن بين تلك المواقع والإضافات ما يلي: huggingface.co: هي مكتبة مفتوحة المصدر لمعالجة اللغة الطبيعية التي تتميز بأحدث نماذج الذكاء الاصطناعي بما في ذلك نموذج GPT-4، ويمكن للمستخدمين الاستفادة من إمكانات الذكاء الاصطناعي في نموذج GPT-4 لتشغيل نماذج البرمجة اللغوية العصبية الخاصة بهم، أو اختبار الأفكار الجديدة، أو حتى إنشاء تطبيقات جديدة. ora.sh: هو نظام أساسي قائم على الويب يمكّن المستخدمين من إنشاء تطبيقات LLM بسرعة باستخدام واجهة الدردشة، وقدم هذا النظام مؤخرًا ميزة جديدة تتيح للمستخدمين تجربة نموذج GPT-4 بدون تكلفة، كما أنه لا يفرض أي قيود على الرسائل على الإطلاق، وعلاوةً على ذلك لا توجد قائمة انتظار لاستخدام نموذج GPT-4. الدردشة المدمجة بمحرك بحث Microsoft Bing: بالإضافة إلى Ora تتيح الدردشة المدمجة بمحرك بحث Microsoft Bing أيضًا استخدام نموذج GPT-4، فبعد أن أطلقت شركة OpenAI نموذج GPT-4 كشفت Microsoft أن Bing AI الخاص بها يستخدم بالفعل النموذج، ومن المثير للاهتمام أن Bing AI يأتي مزودًا ببعض الوظائف الإضافية التي لا توجد في ChatGPT 4. ChatGPT Sidebar: هي إضافة شائعة لمتصفح Chrome يَستخدم واجهة برمجة تطبيقات Chat GPT لإنشاء ردود شبيهة بالإنسان على أسئلة المستخدمين، ويساعد المستخدمين في الكتابة والترجمة والتلخيص وفحص القواعد النحوية وغيرها من الأغراض. تعمل الإضافة كشريط جانبي على أي صفحة ويب، وتدعم جميع محركات البحث الشائعة بما في ذلك: Google و Bing و duckduckgo. ChatGPT Writer: هي إضافة تعمل في جميع المتصفحات القائمة على Chromium، مثل: Chrome و Brave و Edge، تعمل هذه الإضافة على إنشاء رسائل البريد الإلكتروني كما أنها تقدم دعم محسَّن لخدمة البريد الإلكتروني Gmail. YouTube Summary: هي إضافة لمتصفح Chrome تتيح الوصول بسرعة إلى ملخص مقاطع فيديو YouTube التي تشاهدها باستخدام تقنية ChatGPT AI من OpenAI، فمع استخدام هذه الإضافة بالإمكان توفير الوقت والتعلم بطريقة أسرع. خاتمة بعد أن تناولنا النقاط الرئيسية لبوت المحادثة الرائد ChatGPT، يمكننا القول أن هذه التكنولوجيا قد غيرت المشهد على نحو كبير، فبفضل تطوراته في مجال تعلم الآلة ومعالجة اللغة الطبيعية، يمكن لـ ChatGPT توليد إجابات شبيهة بالإنسان والتفاعل بطبيعية مع المستخدمين، ومن المتوقع أن يتحسن استخدام ChatGPT وتطبيقاته باستمرار في المستقبل. مع ذلك، يجب مراعاة بعض الحدود الأخلاقية والتحديات الفنية التي قد تواجه تطبيقات ChatGPT، فمن المهم العمل على تقليل التحيز في بيانات التدريب والحد من أي تأثيرات سلبية قد تنشأ عن استخدام هذه التقنية، كما يجب أن يتحمل المطورون والمستخدمين المسؤولية في استخدام هذه التكنولوجيا بطريقة صحيحة وأخذ الاعتبارات الأخلاقية في الحُسبان. عدا ذلك، يمثل ChatGPT تقدمًا هائلًا في مجال الذكاء الاصطناعي، ويمكن استخدامه بطريقة فعالة في العديد من التطبيقات، مثل المساعدين الشخصيين وخدمة العملاء والمنصات التعليمية ودعم الصحة النفسية، كما يمكن لـ ChatGPT أن يساهم في تحسين العديد من المجالات في المستقبل. لذلك، يجب مواصلة العمل على تحسين هذه التكنولوجيا والعمل على استخدامها بطريقة أخلاقية ومسؤولة، فيمكن لـ ChatGPT أن يساعدنا في تحقيق نتائج إيجابية في المستقبل. وإلى هنا نكون قد وصلنا إلى نهاية هذا المقال الذي نتمنى أن يكون قد أضاف لكم معلومات جديدةً ومفيدة، وفي حالة وجود أي استفسارات لا تترددوا في ذكرها لنا في التعليقات. المصادر ChatGPT – An AI NLP Model What is Chat GPT? Everything you need to know about ChatGPT The Benefits and Challenges of ChatGPT: An Overview Training language models to follow instructions with human feedback 50 ChatGPT Statistics and Facts You Need to Know Behind ChatGPT’s Wisdom: 300 Bn Words, 570 GB Data Hacker News اقرأ أيضًا الحقيقة حول استخدام الذكاء الصنعي في مجال الدعم الفني المفاهيم الأساسية لتعلم الآلة الذكاء الاصطناعي: أهم الإنجازات والاختراعات وكيف أثرت في حياتنا اليومية النسخة الكاملة لكتاب: عشرة مشاريع عملية عن الذكاء الاصطناعي1 نقطة
-
توفر معظم الأنظمة الشبيهة بيونكس آلية مركزية لإيجاد وتثبيت البرمجيات. تُوزَع البرمجيات عادة في شكل حزم، مُخزنة في مستودعات. التعامل مع الحزم يُعرَف بإدارة الحزم. توفر الحزم المكونات الأساسية لنظام التشغيل، مع المكتبات المشتركة، التطبيقات، الخدمات والوثائق. يقوم نظام إدارة الحزم بأكثر من تثبيت البرمجيات لمرة واحدة. فهو يوفر أيضًا أدوات لترقية الحزم المثبتة حاليًا. تُساعد مستودعات الحزم على التأكد من أن الشيفرة فُحِصَت للاستخدام على نظامك، وأن المطورين والمشرفين وافقوا على نُسخ البرمجيات المُثبتة. عند ضبط الخواديم أو بيئات التطوير، غالبًا ما يكون النظر لما وراء المستودعات الرسمية ضروريًا. فقد تكون الحزم في الإصدار المُستقر من التوزيعة قديمة، خصوصًا عندما تكون البرمجيات المعنية سريعة التغيُر. وبالرغم من هذا، فإن إدارة الحزم هي مهارة حيوية لمدراء الأنظمة والمطورين، ووفرة البرمجيات المُحزّمة للتوزيعات الرئيسية هي مورد هائل. اُعد هذا الدّليل ليكون مرجعًا سريعًا لأساسيات إيجاد، تثبيت وترقية الحزم على مجموعة متنوعة من التوزيعات، وينبغي أن يساعدك على ترجمة هذه المعرفة بين الأنظمة. أنظمة إدارة الحزم: لمحة موجزة معظم أنظمة الحزم تُبنَى من مجموعات من ملفات الحزم. ملف الحزمة هو أرشيف يحتوي على ملفات ثُنائية مُترجمة ومصادر أخرى تُشكل البرنامج، مع سكربتات التثبيت. تحتوي الحزم أيضًا على بيانات وصفية قيّمة، تتضمن اعتمادياتها وقائمة من الحزم الأخرى المطلوبة لتثبيتها وتشغيلها. على الرغم من تشابه وظائف وفوائد تنسيقات وأدوات التحزيم إلى حد بعيد، إلا أنها تختلف باختلاف المنصات: نظام التشغيل التنسيق الأدوات Debian .deb apt, apt-cache, apt-get, dpkg Ubuntu .deb apt, apt-cache, apt-get, dpkg CentOS .rpm yum Fedora .rpm dnf FreeBSD Ports, .txz make, pkg تنسيق الحزم في دبيان والأنظمة المبنية عليها مثل أوبنتو، لينكس منت وراسبيان يكون كملف .deb. تُوفر أداة الحزم المُتقدمة APT أوامر لمعظم العمليات الشائعة: البحث بالمستودعات، تثبيت مجموعات من الحزم واعتمادياتها وإدارة الترقيات. تعمل أوامر APT كواجهة أمامية للأداة منخفضة المستوى dpkg، والتي تقوم بتثبيت ملفات .deb الفردية على النظام محليًا، وأحيانًا تُستدعى مباشرةً. تَستخدم CentOS، فيدورا والتوّزيعات الأخرى في عائلة Red Hat ملفات بتنسيق RPM. يُستخدم yum في CentOS للتفاعل مع ملفات الحزم الفردية والمستودعات. في النُسخ الحديثة من فيدورا حل dnf محل yum، وهو مُشتق حديث يحتفظ بمعظم خصائص واجهة yum النصية. يُدار نظام الحزم الثنائية في FreeBSD بالأمر pkg. ويوفر FreeBSD كذلك ما يُطلق عليه اسم Ports Collection، وهو هيكل مُجلدات محلية وأدوات تسمح للمُستَخدِم بجلب، تجميع وتثبيت الحزم مباشرة من المصدر باستخدام ملفاتMakefile. استخدام pkg مُريح غالبًا، ولكن أحيانًا لا تتوافر حزم مُترجمة مسبقًا، أو قد تُريد تغيير الخيارات بوقت الترجمة. تحديث قوائم الحزم تحتفظ معظم الأنظمة بقاعدة بيانات محلية للحزم المتوافرة بالمستودعات البعيدة. من الأفضل تحديث قاعدة البيانات قبل ترقية الحزم. وكاستثناء جزئي لهذا النمط، سيتحقق yum و dnf من وجود تحديثات قبل القيام ببعض العمليات، لكن يمكنك سؤالها عن توافر التحديثات بأي وقت. النظام الأمر Debian / Ubuntu sudo apt-get update CentOS yum check-update Fedora dnf check-update FreeBSD Packages sudo pkg update FreeBSD Ports sudo portsnap fetch update ترقية الحزم المثبتة التأكد من حداثة البرمجيات المُثبتة على النظام ستكون مهمة ضخمة بدون نظام حزم. ستضطر أن تتتبع تغييرات المنبع والتنبيهات الأمنية لمئات من الحزم المختلفة. على الرغم من أن مدير الحزم لن يحل كل مشكلة ستقابلها عند ترقية البرمجيات، إلا أنه يُمَكِنُك من صيانة معظم مكونات النظام بأوامر قليلة. ترقية الـ port المُثبتة على FreeBSD يمكن أن تُؤدي إلى إدخال أعطال أو تتطلب خطوات ضبط يدوية. من الأفضل أن تقرأ usr/ports/UPDATING/ قبل الترقية باستخدام portmaster. النظام الأمر ملاحظات Debian / Ubuntu sudo apt-get upgrade يُرقي الحزم الجديدة فقط، إن كان بالإمكان. sudo apt-get dist-upgrade قد يُضيف أو يحذف حزم لتلبية الاعتماديات الجديدة. CentOS sudo yum update Fedora sudo dnf upgrade FreeBSD Packages sudo pkg upgrade FreeBSD Ports less /usr/ports/UPDATING يُستخدم الأمر less لعرض ملاحظات التحديث للمنافذ. استخدم مفاتيح الأسهم للانتقال، اضغط q للخروج. cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a يُثبت portmaster ويستخدمه لتحديث المنافذ المُثبتة. إيجاد حزمة توفر معظم التوزيعات واجهة رسومية لمجموعات الحزم. هذه طريقة جيدة للتصفح بالفئة واكتشاف برمجيات جديدة. على الرغم من أنه غالبًا تكون الطريقة الأسرع والأكثر كفاءة لإيجاد حزمة هي البحث باستخدام أدوات سطر الأوامر. النظام الأوامر ملاحظات Debian / Ubuntu apt-cache search search_string CentOS yum search search_string yum search all search_string يبحث بجميع الحقول، من ضمنها الوصف. Fedora dnf search search_string dnf search all search_string يبحث بجميع الحقول، من ضمنها الوصف. FreeBSD Packages pkg search search_string يبحث بالاسم. pkg search -f search_string يبحث بالاسم، ويُعيد وصف كامل. pkg search -D search_string يبحث بالوصف. FreeBSD Ports cd /usr/ports && make search name=package يبحث بالاسم. cd /usr/ports && make search key=search_string يبحث في الأسماء، الأوصاف والاعتماديات. عرض معلومات عن حزمة محددة من المفيد قراءة أوصاف تفصيلية عن الحزم التي قررت تثبيتها. إلى جانب نص قابل للقراءة، يتضمن غالبًا بيانات وصفية مثل أرقام النُسخ وقائمة من اعتماديات الحزم. النظام الأمر ملاحظات Debian / Ubuntu apt-cache show package يعرض المعلومات المُخزنة محليًا عن الحزمة package. dpkg -s package يعرض حالة التثبيت الحالية للحزمة package. CentOS yum info package yum deplist package يسرد اعتماديات الحزمة package. Fedora dnf info package dnf repoquery –requires package يسرد اعتماديات الحزمة package. FreeBSD Packages pkg info package يعرض معلومات عن الحزمة المُثبتة package. FreeBSD Ports cd /usr/ports/category/port && cat pkg-descr تثبيت حزمة من المستودعات بمجرد معرفة اسم الحزمة، يمكن تثبيت الحزمة واعتمادياتها بأمر واحد. عمومًا، يمكنك طلب تثبيت حزم عديدة ببساطة عن طريق ذكرها جميعًا. النظام الأمر ملاحظات Debian / Ubuntu sudo apt-get install package sudo apt-get install package1 package2 … يُثبت كل الحزم المذكورة package1 package2 … sudo apt-get install -y package يُجيب بنعم عندما يطلب apt الاستمرار. CentOS sudo yum install package sudo yum install package1 package2 … يُثبت كل الحزم المذكورة package1 package2 … sudo yum install -y package يُجيب بنعم عندما يطلب yum الاستمرار. Fedora sudo dnf install package sudo dnf install package1 package2 … يُثبت كل الحزم المذكورة package1 package2 … sudo dnf install -y package يُجيب بنعم عندما يطلب dnf الاستمرار. FreeBSD Packages sudo pkg install package sudo pkg install package1 package2 … يُثبت كل الحزم المذكورة package1 package2 … FreeBSD Ports cd /usr/ports/category/port && sudo make install يبني ويُثبت منفذ من المصدر. تثبيت حزمة من نظام الملفات المحلي أحيانًا، بالرغم من عدم تحزيم البرمجيات رسميًا لنظام معين، سيوفر المطور أو البائع ملفات الحزم للتحميل. يمكنك الحصول عليهم عبر المتصفح، أو من خلال curl على سطر الأوامر. بمجرد وجود الحزمة على النظام، يمكن عادة تثبيتها بأمر واحد. يتعامل dpkg مع ملفات الحزم الفردية على الأنظمة الدبيانية. إذا كان هناك اعتماديات ناقصة لحزمة، فيمكن استخدام gdebi لجلب هذه الاعتماديات من المستودعات الرسمية. يُستخدم yum و dnf على أنظمة فيدورا و CentOS لتثبيت ملفات الحزم الفردية، ومُعالجة الاعتماديات المطلوبة أيضًا. النظام الأمر ملاحظات Debian / Ubuntu sudo dpkg -i package.deb sudo apt-get install -y gdebi && sudo gdebi package.deb يُثبت ويستخدم gdebi لتثبيت الحزمة package.deb ويَحصُل على أي اعتماديات ناقصة. CentOS sudo yum install package.rpm Fedora sudo dnf install package.rpm FreeBSD Packages sudo pkg add package.txz sudo pkg add -f package.txz يُثبت الحزمة package حتى وإن كانت مُثبتة. إزالة حزمة واحدة أو أكثر بما أن مدير الحزم يعرف الملفات التي تأتي مع حزمة مُعينة، فيمكن إزالة هذه الملفات بشكل نظيف من النظام إذا لم يعد هناك حاجة لهذه الحزمة. النظام الأمر ملاحظات Debian / Ubuntu sudo apt-get remove package sudo apt-get autoremove يُزيل الحزم غير الضرورية. CentOS sudo yum remove package Fedora sudo dnf erase package FreeBSD Packages sudo pkg delete package sudo pkg autoremove يُزيل الحزم غير الضرورية. FreeBSD Ports sudo pkg delete package cd /usr/ports/path_to_port && make deinstall يلغي تثبيت منفذ مُثبت. الحصول على المساعدة بالإضافة إلى التوثيقات المتوافرة على الشبكة، ضع في اعتبارك أن صفحات دليل يونكس (يُشار إليها بصفحات الدليل) متوافرة لمعظم الأوامر من الصدفة. استخدم man لقراءة صفحة page على النّحو التّالي: $ man page يمكنك الانتقال بمفاتيح الأسهم في man. اضغط / للبحث عن نص في الصفحة، و q للخروج. النظام الأمر ملاحظات Debian / Ubuntu man apt-get تحديث قاعدة البيانات المحلية والتعامل مع الحزم. man apt-cache الاستعلام في قاعدة بيانات الحزم المحلية. man dpkg التعامل مع ملفات الحزم الفردية والاستعلام عن الحزم المُثبتة. CentOS man yum Fedora man dnf FreeBSD Packages man pkg التعامل مع الحزم الثنائية المُترجمة مُسبقًا. FreeBSD Ports man ports التعامل مع مجموعات المنافذ. خاتمة ولمزيد من القراءة عرضنا العمليات الأساسية التي يمكن استخدامها كمرجع بين الأنظمة، لكننا لم نتطرّق سوى إلى أساسيات الأمر. للحصول على مزيد من التفاصيل لنظام معين، راجع المصادر التالية: يُغطي هذا الدليل إدارة حزم دبيان وأوبنتو بالتفصيل. هناك دليل CentOS الرسمي لإدارة البرمجيات باستخدام yum. هناك صفحة wiki فيدورا عن dnf، ودليل dnf الرسمي. يُغطي هذا الدليل إدارة حزم FreeBSD باستخدام pkg. يحتوي دفتر FreeBSD على قسم لاستخدام مجموعات المنافذ. ترجمة -وبتصرّف- للمقال Package Management Basics: apt, yum, dnf, pkg لصاحبه Brennen Bearnes.1 نقطة