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

llamafile: تشغيل أي نموذج لغة كملف تنفيذي محمول واحد

  • يجمع llamafile نموذج GGUF ومحرك الاستدلال llama.cpp في ملف تنفيذي واحد يعمل على Linux و macOS و Windows و FreeBSD وغيرها — بدون الحاجة إلى التثبيت.
  • تشغيل ./model.llamafile وتفتح واجهة دردشة المتصفح تلقائياً؛ يتم تقديم API متوافق مع OpenAI على http://localhost:8080/v1.
  • لا يمكن تشغيل الملفات الأكبر من 4 GB مباشرة على Windows — استخدم تكميماً أصغر أو قم بتشغيل وقت التشغيل و GGUF بشكل منفصل.
  • Best for air-gapped machines, USB deployment, and one-file sharing. Ollama is better for managing multiple models long-term.

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

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

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

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

تحميل وتشغيل llamafile

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

Linux و macOS

# اجعل الملف قابلاً للتنفيذ — الملفات المحملة تفتقر بت التنفيذ بشكل افتراضي
chmod +x mistral-7b-instruct.llamafile

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

# استدلال CLI لمرة واحدة بدون بدء الخادم
./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

ثم انقر نقراً مزدوجاً عليه في Explorer أو قم بتشغيله من Command Prompt. يفتح تبويب متصفح تلقائياً.

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

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

تشغيل llamafile بدون العلم -p يبدأ خادم HTTP ويفتح المتصفح الافتراضي لديك على http://localhost:8080. الواجهة هي تطبيق صفحة واحدة مكتفي ذاتياً بدون تبعيات CDN خارجية — يعمل بالكامل دون اتصال بالإنترنت. إنها تفضح:

  • إعدادات المحفز النظام
  • معاملات الأخذ العينات: درجة الحرارة وtop-p وtop-k وعقوبة التكرار
  • عرض عدد الرموز
  • سجل محادثة مستمر في الجلسة

يمكن لأي جهاز على شبكة LAN الخاصة بك الوصول إلى الواجهة إذا بدأت الخادم مع --host 0.0.0.0.

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

بينما الخادم قيد التشغيل، يكشف llamafile عن واجهة REST متوافقة مع OpenAI على http://localhost:8080/v1. يمكن لأي عميل SDK OpenAI أو تكامل LangChain أو LlamaIndex استهدافه بتجاوز URL الأساسي:

curl http://localhost:8080/v1/chat/completions 
  -H "Content-Type: application/json" 
  -d '{
    "model": "local",
    "messages": [{"role": "user", "content": "مرحبا"}]
  }'

في Python، اضبط base_url="http://localhost:8080/v1" وأي سلسلة غير فارغة كمفتاح API عند إنشاء عميل 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 محلياً وتعرض واجهات برمجية متوافقة مع OpenAI. تحل كل منهما مشاكل مختلفة. انظر إلى دليل Ollama الكامل لمزيد من التفصيل حول الجانب الآخر من هذه المقارنة.

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

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

إذا كنت تدير مكتبة نماذج، أو ترغب في تحديثات تلقائية، أو تغيير النماذج بشكل متكرر داخل الجلسة نفسها. self-hosting vs API break-even calculator يمكن لـ

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

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

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

الأسئلة المتكررة

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

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

هل يدعم 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 is a GUI desktop application for model discovery and inference — it requires installation and manages a library of models, making it closer to Ollama than to llamafile. llamafile is a deployment format: no GUI, no model library, just a file you execute. LM Studio suits users who want a visual interface; llamafile suits automated, headless, or portable deployments. See the دليل LM Studio الكامل للتحليل الكامل.

كتبه مصطفى إحسان

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

انتقل إلى الأعلى