Ollama أم llama.cpp؟ دليل تشغيل الذكاء الاصطناعي محليًا

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

عايز تكتب مسودات لعملائك أو تلخّص بياناتهم بالذكاء الاصطناعي من غير ما النص يطلع برّه جهازك؟ الحل إنك تشغّل النموذج بنفسك. الأداتين اللي هتقابلهم أول ما تدوّر هما Ollama وllama.cpp، والسؤال المهم مش «مين أسرع» لكن «مين يناسب شغلك».

لماذا تشغّل نموذجًا محليًا أصلًا؟

تشغيل النموذج اللغوي الكبير (LLM) على جهازك أو على السيرفر (Server) الخاص بك يعني أن الأسئلة والإجابات لا تمر على مزوّد خارجي. هذا مهم لمستقل يتعامل مع بيانات عملاء حساسة، أو لصاحب موقع يريد أتمتة دون اشتراك شهري بالـ API.

استخدامات عملية على موقع ووردبريس أو في شغل المستقل:

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

بصراحة: هذا المقال قراءة لمقارنة منشورة ولوثائق الأداتين، وليس تجربة عملية منّا. لم نختبر الأداتين بالعربية هنا، وجودة العربية تعتمد على النموذج الذي تشغّله أكثر مما تعتمد على الأداة.

ما الفرق بين Ollama و llama.cpp؟

الأداتان مفتوحتا المصدر، وتشغّلان نفس عائلة النماذج. الفرق الحقيقي في من يتولى الإعدادات: أنت أم الأداة.

  • llama.cpp هو المحرك نفسه: يقرأ ملف النموذج ويشغّله على المعالج (CPU) أو كرت الشاشة (GPU)، ويعطيك تحكمًا مباشرًا في الذاكرة وعدد الطبقات على الـ GPU.
  • Ollama طبقة فوق المحرك: عند تشغيل نموذج بصيغة GGUF يستخدم llama.cpp في الخلفية، لكنه يدير لك التنزيل والتبديل بين النماذج وتوزيع الحمل على العتاد تلقائيًا.

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

مقارنة سريعة

Ollama أم llama.cpp؟

اختر حسب طريقة شغلك، لا حسب أرقام الاختبارات

المعيارOllamallama.cpp
سهولة البدايةأمر واحد واسم نموذجسهل لكن بخيارات أكثر
إدارة النماذجمكتبة بأسماءملفات GGUF مباشرة
التحكم في GPU والذاكرةتلقائي غالبًايدوي ودقيق
طلبات متزامنة كثيرةيتأخر في بعض النماذجأسرع في اختبار منشور
واجهة API متوافقة مع OpenAIنعمنعم
السعرمفتوح المصدرمفتوح المصدر
ابن موقعك قطعة قطعةarabcms.com

أيهما أسرع؟ الإجابة تعتمد على عدد المستخدمين

لا يوجد فائز ثابت. الاختبارات التي جمعها المصدر تقول ثلاثة أشياء:

  1. لسؤال واحد في المرة: الفرق بين الأداتين صغير، وأحيانًا يتفوق هذا وأحيانًا ذاك، ولن تلاحظه في محادثة عادية.
  2. لطلبات متزامنة كثيرة: في اختبار منشور على نموذج Qwen، كان llama.cpp أسرع بفارق كبير وبدأ الرد أسرع بكثير، لأن نسخة Ollama المختبرة عالجت الطلبات واحدًا تلو الآخر مع ذلك النموذج.
  3. الإعدادات تغيّر النتيجة: ميزات مثل التنبؤ المسبق بعدة توكنات (Speculative Decoding) رفعت سرعة Ollama في نفس الاختبار، لذا لا تبنِ قرارك على رقم واحد.

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

كم ذاكرة تحتاج؟

الأداتان تعملان على المعالج وحده، وتدعمان كروت NVIDIA وAMD وIntel وأجهزة Mac بمعالجات Apple Silicon. لكن الذاكرة هي التي تحدد حجم النموذج الذي يمكنك تشغيله.

السر في التكميم (Quantization): ضغط النموذج إلى دقة أقل مثل 4 بت (Q4_K_M) ليصغر حجمه. هذه تقديرات المصدر التقريبية لنموذج مكمَّم بـ 4 بت مع نافذة سياق (Context Window) حوالي 8 آلاف توكن:

حجم النموذجذاكرة كرت الشاشة المستخدمة تقريبًاما يُنصح به
3B–4B3–4GB4–6GB
7B–8B6–7GB8GB
12B–14B10–12GB16GB

إذا لم يكن لديك كرت شاشة، يذكر المصدر أن جهازًا بذاكرة 16GB يمكنه تشغيل نموذج 8B على المعالج، لكن الردود ستكون أبطأ. وعلى أجهزة Mac الحديثة يتشارك المعالج والـ GPU نفس الذاكرة.

ملاحظة: إذا لم تكفِ ذاكرة كرت الشاشة (VRAM)، تنقل الأداتان جزءًا من العمل إلى المعالج والذاكرة العادية. سيعمل النموذج، لكن ببطء ملحوظ. في Ollama اكتب ollama ps لترى هل حُمِّل النموذج بالكامل على الـ GPU أم لا.

على سيرفر VPS: ما الذي يتغير للمستقل في مصر والمنطقة؟

أغلب سيرفرات VPS الرخيصة بلا كرت شاشة، فستعمل على المعالج وحده. هنا تفيدك قاعدتان:

  • ابدأ بنموذج صغير (1B إلى 4B) للمهام البسيطة مثل التصنيف والتلخيص القصير، ووفّر النماذج الأكبر لجهاز أقوى.
  • llama.cpp يعطيك تحكمًا أكبر في عدد خيوط المعالج وعدد الطبقات على الـ GPU، وهذا ما تحتاجه على عتاد محدود.

أما سيرفرات GPU السحابية فتُحسب بالساعة أو بالرصيد. انتبه: بعض المزودين يستمرون في الخصم والسيرفر خامل حتى تحذفه بالكامل، ويذكر المصدر ذلك صراحة عن خدمة Hostinger. احفظ ملفاتك خارجه قبل الحذف.

التثبيت وأول محادثة

على Linux يثبّت كل منهما بأمر واحد، كما يذكر المصدر. وعلى Windows وmacOS توجد تطبيقات سطح مكتب بواجهة محادثة.

# Ollama
curl -fsSL https://ollama.com/install.sh | sh

# llama.cpp
curl -LsSf https://llama.app/install.sh | sh

ثم شغّل نفس النموذج الصغير في الاثنين للمقارنة:

# Ollama
ollama run hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF:Q4_K_M

# llama.cpp (Llama app installation)
llama cli -hf bartowski/Llama-3.2-1B-Instruct-GGUF:Q4_K_M

ملاحظة: إذا ثبّت llama.cpp عبر Homebrew فالأمر هو llama-cli بشرطة، وفي تطبيق Llama هو llama cli بمسافة. الخيارات نفسها تعمل في الحالتين.

لعرض النماذج المحمّلة: ollama ls في Ollama، وllama cli -cl في llama.cpp. ولفتح ملف GGUF موجود عندك مباشرة: llama cli -m model.gguf.

اربطه بتطبيقاتك عبر الـ API

الأداتان توفران الـ API متوافقًا مع صيغة OpenAI، فأي تطبيق يسمح بتغيير «Base URL» يمكنه استخدام نموذجك المحلي بدل خدمة مدفوعة.

  • Ollama: الـ API متاح ما دامت خدمة Ollama تعمل، على العنوان http://localhost:11434/v1.
  • llama.cpp: شغّل السيرفر بـ llama serve (تطبيق Llama) أو llama-server (نسخة Homebrew)، واستخدم العنوان الذي يطبعه عند التشغيل.

في n8n مثلًا، تضع هذا العنوان في إعدادات اعتماد OpenAI أو تستخدم عقدة Ollama، ثم تختار اسم النموذج.

تحذير: لا تفتح منفذ الـ API للإنترنت كما هو. ضع مصادقة واقصر الوصول على عناوين IP محددة أو على شبكة داخلية، وإلا سيستخدم أي شخص نموذجك على حساب سيرفرك.

خصّص المساعد: إعدادات جاهزة للنسخ

تريد مساعد كتابة يرد باختصار ولغة بسيطة؟ في Ollama تحفظ إعداداته في ملف نصي اسمه Modelfile:

FROM hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF:Q4_K_M
PARAMETER num_ctx 8192
PARAMETER temperature 0.3
SYSTEM Keep answers brief and use plain language.

num_ctx يحدد نافذة السياق، وtemperature 0.3 يجعل الإجابات أقل عشوائية، وSYSTEM تعليمة ثابتة للنموذج. ثم أنشئ المساعد وشغّله:

ollama create writing-helper -f Modelfile
ollama run writing-helper

الإعدادات نفسها في llama.cpp تُمرَّر كخيارات، مع تحكم إضافي في عدد الطبقات على الـ GPU:

llama-cli -hf bartowski/Llama-3.2-1B-Instruct-GGUF:Q4_K_M -c 8192 --temp 0.3 -ngl 8

الخيار -ngl 8 يضع ثماني طبقات فقط على كرت الشاشة ويترك الباقي للمعالج، وهو مفيد عندما لا تكفي الذاكرة لتحميل النموذج كاملًا.

أيهما تختار؟

هدفكالاختيار الأنسب
أول تجربة لنماذج محليةOllama
مساعد شخصي أو ربط سريع مع n8nOllama
تشغيل ملف GGUF موجود عندكllama.cpp
جهاز بلا GPU أو بذاكرة GPU محدودةllama.cpp
خدمة عدة مستخدمين في نفس الوقتجرّب الاثنين على نفس النموذج

ابدأ بـ Ollama إن كنت جديدًا، وانتقل إلى llama.cpp عندما تحتاج تحكمًا أدق في العتاد أو أداءً أعلى مع طلبات متزامنة.

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

س: هل Ollama مجاني؟
ج: نعم، Ollama وllama.cpp مفتوحا المصدر ومجانيان. التكلفة الحقيقية هي العتاد: جهازك أو سيرفر VPS أو سيرفر GPU سحابي بالساعة.

س: هل أحتاج كرت شاشة لتشغيل الذكاء الاصطناعي محليًا؟
ج: لا. الأداتان تعملان على المعالج وحده، لكن الردود أبطأ. النماذج الصغيرة (1B إلى 4B) هي الأنسب لجهاز أو سيرفر بلا GPU.

س: هل تدعم النماذج المحلية اللغة العربية؟
ج: يعتمد ذلك على النموذج وليس على Ollama أو llama.cpp. النماذج الصغيرة جدًا أضعف عادة في اللغات غير الإنجليزية، فاختبر النموذج على نصوص عربية من شغلك قبل الاعتماد عليه.

س: هل يمكن ربط Ollama بموقع ووردبريس؟
ج: نعم، عبر أي إضافة أو أداة أتمتة تقبل عنوان API متوافقًا مع OpenAI. ضع عنوان سيرفر Ollama واسم النموذج، واحمِ المنفذ بمصادقة.

الخلاصة

Ollama هو الأسهل للبداية وإدارة النماذج، وllama.cpp هو الأقوى عندما تحتاج تحكمًا في العتاد أو خدمة عدة مستخدمين معًا. وبما أنهما يقرآن نفس ملفات GGUF، فاختيارك الأول ليس نهائيًا.

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

مرجع المقال (بالإنجليزية): Ollama vs. llama.cpp: Which local AI tool should you use?
المقال ده مش ترجمة حرفية: متكيّف للقارئ العربي ومضاف عليه سياق ووردبريس وElementor وJetEngine.

اترك تعليقاً