الدرس 5 من 22

أساسيات Ollama

تشغيل أول نموذج لك

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

لنسحب ونشغل أول نموذج لغة كبير محلي لك. في دقائق قليلة فقط، سيكون لديك ذكاء اصطناعي قوي يعمل بالكامل على جهازك.

أول نموذج لك: Llama 3.2

# اسحب النموذج (تنزيل لمرة واحدة)
ollama pull llama3.2

# المخرجات:
# pulling manifest
# pulling 8934d96d3f08... 100% ▕████████████████▏ 4.7 GB
# pulling 8c17c2ebb0ea... 100% ▕████████████████▏ 7.0 KB
# verifying sha256 digest
# writing manifest
# success

نموذج 8B حوالي 4.7 GB. وقت التنزيل يعتمد على سرعة الإنترنت لديك.

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

# ابدأ جلسة محادثة تفاعلية
ollama run llama3.2

# سترى:
>>>

# اكتب رسالتك واضغط Enter
>>> What is the capital of France?

The capital of France is Paris.

>>>

تفاعلات المحادثة الأساسية

>>> Explain quantum computing in simple terms

Quantum computing uses quantum mechanics principles to process
information in ways classical computers cannot.

Key concepts:
1. **Qubits**: Unlike classical bits (0 or 1), qubits can exist
   in superposition - being 0 and 1 simultaneously.

2. **Entanglement**: Qubits can be connected so measuring one
   instantly affects the other, regardless of distance.

3. **Quantum speedup**: For specific problems, quantum computers
   can explore many solutions at once, dramatically faster.

>>> /exit

أوامر المحادثة المفيدة

داخل جلسة المحادثة، يمكنك استخدام أوامر خاصة:

>>> /help           # اعرض الأوامر المتاحة
>>> /clear          # امسح سجل المحادثة
>>> /set parameter  # غيّر معاملات التشغيل
>>> /show info      # اعرض معلومات النموذج
>>> /exit           # اخرج من جلسة المحادثة (أو Ctrl+D)

الإدخال متعدد الأسطر

للطلبات الأطول، استخدم علامات الاقتباس الثلاثية:

>>> """
... Write a Python function that:
... 1. Takes a list of numbers
... 2. Returns the sum of even numbers
... 3. Includes docstring and type hints
... """

def sum_even_numbers(numbers: list[int]) -> int:
    """
    Calculate the sum of even numbers in a list.

    Args:
        numbers: A list of integers

    Returns:
        The sum of all even numbers in the list
    """
    return sum(n for n in numbers if n % 2 == 0)

تشغيل نماذج مختلفة

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

# NAME                    ID              SIZE      MODIFIED
# llama3.2:latest         a80c4f17acd5    4.7 GB    5 minutes ago

# اسحب وشغّل Mistral
ollama pull mistral
ollama run mistral

# اسحب متغير حجم محدد
ollama pull llama3.2:70b  # أكبر، أكثر قدرة
ollama pull llama3.2:1b   # أصغر، أسرع

استعلامات من سطر واحد

للبرمجة والاستعلامات السريعة:

# طلب واحد (بدون جلسة تفاعلية)
ollama run llama3.2 "What is 2+2?"
# المخرجات: 2 + 2 = 4

# مرر المحتوى للنموذج
echo "Summarize this text:" | ollama run llama3.2

# اقرأ من ملف
cat document.txt | ollama run llama3.2 "Summarize:"

مقارنة النماذج

جرب نفس الطلب مع نماذج مختلفة:

# اختبر قدرة البرمجة
echo "Write a binary search in Python" | ollama run llama3.2
echo "Write a binary search in Python" | ollama run mistral
echo "Write a binary search in Python" | ollama run deepseek-coder

مؤشرات الأداء

راقب سرعة المخرجات لفهم أداء النموذج:

# شغّل مع مخرجات تفصيلية
ollama run llama3.2 --verbose

>>> Hello

Hello! How can I help you today?

# الإحصائيات تُعرض بعد الرد:
# total duration:       1.234s
# load duration:        0.123s
# prompt eval count:    5 token(s)
# prompt eval duration: 0.050s
# prompt eval rate:     100.00 tokens/s
# eval count:           12 token(s)
# eval duration:        0.800s
# eval rate:            15.00 tokens/s  <-- سرعة التوليد

تخزين النموذج

# تحقق من موقع تخزين النموذج
ls ~/.ollama/models/

# انظر استخدام القرص
du -sh ~/.ollama/models/*

# احذف نموذج لتحرير المساحة
ollama rm mistral

مرجع سريع

الأمر الوصف
ollama pull <model> حمّل نموذج
ollama run <model> ابدأ محادثة تفاعلية
ollama run <model> "prompt" استعلام واحد
ollama list اعرض النماذج المحملة
ollama rm <model> احذف نموذج
ollama show <model> اعرض تفاصيل النموذج

لديك الآن نموذج لغة كبير محلي يعمل على جهازك. لا حاجة لإنترنت، لا تكاليف API، خصوصية كاملة. في الدرس التالي، سنستكشف المزيد من أوامر CLI والمعاملات. :::

اختبار

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

خذ الاختبار