الدرس 6 من 22

أساسيات Ollama

إتقان واجهة أوامر Ollama

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

واجهة أوامر Ollama هي واجهتك الأساسية لإدارة وتشغيل النماذج. لنستكشف قدراتها الكاملة.

مرجع الأوامر الكامل

┌─────────────────────────────────────────────────────────────────┐
│                    أوامر Ollama CLI                              │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  إدارة النماذج             التحكم بالخادم                       │
│  ────────────────          ──────────────                       │
│  pull    - حمّل نموذج      serve  - ابدأ الخادم                 │
│  push    - ارفع نموذج      ps     - اعرض النماذج العاملة        │
│  list    - اعرض النماذج    stop   - أوقف نموذج عامل             │
│  rm      - احذف نموذج                                           │
│  cp      - انسخ نموذج      المعلومات                            │
│  create  - أنشئ مخصص       ───────────                          │
│                            show   - تفاصيل النموذج              │
│  التنفيذ                   help   - اعرض المساعدة               │
│  ─────────                 version - اعرض الإصدار               │
│  run     - تفاعلي                                               │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

أوامر إدارة النماذج

عرض النماذج

# اعرض جميع النماذج المحملة
ollama list

# NAME                    ID              SIZE      MODIFIED
# llama3.2:latest         a80c4f17acd5    4.7 GB    2 hours ago
# mistral:latest          2ae6f6dd7a3d    4.1 GB    1 day ago
# deepseek-coder:latest   8934d96d3f08    4.7 GB    3 days ago

معلومات النموذج

# اعرض معلومات النموذج التفصيلية
ollama show llama3.2

# المخرجات تتضمن:
# - بنية النموذج
# - المعاملات
# - مستوى التكميم
# - الترخيص
# - تنسيق القالب

# اعرض أقسام محددة
ollama show llama3.2 --modelfile    # اعرض Modelfile
ollama show llama3.2 --license      # اعرض الترخيص
ollama show llama3.2 --template     # اعرض قالب الطلب
ollama show llama3.2 --parameters   # اعرض المعاملات

سحب إصدارات محددة

# اسحب أحدث إصدار
ollama pull llama3.2

# اسحب حجم محدد
ollama pull llama3.2:8b       # 8 مليار معامل
ollama pull llama3.2:70b      # 70 مليار معامل
ollama pull llama3.2:1b       # 1 مليار معامل

# اسحب تكميم محدد
ollama pull llama3.2:8b-q4_0  # تكميم 4-bit
ollama pull llama3.2:8b-q8_0  # تكميم 8-bit

النسخ وإعادة التسمية

# انسخ نموذج (مفيد قبل التعديلات)
ollama cp llama3.2 my-llama

# الآن لديك كلاهما:
# - llama3.2 (الأصلي)
# - my-llama (نسخة للتخصيص)

تشغيل النماذج مع المعاملات

التحكم بالحرارة

# حرارة أقل = أكثر حتمية
ollama run llama3.2 --temperature 0.1 "Write a haiku about coding"

# حرارة أعلى = أكثر إبداعاً
ollama run llama3.2 --temperature 1.5 "Write a haiku about coding"

طول السياق

# زد نافذة السياق (يستخدم ذاكرة أكثر)
ollama run llama3.2 --num-ctx 8192 "Summarize this long document..."

# الافتراضي عادةً 2048 أو 4096

طبقات GPU

# تحكم بما يعمل على GPU مقابل CPU
ollama run llama3.2 --num-gpu 35  # 35 طبقة على GPU

# 0 = CPU فقط (مفيد إذا ذاكرة GPU منخفضة)
ollama run llama3.2 --num-gpu 0

جدول معاملات التشغيل

المعامل الوصف الافتراضي النطاق
--temperature العشوائية 0.8 0.0-2.0
--top-p أخذ عينات النواة 0.9 0.0-1.0
--top-k أخذ عينات top-k 40 1-100
--num-ctx طول السياق 2048 512-32768
--num-gpu طبقات GPU تلقائي 0-100
--repeat-penalty عقوبة التكرار 1.1 0.0-2.0

إدارة العمليات

عرض النماذج العاملة

# انظر النماذج المحملة حالياً
ollama ps

# NAME        ID              SIZE      PROCESSOR     UNTIL
# llama3.2    a80c4f17acd5    5.1 GB    100% GPU      4 minutes
# mistral     2ae6f6dd7a3d    4.5 GB    50% GPU/CPU   Idle

إيقاف النماذج

# أوقف نموذج محدد (حرر الذاكرة)
ollama stop llama3.2

# النماذج تُفرغ تلقائياً أيضاً بعد انتهاء المهلة (افتراضي: 5 دقائق)

إبقاء النماذج محملة

# أبقِ نموذج محملاً إلى أجل غير مسمى
ollama run llama3.2 --keepalive -1

# عيّن مدة محددة
ollama run llama3.2 --keepalive 30m

تكوين الخادم

متغيرات البيئة

# غيّر مضيف/منفذ API
export OLLAMA_HOST=0.0.0.0:11434

# عيّن موقع تخزين النموذج
export OLLAMA_MODELS=/mnt/external/models

# تحكم في استخدام GPU
export OLLAMA_NUM_PARALLEL=2  # طلبات متزامنة
export OLLAMA_MAX_LOADED_MODELS=3  # نماذج في الذاكرة

# ابدأ الخادم مع التكوين
ollama serve

أعلام الخادم المفيدة

# ابدأ الخادم في وضع التصحيح
OLLAMA_DEBUG=1 ollama serve

# اسمح بطلبات عبر الأصل (لتطبيقات الويب)
OLLAMA_ORIGINS="*" ollama serve

أنماط الاستخدام المتقدم

المعالجة الدفعية

# عالج ملفات متعددة
for file in *.txt; do
    echo "Processing $file..."
    cat "$file" | ollama run llama3.2 "Summarize:" > "${file%.txt}_summary.txt"
done

مخرجات JSON

# احصل على رد JSON منظم
ollama run llama3.2 "List 3 programming languages as JSON array" --format json

# المخرجات: ["Python", "JavaScript", "Go"]

سلسلة النماذج

# استخدم مخرجات نموذج كمدخلات لآخر
ollama run llama3.2 "Write a story about AI" | \
  ollama run mistral "Critique this story:"

التصحيح السريع

# تحقق من سجلات الخادم
journalctl -u ollama -f          # Linux (systemd)
tail -f ~/.ollama/logs/server.log  # macOS

# اختبر API مباشرة
curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "Hello"
}'

# تحقق من استخدام GPU
watch -n 1 nvidia-smi  # NVIDIA

واجهة الأوامر تمنحك تحكماً كاملاً في سير عمل نماذج اللغة المحلية. في الدرس التالي، سنتعلم إنشاء نماذج مخصصة مع Modelfiles. :::

اختبار

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

خذ الاختبار