تشغيل نماذج الذكاء الاصطناعي محليًا مع Ollama
تعيش النماذج الرائدة في السحابة، لكن فئة كاملة من النماذج مفتوحة الأوزان — Llama وMistral وQwen وDeepSeek وGemma — يمكنك تنزيلها وتشغيلها على حاسوبك المحمول أو خادمك. يُعدّ Ollama أبسط طريقة لفعل ذلك: تثبيت واحد، وأمر واحد، فيعمل النموذج محليًا. تأخذك هذه الصفحة من الصفر إلى نموذج يعمل، ثم إلى استدعائه من الكود، وتعرّفك بالمفاضلات حتى لا تتوقع من نموذج محلي بحجم 7B أن يتصرف كنموذج رائد.
- اعرف لماذا تشغّل نموذجًا محليًا — والمفاضلات الصريحة مقارنةً بالنماذج الرائدة في السحابة
- ثبّت Ollama وشغّل أول نموذج لك بأمرين
- استخدم واجهة سطر الأوامر الأساسية: pull وrun وlist وps وrm وstop
- استدعِ نموذجك المحلي من الكود عبر واجهة Ollama المتوافقة مع OpenAI
- افهم احتياجات الذاكرة (RAM) وأحجام النماذج والتكميم، لتختار نموذجًا يستطيع جهازك تشغيله فعلًا
- اعرف متى يكون LM Studio (واجهة رسومية) نقطة بداية أفضل
لماذا تشغّل نموذجًا محليًا (ومتى لا تفعل)
تشغيل نموذج على عتادك الخاص يمنحك أربعة أشياء:
- الخصوصية — لا تغادر مطالباتك (prompts) وبياناتك جهازك أبدًا. وهذا هو السبب الذي يدفع الفرق العاملة في المجالات المنظَّمة أو الحساسة إلى النماذج المحلية. (انظر مفترق الخصوصية/الاستضافة الذاتية في اختيار نموذج.)
- دون اتصال — لا إنترنت ولا واجهة API ولا اعتماد على انقطاع الخدمة. النموذج ملف على قرصك.
- التكلفة — لا فاتورة لكل رمز (token). بعد التنزيل يصبح تشغيله «مجانيًا» (تدفع كهرباءً وعتادًا، لا نفقات API). وإذا كان إنفاق الرموز هو قيدك على نطاق واسع، فقد يتفوق الحل المحلي.
- التحكم — ثبّت إصدارًا بعينه، وخصّص السلوك، وادمج دون حدود معدّل الطلبات ودون مفاجآت في شروط الخدمة.
المفاضلات الصريحة:
- فجوة القدرات. النموذج الذي يمكنك تشغيله على حاسوب محمول (من 1B إلى 14B معامل) ليس في مستوى النموذج الرائد السحابي في الاستدلال الصعب أو السياق الطويل أو المهام الوكيلية. في كثير من المهام اليومية تكون الفجوة صغيرة، أما في أصعبها فهي كبيرة.
- العتاد. تحتاج النماذج الأكبر والأقدر إلى ذاكرة RAM/VRAM أكثر مما في الجهاز المعتاد. وكثيرًا ما تختار أكبر نموذج يستطيع عتادك تشغيله، لا أفضل نموذج موجود.
- أنت من يشغّله. لا توسيع نطاق مُدار ولا ترقيات تلقائية — هذا ثمن التحكم.
نمط شائع ودائم: ابنِ نموذجًا أوليًا واختر عبر تقييم صغير (الطريقة نفسها المتبعة مع النماذج السحابية — انظر اختيار نموذج)، واستخدم النموذج المحلي للأعمال الخاصة/دون اتصال/الرخيصة على نطاق واسع، وارجع إلى واجهة API رائدة حين تحتاج المهمة فعلًا إلى القدرة الإضافية.
ثبّت Ollama وشغّل أول نموذج
- macOS وWindows: نزّل المثبّت من ollama.com/download وشغّله. Linux: استخدم سكربت التثبيت الرسمي (أدناه). يثبّت هذا الأمر ollama وخدمة محلية تعمل في الخلفية.
- ollama run <model> ينزّل النموذج عند أول استخدام (وقد يبلغ عدة غيغابايت)، ثم ينقلك إلى محادثة تفاعلية. التشغيل الأول بطيء لأنه يسحب الأوزان؛ وما بعده فوري.
- اكتب مطالبة واضغط Enter. للخروج من الجلسة التفاعلية اكتب /bye (أو اضغط Ctrl+D). يبقى النموذج مخزّنًا مؤقتًا على القرص للمرة القادمة.
- استخدم ollama list لعرض النماذج المثبّتة، وollama rm <model> لحذف أحدها واسترداد مساحة القرص.
التثبيت على Linux (يستخدم macOS/Windows المثبّت الذي نزّلته بدلًا من ذلك):
curl -fsSL https://ollama.com/install.sh | sh
اسحب نموذجًا صغيرًا وشغّله (اختيار أول جيد)
ollama run gemma4:e2b
هذا الأمر الواحد ينزّل gemma4:e2b — النموذج الذي يبدأ به دليل البدء السريع الخاص بـ Ollama، وهو إصدار من Gemma 4 بحجم الأجهزة الطرفية بنحو 2.3B معامل فعّال وبضعة غيغابايت على القرص — ويبدأ محادثة تفاعلية. وإن أردت التنزيل فقط دون محادثة بعد، فاستخدم ollama pull بدلًا منه.
واجهة سطر الأوامر الأساسية
حفنة من الأوامر تغطي تقريبًا كل شيء. شغّل ollama --help للقائمة الكاملة.
# Download a model without starting a chat
ollama pull qwen3
# Start an interactive chat (downloads first if needed)
ollama run qwen3
# One-shot: pass the prompt inline, get the answer, exit
ollama run qwen3 "Summarize the CAP theorem in two sentences."
# List models you've downloaded
ollama list
# Show models currently loaded in memory
ollama ps
# Stop a running/loaded model (frees memory)
ollama stop qwen3
# Delete a downloaded model to reclaim disk
ollama rm qwen3
داخل جلسة ollama run التفاعلية، اكتب /bye للخروج و/? لعرض أوامر الجلسة. أما الخدمة الخلفية التي تقدّم النماذج فعليًا فتبدأ بالأمر ollama serve (يشغّلها تطبيق سطح المكتب تلقائيًا نيابةً عنك).
استدعِه من الكود (واجهة API متوافقة مع OpenAI)
هذا هو الجزء الذي يجعل النماذج المحلية مفيدة حقًا في التطبيقات. تكشف خدمة Ollama الخلفية واجهة HTTP محلية على العنوان http://localhost:11434، على المنفذ الافتراضي 11434. لها نقاط نهاية أصلية خاصة بها (/api/generate و/api/chat) وطبقة متوافقة مع OpenAI على /v1 — لذا فإن معظم الكود المكتوب لحزمة OpenAI SDK يعمل مع نموذجك المحلي بتغيير سطرين فقط.
HTTP خام باستخدام curl (نقطة النهاية الأصلية):
curl http://localhost:11434/api/chat -d '{
"model": "gemma4:e2b",
"messages": [
{ "role": "user", "content": "Why is the sky blue?" }
],
"stream": false
}'
من Python باستخدام حزمة OpenAI SDK الرسمية — وجّه base_url إلى Ollama ومرّر أي api_key غير فارغ (يشترط Ollama وجود الحقل لكنه يتجاهل قيمته):
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama", # required by the SDK, ignored by Ollama
)
response = client.chat.completions.create(
model="gemma4:e2b",
messages=[
{"role": "system", "content": "You are a concise assistant."},
{"role": "user", "content": "Explain gradient descent in two sentences."},
],
)
print(response.choices[0].message.content)
ولأنها متوافقة مع OpenAI، فإن الأنماط نفسها التي تستخدمها مع واجهة API مستضافة تنتقل كما هي — بما في ذلك البث المتدفق (streaming) واستخدام الأدوات / استدعاء الدوال، وهي تعمل محليًا كما تعمل في السحابة (شرط أن يكون النموذج جيدًا فيها فعلًا). تغطي طبقة /v1 في Ollama المسارات /v1/chat/completions و/v1/completions و/v1/responses و/v1/models (و/v1/models/{model}) و/v1/embeddings.
العتاد وأحجام النماذج والتكميم
الرقم الذي تراه مرفقًا باسم النموذج — 1B أو 7B أو 8B أو 70B — هو عدد معاملاته (بالمليارات). المزيد من المعاملات يعني عمومًا نموذجًا أقدر وأشد استهلاكًا للذاكرة. والحد العملي لما يمكنك تشغيله هو الذاكرة RAM (وعلى وحدة معالجة الرسوم GPU هو VRAM).
التكميم (Quantization) هو الحيلة الأساسية التي تجعل ذلك ممكنًا على أجهزة عادية. تُخزَّن أوزان النموذج في الأصل بدقة عالية (مثل 16 بت)، لكن يمكن ضغطها إلى نحو 4 بت بكلفة جودة صغيرة وغالبًا لا تكاد تُلحظ. يوزّع Ollama معظم النماذج مكمَّمة افتراضيًا — ولهذا يتسع نموذج بمليارات المعاملات في بضعة غيغابايت. قاعدة تقريبية (تحقق منها في صفحة النموذج المعني):
- نماذج ~1B–3B: تعمل براحة على معظم الحواسيب المحمولة الحديثة (بضعة غيغابايت من RAM).
- نماذج ~7B–8B: النقطة المثلى بين القدرة وإمكان التشغيل؛ خصّص عدة غيغابايت من الذاكرة الحرة.
- نماذج ~13B–14B: تحتاج إلى جهاز ذي مواصفات جيدة نسبيًا.
- نماذج ~70B+: تحتاج إلى محطة عمل/خادم بذاكرة كبيرة أو وحدة GPU قوية — وليست من نطاق الحاسوب المحمول المعتاد.
وصفة عملية: ابدأ بنموذج صغير (gemma4:e2b)، وتأكد من سير العمل من البداية إلى النهاية، ثم اصعد إلى أكبر نموذج لا يزال يعمل بسلاسة على عتادك — لا إلى أكبر نموذج موجود.
LM Studio: بديل برسومات
إن لم يكن سطر الأوامر مناسبًا لك، فإن LM Studio تطبيق لسطح المكتب (macOS وWindows وLinux) يؤدي العمل نفسه عبر واجهة رسومية: تصفّح النماذج المفتوحة وتنزيلها، والدردشة معها في واجهة مدمجة، وكما يفعل Ollama، تشغيل خادم محلي متوافق مع OpenAI ليتمكن الكود من التخاطب معه. وهو نقطة الدخول الأسهل لغير المطورين أو لمن يفضّل الإشارة والنقر على الطرفية؛ أما Ollama فيميل إلى التفوق حين تريد واجهة أوامر قابلة للبرمجة النصية وخدمة خلفية خفيفة. كلاهما يشغّل أنواع النماذج مفتوحة الأوزان نفسها، فتنتقل مفاهيم هذه الصفحة مباشرة.
اختبر نفسك
0/4- محلي = خصوصية + دون اتصال + بلا كلفة لكل رمز + تحكم؛ والمقابل فجوة قدرات حقيقية وحدود العتاد.
- أمران يشغّلانك: ثبّت Ollama ثم ollama run gemma4:e2b.
- الأوامر الأساسية: pull (تنزيل) وrun (دردشة) وlist وps وstop وrm — وهذا معظم ما تحتاجه.
- استدعِه من الكود عبر نقطة النهاية المتوافقة مع OpenAI: base_url هو http://localhost:11434/v1 وأي api_key غير فارغ.
- عدد المعاملات + التكميم يحددان ما إذا كان جهازك يستطيع تشغيل نموذج — ابدأ صغيرًا ثم اصعد إلى ما يعمل بسلاسة.
- تفضّل واجهة رسومية؟ LM Studio يؤدي العمل نفسه بالإشارة والنقر، ويكشف أيضًا خادمًا محليًا متوافقًا مع OpenAI.
المصادر وقراءات إضافية
- Ollama — الموقع الرسمي والتنزيلات.
- مكتبة نماذج Ollama — النماذج الحالية وأسماء السحب والأحجام الدقيقة لها.
- مرجع واجهة سطر أوامر Ollama · وثائق واجهة Ollama API — المرجع المعتمد للأوامر ونقاط النهاية.
- تدوينة Ollama عن التوافق مع OpenAI — نقطة النهاية
/v1واستخدام SDK. - Ollama على GitHub — الشيفرة المصدرية والمشكلات والوثائق المفصّلة.
- LM Studio — بديل برسومات لتشغيل النماذج المحلية.
التالي
- قبل أن تمنح نموذجًا مسحوبًا صلاحية استخدام الأدوات → أوزان مفتوحة ملغَّمة بباب خلفي: سلسلة توريد النماذج «abliterated» — ملف GGUF الذي تسحبه هو عادةً الحلقة الثالثة في سلسلة ثقة من ثلاثة أطراف
- هل تنقل مطالبة نظام كبيرة من Claude إلى نموذج محلي؟ → لماذا تنهار مطالبة نظام بحجم 35 KB على نموذج محلي
- إلى أي حد يمكن للتكميم أن ينزل دون 4 بت؟ → التكميم الثلاثي عمليًا: Bonsai 2 27B في 5.95 GB — 1.75 بت لكل وزن، ولماذا لا يستطيع Ollama تحميله
- قرّر بين المحلي والسحابي لمهمة ما → اختيار نموذج
- اجعل الأدوات تعمل محليًا أيضًا → استخدام الأدوات
- راقب كلفة تشغيل النماذج فعليًا → اقتصاد الرموز