
نُشر هذا المقال أصلاً في مجلة Fedora Magazine بقلم يزن المنشد.
أصبح تشغيل نماذج اللغات الكبيرة (LLMs) محلياً شائعاً بشكل متزايد للتطوير، والحفاظ على الخصوصية، والاختبار دون اتصال بالإنترنت. يجعل Ollama هذه العملية بسيطة للغاية، مما يتيح لك تشغيل نماذج مثل Llama 3 أو Mistral مباشرة على جهازك.
من خلال الاستفادة من Podman على نظام Fedora Linux، يمكنك عزل Ollama داخل حاوية. يحافظ هذا النهج على نظافة نظام التشغيل الأساسي مع إمكانية إنشاء بيئة تطوير الذكاء الاصطناعي وإدارتها وإيقافها بسهولة.
ما هو Ollama؟
Ollama هو إطار عمل مفتوح المصدر مصمم لـ تشغيل وبناء ومشاركة نماذج اللغات الكبيرة. يقوم بتجميع أوزان النموذج والإعدادات والبيانات في نظام إدارة موحد. تشغيله داخل حاوية يعني عدم الحاجة للتعامل مع الاعتماديات المحلية المعقدة، بيئات بيثون، أو إعدادات تعريفات بطاقة الشاشة المعقدة على نظام التشغيل.
التحقق من Podman أو تثبيته
يتوفر Podman بشكل افتراضي في Fedora Workstation. ويمكن تثبيته بسهولة في حال عدم وجوده باستخدام DNF:
$ sudo dnf install podman -y
بالنسبة لمستخدمي Fedora Linux Silverblue، يتوفر Podman بشكل أصلي في النظام الأساسي ولا تتطلب أي خطوات إضافية.
للتحقق من التثبيت والتأكد من أن كل شيء يعمل بسلاسة، قم بتنفيذ هذا الأمر:
$ podman --version
الخطوة 1: إنشاء وحدة تخزين دائم لنماذجك (Persistent Volume)
قد تكون أوزان نماذج الذكاء الاصطناعي ضخمة - تتراوح غالباً بين 4 جيجابايت وأكثر من 40 جيجابايت حسب حجم النموذج. لتجنب إعادة تنزيل هذه النماذج في كل مرة تعيد فيها تشغيل الحاوية، أنشئ وحدة تخزين دائم من Podman لحفظها بأمان:
$ podman volume create ollama_storage
الخطوة 2: تشغيل حاوية Ollama
بعد ذلك، قم بتشغيل حاوية Ollama. يقوم الأمر التالي بسحب الصورة الرسمية، وإرفاق وحدة التخزين التي أنشأناها، وتوجيه منفذ الاتصال (11434) إلى جهازك:
$ podman run -d \
-v ollama_storage:/root/.ollama \
-p 11434:11434 \
--name ollama \
ollama/ollama
ملاحظة حول تسريع الأجهزة (Hardware Acceleration)
يقوم الأمر أعلاه بتشغيل Ollama باستخدام المعالج (CPU). إذا كنت تستخدم Fedora Workstation أو Silverblue وتريد تمرير كرت الشاشة Nvidia لتسريع الأداء، تأكد من تثبيت Nvidia Container Toolkit وإضافة خيار كرت الشاشة:
--device nvidia.com/gpu=all
الخطوة 3: تنزيل وتأطير نموذج ذكاء اصطناعي
مع تشغيل الحاوية في الخلفية، يمكنك التفاعل معها باستخدام أمر التشغيل الخاص بـ Podman. لنقم بسحب وتشغيل نموذج Llama 3:
$ podman exec -it ollama ollama run llama3
في المرة الأولى التي تنفذ فيها هذا الأمر، سيقوم Podman بتنزيل أوزان النموذج إلى وحدة التخزين ollama_storage. وبمجرد اكتمال التنزيل، ستدخل مباشرة إلى موجه التفاعلي:
>>> Send a message (/? for help)
>>> Tell me a fun fact about Fedora Linux.
Fedora Linux is named after the iconic felt hat worn by the Red Hat shadowman logo! It started as a community project to provide extra packages for Red Hat Linux.
>>>
للخروج من الموجه التفاعلي، اكتب /exit.
الخطوة 4: التفاعل مع واجهة البرمجة المحلية (REST API)
نظراً لأننا قمنا بربط المنفذ 11434 بالنظام، يمكنك أيضاً التفاعل مع Ollama عبر واجهة برمجة التطبيقات REST API. افتح نافذة موجه الأوامر وأرسل طلب curl:
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt": "Why use containers?",
"stream": false
}'
يعيد هذا الطلب استجابة بتنسيق JSON تحتوي على الإجابة، مما يتيح لك ربط النموذج المحلي بسهولة مع تطبيقات الويب أو البرامج النصية أو إضافات IDE.
مراجعة حالة الحاوية
لمراقبة حالة الحاوية المحلية، استخدم أوامر Podman المعتادة:
$ podman ps
كما يمكنك التحقق من السجلات للتأكد من أن خادم API يستمع بشكل صحيح:
$ podman logs ollama
وعند الانتهاء من جلسة التطوير ولتحرير ذاكرة النظام، قم بإيقاف الحاوية:
$ podman stop ollama
وإذا أردت حذف الحاوية تماماً:
$ podman rm ollama
ملاحظة: النماذج التي قمت بتنزيلها آمنة تماماً داخل وحدة التخزين ollama_storage وتكون جاهزة للاستخدام فور تشغيل الحاوية مرة أخرى.
الخلاصة
يوفر استخدام Podman لإدارة Ollama على Fedora Linux أو Fedora Silverblue طريقة نظيفة ومعزولة لبناء وتطوير تطبيقات الذكاء الاصطناعي واختبارها محلياً دون الحاجة للاتصال بالإنترنت.
