الإعداد السريع (3 أوامر)
- 1تثبيت Ollama
Why it matters: `brew install ollama` — تثبيت بنقرة واحدة. - 2تنزيل نموذج
Why it matters: `ollama pull llama2` — ينزّل Llama 3.3 7B. - 3بدء المحادثة
Why it matters: `ollama run llama2` — واجهة محادثة تفاعلية.
التحقق من GPU Metal
تسريع GPU Metal تلقائي في Ollama على macOS. لا حاجة لأي تهيئة. للتحقق من عمل Metal:
- 1التشغيل بإخراج مفصّل
Why it matters: `ollama run llama3.1:8b --verbose` وابحث عن `ggml_metal_init: found device: Apple M[X]` في إخراج وحدة التحكم. - 2فحص السرعة أثناء الاستدلال
Why it matters: راقب معدل توليد الـ tokens: ينبغي أن يكون 20–60 tok/s حسب Mac (M5 Pro: ~50 tok/s على Llama 3.3 8B). العودة لـ CPU فقط: ~1–5 tok/s. - 3مراقبة استخدام GPU
Why it matters: افتح مراقب النشاط (التطبيقات → الأدوات) وراجع قسم GPU. ينبغي أن يُظهر 80–100% من استخدام GPU أثناء الاستدلال إذا كان Metal يعمل.
إدارة النماذج
- 1`ollama pull <model>`
Why it matters: تنزيل نموذج. مثال: `ollama pull mistral`. - 2`ollama list`
Why it matters: سرد جميع النماذج المنزّلة. - 3`ollama run <model>`
Why it matters: بدء محادثة تفاعلية مع النموذج. - 4`ollama rm <model>`
Why it matters: حذف نموذج لتحرير مساحة.
تحسين الذاكرة لـ Apple Silicon
- OLLAMA_MAX_LOADED_MODELS: عدد النماذج المراد إبقاؤها في الذاكرة. افتراضيًا: 1. اضبط 2–3 لتهيئات متعددة النماذج.
- طبقات GPU: افتراضيًا، يستخدم Ollama كل الذاكرة الموحدة المتاحة. إذا كانت الذاكرة غير كافية، اضبط `num_gpu_layers` في ملف Modelfile.
- Whisper: ادمجه مع نموذج embeddings وLLM — يتسع في 64 GB M5 Pro مع Ollama.
تشغيل عدة نماذج في آنٍ واحد
هل تحتاج تشغيل Whisper STT + Llama 3.3 8B + LLaVA Vision في الوقت نفسه؟ هيّئ Ollama لإبقاء جميع النماذج محمّلة في الذاكرة.
export OLLAMA_MAX_LOADED_MODELS=3
export OLLAMA_KEEP_ALIVE=1h
brew services restart ollama
# Now pull all models you need
ollama pull llama3.1:8b
ollama pull llava:7b
# Send requests to each — they stay loaded
curl http://localhost:11434/api/chat -d '{"model": "llama3.1:8b", "messages": [{"role": "user", "content": "Hello"}]}'
curl http://localhost:11434/api/chat -d '{"model": "llava:7b", "messages": [{"role": "user", "content": "Describe this image"}]}'البدء التلقائي عند تسجيل الدخول
يمكن لـ Ollama البدء تلقائيًا عند تسجيل الدخول إلى Mac عبر brew services.
# Enable auto-start
brew services start ollama
# Check status
brew services list | grep ollama
# Disable auto-start (optional)
brew services stop ollamaإعداد API للمطورين
يعرض Ollama API REST متوافقًا مع OpenAI على `localhost:11434`. ابدأ الخادم بـ `ollama serve` أو استخدم brew services. ثم أرسل الطلبات من أي لغة برمجة.
# Chat endpoint (streaming)
curl http://localhost:11434/api/chat -d '{
"model": "llama3.1:8b",
"messages": [{"role": "user", "content": "Write a Python function"}],
"stream": false
}'
# Python example
import requests
response = requests.post(
"http://localhost:11434/api/chat",
json={
"model": "llama3.1:8b",
"messages": [{"role": "user", "content": "Hello"}],
"stream": False
}
)
print(response.json()["message"]["content"])تخصيص Modelfile
أنشئ نماذج مخصصة بمحفّزات نظام ومعاملات.
- `ollama create llm-expert -f Modelfile` — يبني النموذج المخصص
- `ollama run llm-expert` — يبدأ المحادثة التفاعلية مع نموذجك المخصص
- `ollama run llm-expert "Code review this function"` — يرسل محفّزًا مباشرة
FROM llama2
SYSTEM "You are an expert software engineer reviewing code for security and performance issues. Provide actionable feedback."
PARAMETER temperature 0.7
PARAMETER top_p 0.9مشكلات شائعة وحلول
- Metal غير مُكتشف: تحقق بـ `ollama run llama3.1:8b --verbose` وابحث عن `ggml_metal_init: found device: Apple M[X]`. إذا لم يظهر، أعد التشغيل: `brew services restart ollama` أو `pkill ollama && ollama serve &`.
- استدلال بطيء (عودة لـ CPU): السبب: لم يستطع Metal التهيئة، النموذج يعمل على CPU. راجع مراقب النشاط — ينبغي أن يكون استخدام GPU 80–100% أثناء الاستدلال. إذا أظهر GPU 0%: أعد تشغيل Ollama.
- نفاد الذاكرة (OOM): يفشل النموذج أو تنقطع الاستجابة. السبب: النموذج + السياق + عبء macOS يتجاوز RAM. الحلول: (1) استخدم تكميمًا أصغر (`ollama pull llama3.1:8b-q4_K_M`)، (2) قلّل السياق (`OLLAMA_NUM_CTX=2048 ollama run llama3.1:8b`)، (3) استخدم نموذجًا أصغر (`ollama pull phi4` — 2.5 GB).
- تنزيل النموذج عالق: السبب: تقييد الشبكة أو حدود معدل HuggingFace. الحل: `pkill ollama && ollama pull llama3.1:8b` (يستأنف من التقدم السابق).
- المنفذ 11434 مستخدم بالفعل: نسخة أخرى من Ollama تعمل أو خدمة مختلفة تستخدم المنفذ. ابحث: `lsof -i :11434`. الحل: `pkill ollama` ثم أعد التشغيل.
- النموذج ينتج نصًا بلا معنى / أحرفًا عشوائية: السبب: معاملات Modelfile خارج النطاق أو قالب خاطئ. الحل: نزّل النموذج الرسمي `ollama pull llama3.1:8b` (يستبدل المخصص)، ثم جرّب: `ollama run llama3.1:8b "Hello, how are you?"`.
- التخزين يمتلئ: تُحفظ النماذج في `~/.ollama/models/`. تحقق من الحجم: `du -sh ~/.ollama/`. احذف غير المستخدمة: `ollama rm <model-name>`.
هل Ollama مجاني؟
نعم. Ollama مفتوح المصدر. النماذج (Llama، Mistral) لها ترخيص مجاني. بلا رسوم.
هل يمكنني استخدام Ollama بلا GPU؟
نعم، لكن ببطء. CPU فقط: ~1–5 tok/s على نماذج 7B. GPU (Metal على Mac): 20–60 tok/s حسب Mac.
بأي نموذج ينبغي أن أبدأ؟
Mistral Small أو Llama 3.3 7B. كلاهما يعمل على أي Mac بشريحة M1+، وينتج مخرجات جيدة. نحو 4 GB لكل منهما.
هل يمكن لعدة أشخاص استخدام API الخاص بـ Ollama في آنٍ واحد؟
نعم. `ollama serve` على جهاز واحد، والجميع على الشبكة المحلية يمكنهم الوصول إلى API REST على عنوان IP لذلك الجهاز:11434.
أين يخزّن Ollama النماذج المنزّلة على Mac؟
الموقع الافتراضي: `~/.ollama/models/`. كل نموذج يشغل عدة GB. تحقق من إجمالي استخدام القرص: `du -sh ~/.ollama/`. لتغيير الموقع، اضبط متغير البيئة `OLLAMA_MODELS=/path/to/models` قبل بدء Ollama.
هل يمكنني تشغيل Ollama على أجهزة Mac بمعالج Intel؟
نعم، لكن بلا تسريع GPU Metal. سيكون الأداء بـ CPU فقط: 1–5 tok/s على نماذج 7B مقابل 20–60 tok/s على Apple Silicon. مفيد للاختبار لكن ليس للاستخدام الإنتاجي.
هل يعمل Ollama دون اتصال بعد التثبيت؟
نعم. بمجرد تنزيل النماذج، يعمل Ollama دون اتصال بالكامل. لا حاجة لاتصال إنترنت للاستدلال. فقط تنزيل النماذج (`ollama pull`) يتطلب وصولًا للإنترنت.