المستوى: مبتدئ — وقت القراءة: حوالي 7 دقائق
تقدر تشغّل نموذج لغوي كبير زي Llama 3.3 على لابتوبك في أقل من 15 دقيقة، بدون اشتراك شهري وبدون ما تبعت أي بيانات لسيرفر بره. الأداة اسمها Ollama، وحجم التحميل الأولي 4.7 جيجا فقط لنسخة الـ 8B parameters، وبتشتغل بأمر واحد.
ليه أصلًا تشغّل LLM محليًا بدل ما تستخدم ChatGPT؟
المشكلة باختصار
لما تستخدم ChatGPT أو Claude، كل سؤال بيروح لسيرفرات OpenAI أو Anthropic. ده كويس للسرعة والجودة، بس فيه 3 مشاكل بتقابل المطورين العرب: الاشتراك الشهري اللي ممكن يطلع $20 لكل مستخدم في الشركة، البيانات الحساسة اللي بتسيب جهازك (كود الشركة، بيانات العملاء، عقود)، والاعتماد على اتصال انترنت ثابت.
مثال يقرّب الفكرة قبل التعريف العلمي
تخيّل إن عندك مترجم فوري في شغلك. عندك خياران: تتصل بمكتب ترجمة كل مرة محتاج ترجمة (ده الـ Cloud API)، أو توظّف مترجم يقعد في مكتبك ومعاك على طول (ده الـ Local LLM). المترجم المكتبي أبطأ شوية ومش بنفس مستوى أحسن مترجم في السوق، بس مش هيشوف وثائقك حد تاني، ومش هتدفعله بالكلمة، وموجود حتى لو الانترنت قطع.
Ollama هو الأداة اللي بتخلّي عملية "توظيف المترجم في مكتبك" دي تتم في 4 أوامر فقط، بدون ما تتعامل مع تعقيدات إعداد GPU، quantization، ولا compilation يدوي.
التعريف العلمي الدقيق لـ Ollama
Ollama هي runtime مكتوبة بلغة Go، بتعتمد على مكتبة llama.cpp اللي عملها Georgi Gerganov في مارس 2023. llama.cpp بتشغّل النماذج المحوّلة لصيغة GGUF (وهي صيغة quantized بترفع عدد الـ parameters اللي يقدر يتسع في الذاكرة عبر تخفيض دقة كل وزن من 16-bit لـ 4-bit أو 8-bit). Ollama بتضيف فوقها HTTP server بـ REST API على المنفذ 11434، فتقدر تكلّم النموذج من أي تطبيق بطريقة متوافقة مع OpenAI API بدون تعديل تقريبًا.
التثبيت والتشغيل في 4 خطوات
الخطوات دي مجرّبة على macOS Sequoia 15 و Ubuntu 24.04. على ويندوز استخدم WSL2 لأن النسخة الأصلية لسه فيها قيود على بعض الـ GPUs.
- التثبيت بأمر واحد — Ollama بتثبت نفسها كـ background service.
- تحميل النموذج — Ollama هتختار الـ quantization المناسب لذاكرتك تلقائيًا.
- التشغيل التفاعلي — في الـ terminal مباشرة، زي ChatGPT بس offline.
- الاستدعاء البرمجي — من Python أو أي لغة عبر REST API.
# 1) التثبيت على macOS أو Linux
curl -fsSL https://ollama.com/install.sh | sh
# 2) تحميل وتشغيل Llama 3.3 (نسخة 8B parameters، حجم 4.7GB)
ollama pull llama3.3:8b
# 3) اسأل النموذج مباشرة
ollama run llama3.3:8b "اشرح ما هو RAG في 3 جمل بالعربي"
# 4) شغّله كـ API server في الخلفية
ollama serve &النموذج هيردّ في 5 لـ 8 ثواني على M1 Mac بـ 16GB RAM، أو 12 لـ 18 ثانية على لابتوب فيه Intel i7 الجيل العاشر بدون GPU. لو عندك GPU من NVIDIA بـ 8GB VRAM (زي RTX 3060)، الزمن بينزل لـ 1 لـ 2 ثانية للجملة الواحدة، وده الفرق اللي بيخلّي التجربة تحس إنها instant.
استدعاء Ollama من Python في 8 سطور
لو عايز تبني تطبيق فوقه (chatbot داخلي، أداة تحليل نصوص، RAG محلي على وثائق شركتك)، الكود بسيط:
import requests
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": "llama3.3:8b",
"prompt": "ما هي مزايا تشغيل LLM محليًا؟",
"stream": False
}
)
print(response.json()["response"])الـ endpoint ده متوافق جزئيًا مع OpenAI API، يعني لو عندك كود قديم بيكلّم gpt-4، تقدر تغيّر فقط الـ base URL لـ http://localhost:11434/v1 ويشتغل على Ollama بدون تعديل في المنطق نفسه.
الـ Trade-offs اللي محدش بيقولهالك
الموضوع مش وردي. هتكسب الخصوصية وتوفير الفلوس، بس هتدفع تمن في 4 نقاط حقيقية:
- الجودة: Llama 3.3 8B بيجيب حوالي 68% على benchmark MMLU، مقابل أرقام أعلى بكثير لنماذج زي GPT-4 و Claude Sonnet. للمهام البسيطة (تلخيص، تصنيف، استخراج كيانات) الفرق مش محسوس عمليًا. للاستدلال الرياضي والمنطقي المعقّد، الفرق بيبان.
- السرعة بدون GPU: على لابتوب CPU-only، تجربة المستخدم بتبقى أبطأ بـ 10-15 مرة من الـ cloud APIs. لو شغلك chatbot بيتفاعل مع مستخدمين، ده هيبقى مشكلة.
- استهلاك البطارية: النموذج وهو شغّال بيستهلك ما بين 30 و 70 وات (حسب الـ hardware). بطارية اللابتوب بتنزل أسرع 2 لـ 3 مرات من المعتاد.
- الذاكرة: نسخة الـ 8B بتاخد 5GB RAM وهي شغّالة. نسخة 70B محتاجة 48GB. مفيش وسط — لو ذاكرتك أقل من 16GB، ابدأ بـ 8B وخلاص.
متى لا تستخدم Ollama
لو شغلك chatbot production بيخدم آلاف المستخدمين بالتوازي، Ollama على لابتوب مش الحل — هتحتاج سيرفر فيه GPU زي A100 أو H100 و serving framework متخصص زي vLLM علشان throughput محترم. لو دقة الإجابة حرجة (تطبيقات طبية، قانونية، مالية)، الفرق في الدقة بين النموذج المحلي الصغير والنموذج الـ frontier السحابي بيبقى فرق حقيقي بين قرار صح وقرار غلط بيكلّفك. ولو محتاج multimodality (صور وصوت)، النماذج المحلية لسه ورا في النقطة دي.
الخطوة التالية
افتح الـ terminal دلوقتي، نفّذ السطرين الأول والتاني فوق، واسأل النموذج عن أصعب موضوع تقني بتشتغل عليه دلوقتي. لو الإجابة كويسة كفاية لاستخدامك اليومي، انت وفّرت اشتراك سنوي بـ $240. لو لأ، عرفت بدقة قبل ما تبني تطبيق إن المحلي مش هيقطع عندك، وممكن تروح للـ cloud وانت مرتاح. الاتنين ربح.
المصادر
- توثيق Ollama الرسمي ومكتبة النماذج: ollama.com/library/llama3.3
- مكتبة llama.cpp على GitHub (المحرّك الفعلي تحت Ollama): github.com/ggerganov/llama.cpp
- ورقة Llama 3 — The Llama 3 Herd of Models، Meta AI 2024: arxiv.org/abs/2407.21783
- توثيق صيغة GGUF على GitHub: github.com/ggml-org/ggml/docs/gguf.md
- توثيق REST API لـ Ollama: github.com/ollama/ollama/docs/api.md
- توثيق MMLU benchmark — Hendrycks et al. 2021: arxiv.org/abs/2009.03300