الدرس 4 من 22

أساسيات Ollama

تثبيت Ollama

3 دقيقة للقراءة

Ollama يجعل تشغيل نماذج اللغة الكبيرة المحلية سهلاً مثل تشغيل حاويات Docker. لنثبته على نظامك.

ما هو Ollama؟

┌─────────────────────────────────────────────────────────────────┐
│                         Ollama                                   │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  • مشغل نماذج لغة مفتوح المصدر (رخصة MIT)                        │
│  • يشغل نماذج GGUF المكممة                                      │
│  • إدارة نماذج مدمجة (سحب، تشغيل، حذف)                          │
│  • واجهة REST API على المنفذ 11434                              │
│  • تحسين أصلي لـ Apple Silicon، NVIDIA، AMD                     │
│  • واجهة سطر أوامر بسيطة                                        │
│                                                                 │
│  فكر به كـ "Docker لنماذج اللغة الكبيرة"                         │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

التثبيت حسب المنصة

macOS (موصى به: تثبيت أصلي)

# الخيار 1: تنزيل مباشر (الأسهل)
# زر https://ollama.com/download وحمّل التطبيق

# الخيار 2: Homebrew
brew install ollama

# تحقق من التثبيت
ollama --version
# المخرجات: ollama version 0.4.x

بعد التثبيت، Ollama يعمل كخدمة خلفية تلقائياً.

Linux

# مثبت من سطر واحد (موصى به)
curl -fsSL https://ollama.com/install.sh | sh

# تحقق من التثبيت
ollama --version

# تحقق من حالة الخدمة
systemctl status ollama

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

# تثبيت يدوي لـ Ubuntu/Debian
curl -L https://ollama.com/download/ollama-linux-amd64 -o ollama
chmod +x ollama
sudo mv ollama /usr/local/bin/

# ابدأ خادم Ollama
ollama serve

Windows

# الخيار 1: حمّل المثبت من https://ollama.com/download

# الخيار 2: باستخدام winget
winget install Ollama.Ollama

# تحقق من التثبيت
ollama --version

Docker (جميع المنصات)

# CPU فقط
docker run -d -v ollama:/root/.ollama -p 11434:11434 \
  --name ollama ollama/ollama

# مع GPU NVIDIA
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 \
  --name ollama ollama/ollama

# تحقق من أنه يعمل
curl http://localhost:11434/api/version

التحقق من التثبيت

# تحقق من الإصدار
ollama --version

# اعرض الأوامر المتاحة
ollama help

# اختبر نقطة نهاية API
curl http://localhost:11434/api/tags
# يجب أن يُرجع: {"models":[]}

كشف GPU

Ollama يكتشف ويستخدم GPUs المتاحة تلقائياً:

# تحقق مما يراه Ollama
ollama run llama3.2 --verbose 2>&1 | head -20

# يجب أن ترى مخرجات مثل:
# ggml_cuda_init: found 1 CUDA devices:
#   Device 0: NVIDIA GeForce RTX 4090, compute capability 8.9

# أو لـ Apple Silicon:
# ggml_metal_init: found 1 Metal devices:
#   Device 0: Apple M3 Max

مشاكل التثبيت الشائعة

المنفذ قيد الاستخدام بالفعل

# تحقق مما يستخدم المنفذ 11434
lsof -i :11434

# اقتل العملية أو غيّر منفذ Ollama
OLLAMA_HOST=0.0.0.0:11435 ollama serve

صلاحيات غير كافية (Linux)

# أضف نفسك لمجموعة ollama
sudo usermod -aG ollama $USER

# سجل خروج ودخول، أو:
newgrp ollama

GPU غير مكتشف

# لـ NVIDIA، تأكد من تثبيت التعريفات
nvidia-smi

# لـ AMD (ROCm)
rocm-smi

# إذا لم يُكتشف بعد، حاول إعادة التثبيت مع دعم GPU
curl -fsSL https://ollama.com/install.sh | sh

موقع التخزين

Ollama يخزن النماذج في:

المنصة الموقع الافتراضي
macOS ~/.ollama/models
Linux /usr/share/ollama/.ollama/models
Windows C:\Users\<user>\.ollama\models

لتغيير موقع التخزين:

# عيّن مجلد نماذج مخصص
export OLLAMA_MODELS=/path/to/models
ollama serve

بنية Ollama

┌─────────────────────────────────────────────────────────────────┐
│                       بنية Ollama                                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   CLI (ollama run/pull/...)                                     │
│           │                                                     │
│           ▼                                                     │
│   ┌───────────────────┐                                         │
│   │   خادم Ollama     │ ◄── واجهة REST API (منفذ 11434)        │
│   │   (خلفي)          │                                         │
│   └─────────┬─────────┘                                         │
│             │                                                   │
│             ▼                                                   │
│   ┌───────────────────┐                                         │
│   │   llama.cpp       │ ◄── محرك الاستدلال                     │
│   │   (C++ محسن)      │                                         │
│   └─────────┬─────────┘                                         │
│             │                                                   │
│             ▼                                                   │
│   ┌───────────────────┐                                         │
│   │   GPU/CPU         │ ◄── تسريع العتاد                       │
│   │   (CUDA/Metal/CPU)│                                         │
│   └───────────────────┘                                         │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

أنت الآن جاهز لتشغيل أول نموذج! :::

اختبار

الوحدة 2: أساسيات Ollama

خذ الاختبار