Key Takeaways
- `ollama pull <model>` -- ينزّل نموذجًا (مثل `ollama pull llama3.2:3b`).
- `ollama run <model>` -- يبدأ محادثة مع نموذج.
- `ollama list` -- يعرض جميع النماذج المنزّلة وأحجامها.
- `ollama rm <model>` -- يحذف نموذجًا منزّلًا.
- `ollama serve` -- يبدأ خادم API الخاص بـ Ollama (يعمل تلقائيًا على Mac/Windows).
- `ollama create <name> -f <modelfile>` -- يبني نموذجًا مخصصًا من ملف Modelfile.
- اعتبارًا من أبريل 2026، هذه الأوامر مستقرة وتغطي جميع حالات الاستخدام الشائعة.
ما الأوامر الأساسية في Ollama؟
- `ollama list` -- يعرض النماذج المنزّلة، واستخدام القرص، وتاريخ التعديل.
- `ollama pull <model>` -- ينزّل نموذجًا بالاسم (مثل `ollama pull mistral`).
- `ollama run <model>` -- يبدأ جلسة محادثة مع نموذج.
- `ollama rm <model>` -- يحذف نموذجًا ويحرّر مساحة القرص.
- `ollama serve` -- يبدأ خادم API REST (عادةً يعمل تلقائيًا).
- `ollama help` -- يعرض جميع الأوامر المتاحة.
كيف تُدار النماذج في Ollama؟
إدارة النماذج في Ollama تتم بالكامل بالأوامر:
# Listar todos los modelos descargados
ollama list
# Descargar un modelo desde la biblioteca de Ollama
ollama pull llama3.2:3b # Versión 7-bit (~2.5 GB)
ollama pull llama3.2:3b-fp16 # Precisión completa (~6.5 GB)
# Descargar cuantización específica
ollama pull qwen2.5:7b-q4 # Cuantización 4-bit
ollama pull qwen2.5:7b-q8 # Cuantización 8-bit
# Ver uso del disco
du -sh ~/.ollama/models
# Eliminar un modelo
ollama rm llama3.2:3b
# Descargar desde registro personalizado (avanzado)
ollama pull localhost:5000/custom-modelكيف تُشغَّل النماذج وتُخدَم؟
هناك طريقتان لاستخدام Ollama:
# 1. Chat interactivo (CLI)
ollama run llama3.2:3b
# Escribe tus prompts y presiona Enter
# 2. Iniciar el servidor API (se ejecuta en segundo plano)
ollama serve
# La API escucha en http://localhost:11434/v1
# 3. Usar el modelo vía API desde otra terminal
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.2:3b",
"messages": [{"role": "user", "content": "Hola"}]
}'كيف تُنشأ نماذج مخصصة بملفات Modelfile؟
ملف Modelfile هو ملف تهيئة (مثل Dockerfile) يعرّف نموذجًا مخصصًا انطلاقًا من نموذج أساسي بإضافة محفّزات نظام ومعاملات وأوزان.
# Crear un archivo llamado Modelfile
FROM llama3.2:3b
# Añadir un system prompt
SYSTEM """
Eres un experto útil en aprendizaje automático.
Siempre explica conceptos complejos en términos simples.
"""
# Ajustar parámetros
PARAMETER temperature 0.7
PARAMETER top_p 0.9
# Construir el modelo personalizado
ollama create ml-expert -f Modelfile
# Usarlo
ollama run ml-expertما خيارات التكميم التي يدعمها Ollama؟
يقلّل التكميم حجم النموذج وVRAM باستخدام أرقام أقل دقة. يدعم Ollama صيغة GGUF بعدة مستويات تكميم:
| Cuantización | Tamaño (7B) | VRAM | Calidad | Velocidad |
|---|---|---|---|---|
| FP16 (الدقة الكاملة) | 14 GB | 16 GB | الأفضل | الأبطأ |
| Q8_0 (8-bit) | 7 GB | 8 GB | ممتازة | سريعة |
| Q6_K (6-bit) | 5.5 GB | 6 GB | جيدة جدًا | سريعة |
| Q5_K_M (5-bit) | 5 GB | 5.5 GB | جيدة | سريعة جدًا |
| Q4_K_M (4-bit) | 4.7 GB | 5 GB | جيدة | سريعة جدًا |
| Q3_K_M (3-bit) | 3.3 GB | 4 GB | مقبولة | الأسرع |
كيف تُولَّد embeddings بـ Ollama؟
embeddings هي تمثيلات عددية للنص، مفيدة لـ RAG (التوليد المعزّز بالاسترجاع) والبحث الدلالي.
# Descargar un modelo de embeddings
ollama pull nomic-embed-text # Mejor para inglés, 137M params
# Generar embeddings
curl http://localhost:11434/v1/embeddings \
-H "Content-Type: application/json" \
-d '{
"model": "nomic-embed-text",
"input": "The quick brown fox jumps"
}'
# La respuesta incluye embeddings como vector de 768 dimensionesما متغيرات البيئة التي تتحكم في Ollama؟
متغيرات بيئة رئيسية:
- `OLLAMA_HOST` -- عنوان الاستماع (افتراضيًا: 127.0.0.1:11434). اضبط `0.0.0.0:11434` للوصول عبر الشبكة.
- `OLLAMA_MODELS` -- مكان تخزين النماذج (افتراضيًا: `~/.ollama/models`).
- `OLLAMA_DEBUG` -- اضبطه على `1` لسجلات مفصّلة.
- `OLLAMA_GPU` -- GPU المراد استخدامه (افتراضيًا: كشف تلقائي). اضبط `cuda` أو `rocm`.
- `OLLAMA_KEEP_ALIVE` -- مدة إبقاء النموذج في الذاكرة (افتراضيًا: 5 دقائق).
أخطاء شائعة مع أوامر Ollama
- نسيان وسوم النموذج. `ollama pull llama3.2` ينزّل أكبر إصدار؛ `ollama pull llama3.2:3b` ينزّل إصدار 3B.
- عدم معرفة أن `ollama serve` يعمل تلقائيًا. على Mac وWindows، يبدأ Ollama الـ API تلقائيًا عند فتح التطبيق. على Linux، قد يلزم بدؤه يدويًا.
- تنزيل التكميم الخاطئ. حدّد دائمًا وسم النموذج الدقيق (مثل `qwen2.5:7b-q4`) للتحكم في استخدام VRAM.
- توقّع عمل Ollama دون اتصال بعد التنزيل. Ollama نفسه يعمل دون اتصال، لكن يجب تنزيل النماذج مع اتصال بالإنترنت.
الأسئلة الشائعة حول أوامر Ollama
أين تُخزَّن نماذج Ollama؟
افتراضيًا: `~/.ollama/models` على macOS/Linux أو `%USERPROFILE%\.ollama\models` على Windows. اضبط `OLLAMA_MODELS` لتغيير الموقع.
هل يمكنني نقل النماذج بين الحواسيب؟
نعم. انسخ ملفات النموذج من `~/.ollama/models` إلى دليل `~/.ollama/models` في حاسوب آخر؛ سيتعرّف عليها `ollama list` تلقائيًا.
كيف أرى استخدام الذاكرة للنماذج النشطة؟
استخدم `ollama ps` لسرد النماذج المحمّلة حاليًا. تُفرَّغ النماذج من الذاكرة بعد 5 دقائق من الخمول افتراضيًا.
هل يمكنني تشغيل عدة نماذج في آنٍ واحد؟
نعم، لكنها تتشارك VRAM. تشغيل نموذجي 8B يتطلب 16 GB من VRAM. كل نموذج إضافي يزيد استخدام الذاكرة.
ما الفرق بين GGUF وصيغ النماذج الأخرى؟
GGUF مكمّم وفعّال ويعمل على CPU/GPU. وهو المعيار لنماذج LLM المحلية. الصيغ الأخرى (safetensors، PyTorch .bin) تتطلب مزيدًا من VRAM وغير محسّنة للاستدلال المحلي.
كيف أستخدم نماذج Ollama في تطبيقي الخاص؟
`ollama serve` يبدأ API متوافقًا مع OpenAI على `localhost:11434`. استخدم أي SDK لـ OpenAI (Python، Node.js، إلخ) موجّهًا إلى ذلك العنوان لإرسال الطلبات واستقبال الردود.
المصادر
- GitHub لـ Ollama -- github.com/ollama/ollama
- توثيق Ollama -- github.com/ollama/ollama/blob/main/docs
- مكتبة نماذج Ollama -- ollama.ai/library