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

مقارنة بين Ollama وllama.cpp (2026): ما الفرق بينهما، وأيهما يجب أن تختار؟

مقارنة llama.cpp وOllama تُعد مقارنة غير مألوفة، لأنهما ليسا في الواقع منافسين: فـOllama مبنية على قاعدة llama.cpp. والسؤال الصادق ليس أيُّهما أفضل، بل كم طبقة من الراحة تريدها بينك وبين محرك الاستنتاج.

Quick answer

Ollama هي عبارة عن llama.cpp مع مدير نماذج، وخدمة خلفية، وواجهة برمجة تطبيقات (API) متوافقة مع OpenAI. استخدم Ollama ما لم تكن بحاجة إلى شيءٍ عمَّدَ Ollama إخفاءه: مثل إعدادات التجميع المخصصة، أو صيغ التكمين (quantisation) المتطورة جدًّا، أو واجهات الأجهزة غير المألوفة، أو القدرة على دمج عملية الاستنتاج مباشرةً داخل ملف تنفيذي بلغة C++ أو Python. أما llama.cpp الخام فتوفر أقصى درجات التحكم وأدنى درجات الراحة، بينما توفر Ollama العكس تمامًا، مع تكلفة أداءٍ تكون عادةً ضئيلة جدًّا.

ما الذي تقوم به كل طبقة فعليًّا

llama.cppOllama
ما هو هذا الشيءمحرك الاستنتاج (C/C++)غلاف حول ذلك المحرك
إدارة النماذجتقوم أنت بالبحث عن ملفات GGUF ووضعها يدويًّاollama pullمكتبة مُصدَّرة حسب الإصدار
الخادمllama-serverيُشغَّل يدويًّاخدمة تعمل باستمرار على المنفذ 11434
التهيئةعشرات العلمات (flags) الخاصة بسطر الأوامر، مع تحكم كاملقيم افتراضية معقولة، وملفات النماذج (modelfiles) لإعادة تعريفها عند الحاجة
خيارات التجميعتجميع البرمجية خصيصًا لجهازك المحددملفات تنفيذية مُجمَّعة مسبقًا
منحنى التعلُّمحاد جدًّادقائق
الأفضل لـالدمج في التطبيقات، والأبحاث، وضبط كل المعايير بدقةالتطبيقات، والأتمتة، والاستخدام اليومي

متى يكون استخدام llama.cpp الخام مبرَّرًا

توجد أربع حالات تبرِّر حقًّا تجاوز الغلاف البرمجي. أولًا، دمج عملية الاستنتاج داخل ملفك التنفيذي الخاص — فـllama.cpp مكتبة، بينما Ollama خدمة يجب أن تُوزَّع جنبًا إلى جنب مع تطبيقك. ثانيًا، صيغ التكمين الجديدةالتي تظهر أولًا في المشروع الأصلي (upstream)، وقد تستغرق أسابيع حتى تظهر في المكتبة المُدارة. ثالثًا، أجهزة غير مألوفة — مثل علمات التجميع المحددة لوحدات معالجة الرسومات القديمة، أو مسرِّعات غير تقليدية، أو مجموعات التعليمات الخاصة بمعالجات CPU. رابعًا، استخلاص آخر بضعة نقاط مئوية من الأداء— إذ إن تجميع البرنامج خصيصًا لوحدة المعالجة المركزية لديك، وضبط عدد الخيوط وحجم الدفعات (batch sizes)، قد يتفوق على الملفات التنفيذية المُجمَّعة مسبقًا العامة، رغم أن المكاسب تكون عادةً في حدود نقطة مئوية واحدة أو اثنتين، وليس تحسينات جذرية.

ما تتخلى عنه

كل ما يضيفه Ollama، ستحتاج إلى إعادة بنائه بنفسك: تنزيل ملفات GGUF وتنظيمها، والحفاظ على تشغيل الخادم، وإدارة النموذج المحمل حاليًّا، وكتابة واجهة برمجة التطبيقات (API) التي تتوقعها تطبيقاتك. ولمعظم المشاريع، يتطلب ذلك أيامًا من العمل لإعادة إنشاء شيءٍ موجودٍ بالفعل ومُدارٍ جيدًا. أما دليلنا الخاص بـ دليل Ollama فيغطي ما تتضمَّنه هذه الطبقة المُيسِّرة، وكذلك قائمة النماذج يُظهر المكتبة التي كنت ستُنظِّمها يدويًّا.

Convly’s take

إذا كنت تطرح هذا السؤال أصلًا، فاستخدم Ollama. أما الأشخاص الذين يحتاجون حقًّا إلى llama.cpp الخام — مثل مساهمي محركات التنفيذ، ومطوري الاستنتاج المدمج، ومحرِّكي الأجهزة — فإنهم يعرفونه بالفعل، وهم لا يقارنون بين الأدوات؛ بل يُجرِّبون عملية التجميع. أما المسار العملي الوسطي للغالبية العظمى فهو استخدام Ollama مع ملف النموذج (modelfile): فتحصل على أطوال سياق مخصصة، وتعليمات نظام (system prompts) ومواصفات عيّنة (sampling parameters) دون الحاجة إلى امتلاك سلسلة أدوات البناء. الجأ إلى llama.cpp فقط عندما يفرض عليك متطلبٌ محدَّدٌ وواضحٌ ذلك، وليس من أجل سرعةٍ قد لا تلاحظها أصلًا.

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

هل يستخدم Ollama مكتبة llama.cpp؟

نعم. إن مسار الاستنتاج في Ollama مبنيٌّ على llama.cpp، ولذلك يُنفِّذ كلاهما ملفات نماذج GGUF نفسها ويُحقِّقان أداءً متشابهًا عند استخدام نفس الإعدادات.

هل تتفوَّق سرعة llama.cpp على Ollama؟

بدرجة ضئيلة جدًّا، إذا قمت بترجمته (compiling) خصيصًا لجهازك الدقيق وضبطت العلمات (flags) بدقة. أما عند التشغيل القياسي (out of the box) باستخدام نفس النموذج ونفس درجة التكميم (quantisation)، فإن الفرق ضئيلٌ جدًّا — ومعظم الفروق المُبلَّغ عنها تعود إلى اختلاف أطوال السياق أو إعدادات تفويض المعالجة إلى وحدة معالجة الرسوميات (GPU-offload)، وليس إلى الاختلاف بين المحركين.

هل يمكنني استخدام ملفات GGUF الخاصة بي المُنشأة عبر llama.cpp مع Ollama؟

نعم — فملف النموذج (modelfile) الذي يشير إلى ملف GGUF محلي يُدرجه تلقائيًّا في Ollama، وبالتالي يمكنك الاحتفاظ بالملفات التي حمَّلتها مسبقًا بدلًا من إعادة تنزيلها.

أيُّها يجب أن يتعلَّمه المبتدئ أولاً؟

Ollama. فهو يُعلِّم المفاهيم الجوهرية — كالتكثيف (quantisation)، وطول السياق (context length)، وحدود الذاكرة — دون الحاجة إلى خطوة بناء (build step). أما llama.cpp فيصبح أكثر منطقية بمجرد أن تعرف بالضبط ما الذي تريد تغييره.

انظر أيضًا Ollama مقابل LM Studio و vLLM مقابل Ollama.

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

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

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