البرمجة للذكاء الاصطناعي – الدرس الثاني – تجهيز بيئة البرمجة وأدوات الذكاء الاصطناعي

الدرس الثاني

تجهيز بيئة البرمجة وأدوات الذكاء الاصطناعي

في الدرس السابق تعرّفنا على سبب استخدام لغة بايثون في الذكاء الاصطناعي، وكيف تساعدنا مكتباتها في التعامل مع البيانات وبناء النماذج الذكية. لكن قبل أن نبدأ بكتابة البرامج وتدريب النماذج، نحتاج أولًا إلى تجهيز المكان والأدوات التي سنعمل بها.

تخيّل أنك تريد بناء قطعة أثاث. امتلاك الفكرة وحده لا يكفي؛ بل تحتاج إلى ورشة وأدوات ومواد ومكان منظم للعمل. البرمجة بالطريقة نفسها: لغة بايثون هي إحدى أدواتنا، لكننا نحتاج أيضًا إلى نظام تشغيل، ومحرر أكواد، ومكتبات، وبيئة تساعدنا على تشغيل البرنامج واكتشاف الأخطاء وحفظ التعديلات.

ما المقصود ببيئة البرمجة؟

بيئة البرمجة Programming Environment هي مجموعة المكونات التي نحتاج إليها لكتابة البرامج وتشغيلها واختبارها والمحافظة عليها.

تساعدنا بيئة البرمجة على:

  • كتابة الكود البرمجي.
  • تشغيل البرامج ومشاهدة النتائج.
  • اختبار الكود واكتشاف الأخطاء.
  • تثبيت مكتبات الذكاء الاصطناعي.
  • تنظيم ملفات المشروع.
  • حفظ التعديلات والعودة إلى الإصدارات السابقة.
بيئة البرمجة ليست برنامجًا واحدًا، بل مجموعة أدوات تعمل معًا لتجعل عملية التطوير أوضح وأسرع وأكثر تنظيمًا.

مكونات بيئة البرمجة

المكوّن وظيفته
نظام التشغيل البيئة الأساسية التي تعمل عليها البرامج، مثل Windows وLinux وmacOS.
لغة البرمجة اللغة التي نستخدمها لكتابة الأوامر، مثل Python.
المفسر Interpreter يقرأ أوامر بايثون وينفذها على الجهاز.
المكتبات والحزم توفر وظائف جاهزة للرياضيات والبيانات وتعلم الآلة.
محرر الأكواد أو IDE المكان الذي نكتب فيه الكود وندير ملفات المشروع.
إدارة الإصدارات تحفظ تاريخ التعديلات على المشروع باستخدام أدوات مثل Git.
موارد الجهاز المعالج والذاكرة وكرت الشاشة ومساحة التخزين.

الخطوة الأولى: تثبيت لغة بايثون

لغة بايثون هي الأساس الذي سنبني عليه معظم تطبيقاتنا القادمة. وبعد تثبيتها، نحتاج إلى التأكد من أن الجهاز يستطيع تشغيلها بصورة صحيحة.

لفحص إصدار بايثون نفتح موجه الأوامر أو Terminal ونكتب:

python –version

وفي بعض الأجهزة نستخدم:

python3 –version

إذا ظهر رقم الإصدار، فهذا يعني أن بايثون مثبّتة وتعمل، مثل:

Python 3.13.2
الهدف من هذا الأمر ليس كتابة برنامج، بل التأكد من أن نظام التشغيل يعرف مكان بايثون ويستطيع تشغيلها.

ما هو مدير الحزم pip؟

لا تأتي بايثون بجميع مكتبات الذكاء الاصطناعي مثبتة مسبقًا. لذلك نستخدم أداة تسمى pip لتنزيل الحزم والمكتبات التي نحتاج إليها.

يمكن تشبيه pip بمتجر للأدوات البرمجية؛ نطلب منه اسم المكتبة فيقوم بتنزيلها وتثبيتها.

للتأكد من وجود pip نكتب:

pip –version

ولتثبيت مكتبة NumPy:

pip install numpy

ويمكن تثبيت عدة مكتبات في أمر واحد:

pip install numpy pandas matplotlib scikit-learn
المكتبة دورها في الذكاء الاصطناعي
NumPy العمليات الرياضية والتعامل مع المصفوفات.
Pandas قراءة البيانات وتنظيفها وتنظيمها وتحليلها.
Matplotlib رسم البيانات والنتائج في مخططات بيانية.
Scikit-learn بناء نماذج تعلم الآلة واختبارها وتقييمها.
TensorFlow بناء الشبكات العصبية ونماذج التعلم العميق.
PyTorch بناء وتدريب نماذج التعلم العميق والأبحاث.

لماذا لا نثبت كل شيء في مكان واحد؟

لنفترض أن لدينا مشروعين:

  • المشروع الأول يحتاج إلى إصدار قديم من مكتبة معينة.
  • المشروع الثاني يحتاج إلى إصدار أحدث من المكتبة نفسها.

إذا ثبتنا جميع المكتبات في المكان نفسه، فقد يحدث تعارض بين الإصدارات ويتوقف أحد المشروعين عن العمل.

لحل هذه المشكلة نستخدم ما يسمى البيئة الافتراضية Virtual Environment.

ما هي البيئة الافتراضية؟

البيئة الافتراضية هي مساحة مستقلة داخل الجهاز نخصصها لمشروع معين. تحتوي هذه المساحة على مكتبات المشروع وإصداراتها دون أن تؤثر في المشاريع الأخرى.

لكل مشروع صندوق أدوات مستقل يحتوي فقط على المكتبات التي يحتاج إليها.

فوائد البيئة الافتراضية

  • عزل مكتبات كل مشروع عن المشاريع الأخرى.
  • منع التعارض بين إصدارات الحزم.
  • تسهيل نقل المشروع إلى جهاز آخر.
  • معرفة المكتبات المطلوبة للمشروع فقط.
  • تحسين استقرار المشروع وتنظيمه.
  • تسهيل نشر نموذج الذكاء الاصطناعي لاحقًا.

أشهر أدوات إنشاء البيئات الافتراضية

الأداة الوصف
venv مدمجة مع Python 3، وهي مناسبة للمبتدئين.
virtualenv أداة إضافية لإنشاء وإدارة البيئات الافتراضية.
conda تدير البيئات والحزم، وتستخدم كثيرًا في تحليل البيانات.

إنشاء أول بيئة افتراضية

ننشئ أولًا مجلدًا للمشروع، ثم نفتح موجه الأوامر داخله ونكتب:

python -m venv ai_env

معنى أجزاء الأمر:

  • python يشغّل لغة بايثون.
  • -m venv يطلب تشغيل أداة إنشاء البيئات.
  • ai_env هو الاسم الذي اخترناه للبيئة.

تفعيل البيئة في Windows

ai_env\Scripts\activate

تفعيل البيئة في Linux أو macOS

source ai_env/bin/activate

عند نجاح التفعيل يظهر اسم البيئة في بداية السطر:

(ai_env)

ولإيقاف البيئة الافتراضية نكتب:

deactivate

ما هي بيئة التطوير المتكاملة IDE؟

يمكن كتابة كود بايثون باستخدام محرر نصوص عادي، لكن ذلك يصبح متعبًا عند العمل على مشروع كبير. لذلك نستخدم برامج تسمى:

بيئات التطوير المتكاملة Integrated Development Environments

تجمع هذه البرامج أدوات كتابة الكود وتشغيله واختباره وإدارة الملفات في مكان واحد.

أمثلة على بيئات التطوير

  • Visual Studio Code.
  • PyCharm.

ماذا تقدم لنا بيئة التطوير؟

الإكمال التلقائي

تقترح الأداة أسماء الدوال والمتغيرات أثناء الكتابة، مما يسرع العمل ويقلل الأخطاء.

اكتشاف الأخطاء Debugging

تسمح بتشغيل البرنامج خطوة بخطوة ومراقبة قيم المتغيرات لمعرفة السطر الذي تسبب في المشكلة.

إدارة ملفات المشروع

تعرض الملفات والمجلدات بطريقة مرتبة بدلًا من توزيعها عشوائيًا على الجهاز.

تشغيل الأوامر

تحتوي غالبًا على Terminal مدمج لتثبيت المكتبات وتشغيل ملفات بايثون.

التكامل مع Git

تساعد على متابعة التعديلات وحفظ الإصدارات دون مغادرة محرر الأكواد.

Visual Studio Code أم PyCharm؟

المقارنة Visual Studio Code PyCharm
الحجم خفيف نسبيًا. أكبر حجمًا.
الاستخدام يدعم لغات برمجة كثيرة. متخصص بدرجة أكبر في Python.
الإضافات يعتمد على Extensions. يحتوي على أدوات Python مدمجة.
المبتدئ مناسب بعد تثبيت إضافة Python. مناسب لمن يريد بيئة بايثون متكاملة.
الذكاء الاصطناعي ممتاز. ممتاز.
الأداة ليست هي الهدف. الأهم أن نختار بيئة مريحة تساعدنا على التعلم وتنظيم المشروع بدلًا من أن تشتتنا.

ما هو Jupyter Notebook؟

عند تعلم الذكاء الاصطناعي لا نكتب دائمًا برنامجًا كاملًا ثم نشغله دفعة واحدة. أحيانًا نريد قراءة البيانات، ثم عرض جزء منها، ثم تنظيفها، ثم رسمها، وبعد ذلك تجربة نموذج عليها.

لهذا نستخدم Jupyter Notebook، وهو بيئة تفاعلية تعمل عادة من خلال المتصفح، وتقسم الكود إلى وحدات صغيرة تسمى خلايا Cells.

يمكن تشغيل كل خلية بصورة مستقلة ومشاهدة النتيجة تحتها مباشرة:

numbers = [10, 20, 30, 40] sum(numbers)

ستظهر النتيجة:

100

لماذا يناسب Jupyter الذكاء الاصطناعي؟

  • تشغيل الكود خطوة بخطوة.
  • عرض النتائج مباشرة.
  • الجمع بين الشرح والكود والرسوم.
  • تجربة قيم مختلفة للنموذج بسرعة.
  • تحليل البيانات وعرض المخططات.
  • التعليم والأبحاث وبناء النماذج الأولية.
يجب الانتباه إلى ترتيب تشغيل الخلايا؛ لأن تشغيلها بترتيب غير صحيح قد يؤدي إلى نتائج مربكة أو مختلفة.

ما هو Google Colab؟

يقدم Google Colab تجربة شبيهة بـJupyter Notebook، لكنه يعمل داخل المتصفح باستخدام بيئة سحابية.

هذا يعني أن الكود لا يعتمد بالكامل على جهازك، بل يتم تنفيذه على خوادم سحابية.

لماذا نستخدم Colab؟

  • البدء في كتابة بايثون دون إعداد محلي كامل.
  • تشغيل الأكواد مباشرة من المتصفح.
  • مشاركة الملف مع الطلاب أو أعضاء الفريق.
  • تجربة مكتبات الذكاء الاصطناعي بسرعة.
  • الاستفادة من الموارد السحابية المتاحة.
  • استخدامه في التعليم والتجارب والأبحاث.

الفرق بين Jupyter وGoogle Colab

المقارنة Jupyter Notebook Google Colab
مكان التشغيل غالبًا على جهازك. على بيئة سحابية.
التثبيت يحتاج إلى إعداد محلي. يعمل من المتصفح.
حفظ الملفات تُحفظ الملفات محليًا. يمكن حفظها سحابيًا.
المشاركة تحتاج إلى إرسال الملف أو رفعه. المشاركة أسهل.
الموارد يعتمد على مواصفات جهازك. يعتمد على الموارد التي توفرها الخدمة.
الإنترنت يمكن تشغيله دون إنترنت بعد تثبيته. يحتاج عادة إلى اتصال بالإنترنت.

المنصات السحابية والذكاء الاصطناعي

بعض نماذج الذكاء الاصطناعي تحتاج إلى موارد أكبر من الجهاز الشخصي، خصوصًا عند تدريب الشبكات العصبية على بيانات كبيرة.

بدلًا من شراء أجهزة مرتفعة التكلفة، يمكن استخدام منصات سحابية توفر:

  • معالجات قوية.
  • ذاكرة أكبر.
  • وحدات معالجة رسومية GPU.
  • مساحات تخزين سحابية.
  • أدوات لتدريب النماذج ونشرها.
  • إمكانية زيادة الموارد أو تقليلها عند الحاجة.

فوائد الحوسبة السحابية

  • الوصول إلى موارد قوية: تشغيل تجارب لا يستطيع الجهاز الشخصي تنفيذها بسهولة.
  • المرونة والتوسع: زيادة الموارد عندما يكبر المشروع وتقليلها بعد انتهاء التدريب.
  • تقليل التكلفة الأولية: عدم الحاجة إلى شراء خادم قوي قبل تحديد احتياجات المشروع.
تحتاج الخدمات السحابية إلى متابعة الاستهلاك؛ لأن تشغيل موارد قوية لفترات طويلة قد يؤدي إلى تكاليف مرتفعة.

لماذا نحتاج إلى نظام إدارة الإصدارات؟

أثناء بناء نموذج ذكاء اصطناعي قد نغير:

  • طريقة تنظيف البيانات.
  • الخوارزمية المستخدمة.
  • إعدادات النموذج.
  • طريقة حساب الدقة.
  • ملفات التدريب.
  • أجزاء مختلفة من الكود.

بعد عدة تعديلات قد نكتشف أن النسخة القديمة من النموذج كانت أفضل. لذلك نحتاج إلى نظام يسجل تاريخ التغييرات ويسمح لنا بالعودة إلى أي نسخة سابقة.

يسمى هذا النظام Version Control System.

ما هو Git؟

Git هو نظام لإدارة وتتبع التعديلات على ملفات المشروع. ويمكن تشبيهه بنقاط الحفظ داخل الألعاب.

بدلًا من إنشاء ملفات بأسماء غير منظمة مثل:

project-final project-final2 project-final-new project-final-really-final

نستخدم Git لحفظ نسخ منظمة، ونكتب وصفًا واضحًا لكل تعديل.

أهم أوامر Git

الأمر وظيفته
git init إنشاء مستودع Git جديد داخل المشروع.
git clone تنزيل نسخة من مستودع موجود.
git add تجهيز الملفات ليتم حفظها.
git commit حفظ التغييرات مع رسالة توضيحية.
git push رفع التغييرات إلى مستودع بعيد.
git status معرفة حالة الملفات والتعديلات الحالية.

مثال مبسط

نبدأ بإنشاء مستودع داخل المشروع:

git init

ثم نجهز جميع الملفات للحفظ:

git add .

النقطة تعني جميع الملفات الموجودة داخل المجلد الحالي.

بعد ذلك نحفظ النسخة مع وصف:

git commit -m “Create the first version of the AI project”

ما الفرق بين Git وGitHub؟

Git GitHub
نظام لتتبع التعديلات. منصة تستضيف مستودعات Git.
يعمل على جهازك. تعمل عبر الإنترنت.
يحفظ تاريخ المشروع. تسهل مشاركة المشروع.
يمكن استخدامه دون GitHub. تعتمد على مستودعات Git.
أداة لإدارة الإصدارات. منصة للتعاون وإدارة المشاريع.

ماذا يقدم GitHub؟

  • استضافة ملفات المشروع.
  • مشاركة المشروع مع أعضاء الفريق.
  • مراجعة الأكواد باستخدام Pull Requests.
  • تسجيل المشكلات والمهام باستخدام Issues.
  • توثيق المشروع داخل ملف README.
  • حفظ نسخة بعيدة من المشروع.
  • عرض المشاريع البرمجية في ملفك المهني.

تنظيم مشروع الذكاء الاصطناعي

المشروع المنظم أسهل في الفهم والتطوير من مشروع يحتوي على جميع الملفات بصورة عشوائية داخل مجلد واحد.

يمكن تنظيم مشروع بسيط بالشكل التالي:

ai_project/ │ ├── data/ │ └── dataset.csv │ ├── notebooks/ │ └── experiment.ipynb │ ├── src/ │ └── model.py │ ├── models/ │ └── trained_model.pkl │ ├── requirements.txt ├── README.md └── main.py
العنصر وظيفته
data حفظ ملفات البيانات.
notebooks حفظ ملفات Jupyter والتجارب.
src حفظ الكود الأساسي للمشروع.
models حفظ النماذج المدربة.
requirements.txt تسجيل المكتبات والإصدارات المطلوبة.
README.md شرح فكرة المشروع وطريقة تشغيله.
main.py ملف التشغيل الأساسي للبرنامج.

تسجيل مكتبات المشروع

حتى يعمل المشروع على جهاز آخر، نحتاج إلى تسجيل أسماء المكتبات وإصداراتها.

نستخدم الأمر:

pip freeze > requirements.txt

ينشئ هذا الأمر ملفًا باسم requirements.txt يحتوي على المكتبات المثبتة، مثل:

numpy==2.3.0 pandas==2.3.1 scikit-learn==1.7.0

وعند نقل المشروع إلى جهاز آخر نثبت المكتبات بالأمر:

pip install -r requirements.txt
هذه الخطوة مهمة في مشاريع الذكاء الاصطناعي؛ لأن تغيير إصدار مكتبة واحدة قد يمنع البرنامج من العمل أو يؤدي إلى اختلاف النتائج.

قابلية إعادة التجربة

من أهم مبادئ تطوير الذكاء الاصطناعي أن يتمكن شخص آخر من إعادة التجربة والحصول على النتائج نفسها أو نتائج قريبة منها.

لذلك نحتاج إلى توثيق:

  • مصدر البيانات.
  • خطوات تنظيف البيانات.
  • إصدارات المكتبات.
  • الخوارزمية المستخدمة.
  • إعدادات النموذج.
  • طريقة تقسيم بيانات التدريب والاختبار.
  • طريقة تقييم النتائج.
  • نسخة الكود التي أنتجت النموذج.
النجاح ليس أن نحصل على نتيجة جيدة مرة واحدة، بل أن نعرف كيف وصلنا إليها ونستطيع إعادة التجربة.

أفضل الممارسات في بيئة التطوير

  1. أنشئ مجلدًا مستقلًا لكل مشروع.
  2. استخدم بيئة افتراضية لكل مشروع.
  3. لا تثبت مكتبات لا يحتاج إليها المشروع.
  4. استخدم أسماء واضحة للملفات والمتغيرات.
  5. افصل البيانات والكود والنماذج في مجلدات مختلفة.
  6. اكتب تعليقات مفيدة عند الحاجة.
  7. أنشئ ملف README يشرح فكرة المشروع.
  8. سجل المكتبات داخل ملف requirements.txt.
  9. استخدم Git منذ بداية المشروع.
  10. احفظ التعديلات برسائل واضحة.
  11. لا ترفع كلمات المرور أو مفاتيح الخدمات إلى GitHub.
  12. وثّق إعدادات النموذج حتى يمكن إعادة التجربة.

ملخص الدرس

بيئة البرمجة هي مجموعة الأدوات التي نستخدمها لكتابة البرامج وتشغيلها واختبارها وتنظيمها. وتتكون من نظام التشغيل، ولغة بايثون، والمكتبات، ومحرر الأكواد، وأدوات إدارة المشروع.

تعرفنا على دور pip في تثبيت الحزم، وعلى أهمية البيئات الافتراضية في عزل مكتبات كل مشروع. كما تعرفنا على Visual Studio Code وPyCharm وJupyter Notebook وGoogle Colab.

وأخيرًا تعرفنا على Git وGitHub، وكيف يساعدان على حفظ تاريخ المشروع والرجوع إلى النسخ السابقة والتعاون مع الفريق وتنظيم مشاريع الذكاء الاصطناعي بطريقة احترافية.

الذكاء الاصطناعي لا يبدأ من الخوارزمية مباشرة، بل يبدأ من بيئة عمل مرتبة تجعل الكود قابلًا للتطوير والنتائج قابلة للتكرار.

في الدرس القادم

سنبدأ بكتابة برامج بايثون بصورة عملية، وسنتعرف على المتغيرات وأنواع البيانات والعمليات الأساسية، ثم نربطها بكيفية تخزين بيانات نماذج الذكاء الاصطناعي والتعامل معها خطوة بخطوة.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *