Thursday, 13 August 2026 | التحديث اليومي نظرة ثاقبة للذكاء الاصطناعي، مكتوبة للبناة

llamafile: تشغيل أي نموذج لغوي كبير (LLM) كملف تنفيذي محمول واحد

  • يُعبِّئ llamafile نموذجَ GGUF ومحرّك الاستدلال llama.cpp في ملف تنفيذي واحد يعمل على أنظمة Linux وmacOS وWindows وFreeBSD وغيرها — دون الحاجة إلى التثبيت.
  • تشغيل ./model.llamafile وتُفتح واجهة دردشة المتصفح تلقائيًّا؛ بينما يُقدَّم واجهة برمجة تطبيقات متوافقة مع OpenAI على العنوان http://localhost:8080/v1.
  • لا يمكن تشغيل الملفات الأكبر من 4 جيجابايت مباشرةً على نظام Windows — استخدم تكميمًا أصغر أو شغِّل محرك التشغيل (runtime) وملف GGUF بشكل منفصل.
  • الأفضل للأنظمة المعزولة تمامًا (air-gapped)، والنشر عبر وحدات USB، والمشاركة بملف واحد فقط. أما Ollama فهو أفضل لإدارة عدة نماذج على المدى الطويل.

llamafile هو ملف تنفيذي واحد يحتوي كلاً من النموذج اللغوي ومحرّك الاستدلال. ويستند إلى llama.cpp وCosmopolitan Libc، بحيث يعمل الملف نفسه أصليًّا على أنظمة Linux وmacOS وWindows وFreeBSD وغيرها — دون الحاجة إلى حاويات أو بيئات Python أو برامج إدارة الحزم.

كيف يعمل ملف واحد على كل أنظمة التشغيل

يعتمد llamafile على تقنيتين. llama.cpp يوفِّر محرك الاستدلال بلغة C++ للنماذج بصيغة GGUF. Cosmopolitan Libc ينتج ثنائيًّا متعدد اللغات (polyglot binary): مجموعة واحدة من البايتات تحقِّق في الوقت نفسه تنسيق PE/COFF الذي يتوقعه نظام Windows، وتنسيق ELF الذي يتوقعه نظام Linux، ورأس Mach-O الذي يتوقعه نظام macOS. وعند تشغيل الملف، يكتشف محمل كل نظام تشغيل رأسه الخاص ويُنفِّذ الملف أصليًّا — دون الحاجة إلى محاكاة أو طبقة ترجمة.

وتُرفق أوزان النموذج بهذا الملف الثنائي باستخدام حاوية متوافقة مع ZIP. وبما أن تنسيق ZIP يسمح بإدخال بيانات عشوائية قبل سجل الدليل المركزي، فإن ملف GGUF يقع في نهاية الملف دون إفساد قابليته للتنفيذ. ويحدد محرك التشغيل موقع الأوزان بالبحث عن نهاية الملف عند بدء التشغيل. ومن الآثار العملية المفيدة لذلك: يمكنك فحص أوزان أي ملف llamafile أو استخراجها باستخدام أي أداة ZIP قياسية.

تنزيل ملف llamafile وتشغيله

يُنشئ المؤلفون النماذج ملفات llamafile الجاهزة للتنزيل وينشرونها على منصة Hugging Face، وهي مرتبطة أيضًا من مستودع GitHub Mozilla-Ocho/llamafileوتستخدم هذه الملفات الامتداد .llamafile .

Linux وmacOS

# إعطاء صلاحية التنفيذ — فملفات التنزيل لا تحتوي افتراضيًّا على هذه الصلاحية
chmod +x mistral-7b-instruct.llamafile

# بدء الخادم وواجهة الويب (يفتح المتصفح تلقائيًّا)
./mistral-7b-instruct.llamafile

# استدلال سريع عبر سطر الأوامر دون بدء الخادم
./mistral-7b-instruct.llamafile -p "اشرح مفهوم llamafile في فقرة واحدة"

يرتبط الخادم افتراضيًّا بعنوان 127.0.0.1:8080 . ويمكنك تمرير الخيار --port 9000 لتغيير المنفذ، أو الخيار --host 0.0.0.0 للاستماع إلى جميع واجهات الشبكة — وهو مفيد عند استضافة الخادم من جهاز لا يحتوي على واجهة رسومية ضمن شبكة محلية. وقم بتشغيل الأمر./model.llamafile --help لعرض جميع العلمات المتاحة، بما في ذلك الخيارات التي تُعطِّل فتح تبويب المتصفح تلقائيًّا عند التشغيل بدون واجهة رسومية.

ويندوز

يتطلب نظام Windows أن تنتهي الملفات التنفيذية بامتداد .exe. لذا غيِّر اسم الملف قبل التشغيل:

ren mistral-7b-instruct.llamafile mistral-7b-instruct.llamafile.exe

ثم انقر نقرًا مزدوجًا عليه في مستكشف الملفات أو شغِّله من موجه الأوامر. وسيفتح تبويب متصفح تلقائيًّا.

حد الـ 4 جيجابايت. لا يستطيع محمل PE في نظام Windows التعامل مع الملفات التنفيذية الأكبر من 4 جيجابايت. وتتجاوز معظم النماذج ذات الحجم 7 مليار معلمة (7B) المُكمَّمة بتقنية Q8 أو أعلى هذا الحد، وكذلك جميع النماذج الأكبر من 13 مليار معلمة (13B+). فإذا تجاوز حجم الملف 4 جيجابايت، فلن يقوم نظام Windows بتشغيله. ولديك خياران: تنزيل نسخة مُكمَّمة أصغر (عادةً ما تكون بين 4–5 جيجابايت للنموذج 7B، وغالبًا ما تكون قريبة جدًّا من الحد الأقصى)، أو تنزيل ملف المحرك التنفيذي (runtime) المستقل لـ llamafile وتمرير ملف GGUF كوسيطة منفصلة. وقبل اختيار النموذج ومستوى التكميم، تأكَّد من مراجعة Q4_K_M متطلبات ذاكرة الفيديو (VRAM) وحجم الملف للنماذج اللغوية الكبيرة الرئيسية لتحديد مستوى التكميم الأنسب لجهازك. تشغيل ملف llamafile دون استخدام العلم

واجهة الويب المدمجة

-p يبدأ خادم HTTP ويفتح متصفحك الافتراضي تلقائيًّا على العنوان http://localhost:8080 . وهذه الواجهة عبارة عن تطبيق صفحة واحدة (SPA) كامل ومكتفٍ ذاتيًّا دون اعتماد على أي شبكات توصيل محتوى خارجية (CDN) — وبالتالي تعمل تمامًا دون اتصال بالإنترنت. وهي تعرض ما يلي:إعدادات موجه النظام (system prompt)

  • معلمات أخذ العينات: درجة الحرارة (temperature)، وtop-p، وtop-k، وعقوبة التكرار (repeat penalty)
  • عرض عدد الرموز (tokens)
  • سجل المحادثة الدائم ضمن الجلسة الحالية
  • يمكن لأي جهاز على شبكتك المحلية (LAN) الوصول إلى هذه الواجهة إذا كنت قد بدأت الخادم باستخدام الخيار

بينما يعمل الخادم، يوفِّر llamafile واجهة برمجة تطبيقات REST متوافقة مع OpenAI على العنوان --host 0.0.0.0.

واجهة برمجة التطبيقات المتوافقة مع OpenAI

. ويمكن لأي عميل من عملاء OpenAI SDK أو أدوات LangChain أو LlamaIndex أن يستهدفها عبر تجاوز عنوان الأساس (base URL): http://localhost:8080/v1curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{ "model": "local", "messages": [{"role": "user", "content": "Hello"}] }'

وفي لغة Python، عيِّن القيمة

base_url="http://localhost:8080/v1" وأدخل أي سلسلة غير فارغة كمفتاح واجهة برمجة التطبيقات (API key) عند إنشاء كائن openai.OpenAI openai.OpenAI العميل. إن النموذج حقل الطلبات يتم تجاهله — ويُستخدم النموذج المحمل دائمًا.

إنشاء ملف llamafile من ملف GGUF موجود

إذا كنت تمتلك بالفعل نموذج GGUF — من نظام llama.cpp البيئي، أو ذاكرة التخزين المؤقت المحلية في Ollama، أو تنزيل من Hugging Face — فيمكنك تغليفه في ملف llamafile مستقل ذاتيًا. وتتم هذه العملية باستخدام أداة llamafile-zipalign المُضمَّنة مع مجموعة أدوات llamafile:

  1. نزِّل أرشيف إصدار llamafile الخاص بمنصتك من صفحة إصدارات GitHub.
  2. نستخرج ملفllamafile المنفرد (الوقت التشغيلي فقط، دون أي نموذج مدمج).
  3. الاستخدام llamafile-zipalign لإلحاق نموذج GGUF الخاص بك بصورة من الملف التنفيذي للوقت التشغيلي.
  4. نجعل الملف الناتج قابلاً للتنفيذ ونُشغِّله.

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

مقارنة بين llamafile وOllama: متى تستخدم كلًّا منهما؟

كلا الأداتين تشغِّلان نماذج GGUF محليًّا وتقدِّم واجهات برمجة تطبيقات (APIs) متوافقة مع OpenAI. وكلٌّ منهما يحل مشكلة مختلفة. راجع القسم الدليل الكامل لـ Ollama لمزيد من التفصيل حول الجانب الآخر من هذه المقارنة.

المعيارllamafileOllama
التثبيتلا يوجد — نزِّل وشغِّل مباشرةًيتطلب برنامج تثبيت أو مدير حزم
إدارة النماذجيدوي — ملف واحد لكل نموذجمكتبة مضمنة، ollama pull
قابلية النقلملف واحد — قابل للتوزيع عبر وحدة USB أو البريد الإلكتروني أو مشاركة NFSيتطلب وجود خدمة Ollama على الجهاز المستهدف
تسريع بواسطة وحدة معالجة الرسومات (GPU)CUDA، Metal، ROCm (يتم اكتشافها تلقائيًّا)CUDA، Metal، ROCm
الخدمة المتعددة النماذجنموذج واحد لكل عملية تشغيلدعم عدة نماذج مع تبديل تلقائي ساخن بينها
تشغيل النماذج الكبيرة على أنظمة Windowsمحدود: ملفات تنفيذية أقل من ٤ جيجابايت فقطدعم كامل لأي حجم
النشر في بيئات معزولة تمامًا (بدون اتصال بالإنترنت)ممتاز — لا تعتمد على أي تبعيات وقت التشغيليتطلب تثبيت الخدمة (daemon)
واجهة ويب مضمنةنعم، ولا حاجة لتثبيت إضافييتطلب واجهة أمامية منفصلة

اختر llamafile عند توزيع الملف على جهاز لا تتحكم فيه، أو عند التشغيل في بيئة معزولة تمامًا (air-gapped)، أو عند دمج نموذج ضمن مشروع يجب أن يعمل دون الاعتماد على تبعيات على مستوى النظام. اختر Ollama اختر Ollama

إذا كنت تدير مكتبة نماذج، أو ترغب في تحديثات تلقائية، أو تغيير النماذج بشكل متكرر داخل الجلسة نفسها. حاسبة نقطة التعادل بين الاستضافة المحلية وواجهة برمجة التطبيقات (API) يمكن لـ

متطلبات الأجهزة

يُضيف llamafile هامش زيادة ضئيل جدًّا فوق llama.cpp. والعنق الضيق دائمًا هو حجم النموذج ودرجة التكمين (quantization). ويكتشف llamafile وحدات التسريع المتاحة عند بدء التشغيل — مثل CUDA لوحدات معالجة الرسومات من NVIDIA، وMetal لرقائق Apple Silicon، وROCm لوحدات AMD — ويستخدمها تلقائيًّا. وإذا لم يُكتشف أي وحدة GPU، فإنه يعود تلقائيًّا إلى الاستنتاج على وحدة المعالجة المركزية (CPU) باستخدام تعليمات AVX2 أو AVX-512 عند توفرها.

يتطلب نموذج بحجم ٧ مليار معلمة (7B) ومكمَّن بصيغة Q4_K_M ما يقارب ٤–٥ جيجابايت من ذاكرة وحدة معالجة الرسومات (VRAM) للتشغيل الكامل على GPU. ويمكنك استخدام حاسبة الذاكرة VRAM لتقدير المتطلبات الخاصة بأي نموذج وكمّن محددين قبل التنزيل. أما بالنسبة لقرارات شراء الأجهزة، فإن الأفضل وحدات معالجة الرسومات (GPUs) للنماذج اللغوية الكبيرة المحلية دليل يغطي الخيارات الحالية عبر مختلف الفئات السعرية.

الأسئلة الشائعة

هل يمكنني تشغيل llamafile على رقائق Apple Silicon؟

نعم. يُنتِج llamafile ملفًا تنفيذيًّا أصليًّا بصيغة Mach-O على رقائق Apple Silicon ويستخدم تسريع GPU عبر Metal تلقائيًّا. والأداء جيد جدًّا لنماذج ٧ مليار و١٣ مليار معلمة؛ بينما تُقيَّد النماذج الأكبر حجمًا بعدد الذاكرة الموحَّدة المتاحة. فعلى سبيل المثال، يمكن لجهاز M2 Max أو M3 Pro المزوَّد بـ ٣٦ جيجابايت من الذاكرة الموحَّدة تشغيل نماذج من فئة ٣٠ مليار معلمة بسلاسة.

هل يدعم llamafile النماذج متعددة الوسائط (البصرية)؟

يُبنى llamafile على أساس llama.cpp الذي يدعم النماذج البصرية على غرار LLaVA. وبما أن دعم إدخال الصور في llamafile المحدَّد يعتمد على ما إذا كان النموذج المدمج فيه نموذجًا متعدد الوسائط أم لا، فيجب عليك التحقق من بطاقة النموذج (model card) الخاصة بالملف الذي نزلته — إذ تكمن هذه القدرة في أوزان النموذج وليس في وقت التشغيل.

كيف أوقف الخادم؟

الصحافة اضغط على Ctrl+C في الطرفية التي يجري فيها تشغيل llamafile. وإذا قمت بتشغيله بالنقر المزدوج على أنظمة Windows أو macOS، فقم بإغلاق نافذة الطرفية التي ظهرت، أو أنهِ العملية من «مدير المهام» (Task Manager) أو «مراقب النشاط» (Activity Monitor).

هل يمكنني تشغيل llamafile كخدمة تعمل في الخلفية؟

نعم. على أنظمة Linux، يمكنك تغليفه في ملف وحدة systemd. وعلى أنظمة macOS، يمكنك إنشاء ملف plist لـ launchd. ويقبل llamafile إشارات يونكس القياسية ويعمل مع أي مدير عمليات (process supervisor). وقم بتشغيل ./model.llamafile --help للعثور على العلامة الخاصة بإخفاء علامة التبويب التلقائية للمتصفح عند التشغيل في بيئة بدون واجهة رسومية (headless).

هل llamafile هو نفسه ملف GGUF؟

لا. ملف GGUF يحتوي فقط على أوزان النموذج ويتطلب وقت تشغيل منفصل — مثل llama.cpp أو Ollama أو ما شابه — لتشغيله. أما ملف llamafile فيضمّ الأوزان ووقت التشغيل معًا في ملف واحد. وبما أن الأوزان مُلحقة بصيغة ZIP، يمكنك استخراج ملف GGUF الخام من أي ملف llamafile باستخدام أي أداة قياسية لفك الضغط عن ملفات ZIP واستخدامه في أماكن أخرى. LM Studio, أو ما شابه — لتشغيله. أما ملف llamafile فيضمّ الأوزان ووقت التشغيل معًا في ملف واحد. و بما أن الأوزان مُلحقة بصيغة ZIP، يمكنك استخراج ملف GGUF الخام من أي ملف llamafile باستخدام أي أداة قياسية لفك الضغط عن ملفات ZIP واستخدامه في أماكن أخرى.

كيف يختلف llamafile عن LM Studio؟

LM Studio هو تطبيق سطح مكتب رسومي (GUI) لاكتشاف النماذج واستنتاجها — ويستلزم التثبيت ويدير مكتبةً من النماذج، مما يجعله أقرب إلى Ollama منه إلى llamafile. أما llamafile فهو تنسيق نشر: لا يحتوي على واجهة رسومية، ولا يدير مكتبة نماذج، بل هو مجرد ملف تقوم بتنفيذه. ويناسب LM Studio المستخدمين الذين يفضلون الواجهة المرئية، بينما يناسب llamafile عمليات النشر الآلية أو بدون واجهة مستخدم (headless) أو القابلة للنقل. راجع الدليل الكامل لـ LM Studio للتحليل الكامل.

بقلم مصطفى إحسان

مصطفى إحسان هو مؤسس ومُحرِّر موقع Convly.ai. وقد أنشأ قاعدة بيانات النماذج الحية للذكاء الاصطناعي الخاصة بالموقع، ومؤشر الأداء السعري الخاص به، بالإضافة إلى الحاسبات المجانية لحساب متطلبات الذاكرة VRAM، وتكاليف واجهة برمجة التطبيقات (API)، والاقتصاديات المرتبطة بالاستضافة الذاتية. ويكتب مصطفى عن أسعار النماذج، ونتائج الاختبارات المعيارية، والأجهزة اللازمة لتشغيل نماذج الذكاء الاصطناعي محليًّا، ويعطي دائمًا الأولوية للأرقام المُقاسة بدقة على الادعاءات التي تطلقها الشركات المصنِّعة.

انتقل إلى الأعلى
Featured on There's An AI For That