تشغيل Gemma 4 محليًا باستخدام Ollama: دليل شامل

Ashley Innocent

Ashley Innocent

3 أبريل 2026

تشغيل Gemma 4 محليًا باستخدام Ollama: دليل شامل

Apidog للمؤسسات

نشر محلي

SSO & RBAC

متوافق مع SOC 2

استكشاف Apidog Enterprise

ملخص سريع

صدرت Gemma 4 في 3 أبريل 2026، وأضاف Ollama v0.20.0 دعمًا لها في نفس اليوم. يمكنك سحب وتشغيل نموذج gemma4:e4b الافتراضي بأمرين فقط. يرشدك هذا الدليل خلال الإعداد، واختيار النموذج، واستخدام واجهة برمجة التطبيقات (API)، وكيفية اختبار نقاط نهاية Gemma 4 المحلية باستخدام Apidog.

مقدمة

أصدرت Google نموذج Gemma 4 في 2 أبريل 2026. في غضون 24 ساعة، أصدرت Ollama الإصدار v0.20.0 بدعم كامل لجميع المتغيرات الأربعة للنموذج.

بالنسبة للمطورين، هذا مهم. Gemma 4 ليست مجرد تحديث صغير. فقد حققت نسبة 89.2% في AIME 2026 مقارنة بـ 20.8% لنموذج Gemma 3. وقفزت نتيجة معيار البرمجة الخاص بها من 110 ELO إلى 2150 على Codeforces. تحصل على استدعاءات وظائف أصلية، وأوضاع تفكير قابلة للتكوين، ونافذة سياق بحجم 256K في المتغيرات الأكبر. كل هذا يعمل على جهازك الخاص.

إذا كنت تبني تطبيقات تعمل بواجهة برمجة التطبيقات (API)، فإن الإعداد المحلي يفتح شيئًا مفيدًا: طبقة ذكاء اصطناعي سريعة وخاصة لتوليد بيانات وهمية، وكتابة سيناريوهات اختبار، والتحقق من صحة استجابات واجهة برمجة التطبيقات دون إرسال البيانات إلى خادم بعيد.

💡
بمجرد تشغيل Gemma 4 محليًا، يمكن لميزة Smart Mock في Apidog توليد بيانات استجابة واقعية لواجهة برمجة التطبيقات من مخططك باستخدام نفس نوع الاستدلال المدعوم بالذكاء الاصطناعي. تحدد شكل واجهة برمجة التطبيقات الخاصة بك مرة واحدة؛ ويتولى Apidog معالجة البيانات الوهمية. يتناسب هذا جيدًا مع تجارب النماذج المحلية حيث تريد بيانات اختبار متسقة ومتوافقة مع المخطط دون كتابة تجهيزات الاختبار يدويًا.
button

يغطي هذا الدليل كل شيء بدءًا من التثبيت وصولاً إلى إجراء أول استدعاء لواجهة برمجة التطبيقات المحلية.

ما الجديد في Gemma 4

تأتي Gemma 4 بأربعة متغيرات للنموذج ذات قدرات مختلفة بشكل كبير.

إليك ما يميزها عن Gemma 3:

الاستدلال والبرمجة. يحقق نموذج 31B نسبة 80% في LiveCodeBench v6. بينما سجل Gemma 3 27B السابق 29.1%. هذه الفجوة ليست تحسنًا تدريجيًا؛ إنها فئة مختلفة تمامًا من الأداء.

هندسة Mixed-of-Experts (MoE). يستخدم متغير 26B هندسة MoE مع 4 مليارات معلمة نشطة فقط أثناء الاستدلال. تحصل على جودة تقترب من مستوى النماذج الرائدة بجزء بسيط من تكلفة الحوسبة.

سياق أطول. تدعم نماذج الحافة E2B و E4B عدد 128 ألف توكن. بينما توسع نماذج 26B و 31B ذلك إلى 256 ألف توكن، وهو ما يكفي لاستيعاب قواعد بيانات كبيرة أو ملفات مواصفات واجهة برمجة التطبيقات في موجه واحد.

استدعاء الوظائف الأصلي. تدعم جميع نماذج Gemma 4 استخدام الأدوات المنظمة بشكل جاهز. يمكنك تحديد مخطط وظيفة ويعيد النموذج JSON صالحًا يتطابق مع هذا المخطط، دون الحاجة إلى حيل هندسة المطالبات.

إدخال الصوت والصورة. تقبل نماذج E2B و E4B إدخال الصوت والصور ذات الدقة المتغيرة جنبًا إلى جنب مع النص.

أوضاع التفكير. يمكنك تمكين أو تعطيل استدلال سلسلة الأفكار للنموذج لكل طلب. للبحث البسيط، تخطاه. لمشاكل البرمجة أو الرياضيات المعقدة، قم بتشغيله.

شرح متغيرات نموذج Gemma 4

قبل سحب أي شيء، اختر النموذج المناسب لجهازك:

النموذج الحجم على القرص السياق المعمارية الأفضل لـ
gemma4:e2b 7.2 GB 128K Dense أجهزة الكمبيوتر المحمولة، الحوسبة الطرفية، الصوت/الصورة
gemma4:e4b (default) 9.6 GB 128K Dense معظم المطورين
gemma4:26b 18 GB 256K MoE (4B active) أفضل جودة لكل جيجابايت
gemma4:31b 20 GB 256K Dense أقصى جودة

نموذج e4b هو الافتراضي عند تشغيل ollama run gemma4. يتناسب مع معظم وحدات معالجة الرسومات الاستهلاكية التي تحتوي على 10 جيجابايت فما فوق من ذاكرة الفيديو (VRAM) ويعمل بسرعة معقولة على الذاكرة الموحدة لمعالجات Apple Silicon.

متغير 26b MoE هو الخيار المذهل. نظرًا لتفعيل 4 مليارات معلمة فقط لكل توكن، فإن الاستدلال يكون أقرب إلى سرعة نموذج 4B بينما تكون الجودة قريبة من نموذج 13B. إذا كان لديك 20 جيجابايت من ذاكرة الوصول العشوائي (RAM) أو أكثر، فإن هذا يستحق التجربة.

المتطلبات الأساسية

تحتاج إلى Ollama v0.20.0 أو أحدث. الإصدارات الأقدم لا تتضمن دعم Gemma 4.

تحقق من إصدارك الحالي:

ollama --version

إذا كنت تستخدم إصدارًا أقدم، فقم بالتحديث:

# ماك أو إس
brew upgrade ollama

# لينكس
curl -fsSL https://ollama.com/install.sh | sh

على نظام Windows، قم بتنزيل أحدث مثبت من ollama.com.

متطلبات الأجهزة:

تثبيت وتشغيل Gemma 4

اسحب وشغل نموذج e4b الافتراضي:

ollama run gemma4

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

>>> What are the HTTP status codes for client errors?

لتشغيل متغير محدد:

# نموذج الحافة، بصمة أصغر
ollama run gemma4:e2b

# نموذج MoE، أفضل نسبة جودة إلى حجم
ollama run gemma4:26b

# الرائد الكامل
ollama run gemma4:31b

للسحب دون التشغيل فورًا:

ollama pull gemma4
ollama pull gemma4:26b

تحقق من النماذج المتوفرة لديك:

ollama list

استخدام واجهة برمجة تطبيقات Gemma 4 محليًا

يكشف Ollama عن واجهة برمجة تطبيقات REST محلية على http://localhost:11434. بمجرد سحب النموذج، يمكنك الوصول إليه من أي عميل HTTP دون بدء واجهة سطر الأوامر التفاعلية.

توليد إكمال

curl http://localhost:11434/api/generate \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma4",
    "prompt": "اكتب استجابة JSON لنقطة نهاية واجهة برمجة تطبيقات ملف تعريف المستخدم",
    "stream": false
  }'

إكمال الدردشة (نقطة نهاية متوافقة مع OpenAI)

يدعم Ollama أيضًا تنسيق دردشة OpenAI:

curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma4",
    "messages": [
      {
        "role": "user",
        "content": "قم بتوليد بيانات JSON وهمية واقعية لاستجابة واجهة برمجة تطبيقات طلبات التجارة الإلكترونية"
      }
    ]
  }'

عميل بايثون

import requests

def ask_gemma4(prompt: str, model: str = "gemma4") -> str:
    response = requests.post(
        "http://localhost:11434/api/generate",
        json={
            "model": model,
            "prompt": prompt,
            "stream": False
        }
    )
    response.raise_for_status()
    return response.json()["response"]

result = ask_gemma4("اذكر الحقول التي يجب أن تتضمنها استجابة واجهة برمجة تطبيقات الدفع")
print(result)

استخدام حزمة تطوير برامج بايثون (SDK) الخاصة بـ OpenAI

نظرًا لأن واجهة برمجة تطبيقات Ollama متوافقة مع OpenAI، يمكنك توجيه حزمة SDK الرسمية إلى مثيلك المحلي:

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama"  # مطلوب بواسطة SDK ولكن غير مستخدم بواسطة Ollama
)

response = client.chat.completions.create(
    model="gemma4",
    messages=[
        {
            "role": "system",
            "content": "أنت تولد بيانات استجابة واجهة برمجة تطبيقات واقعية بتنسيق JSON."
        },
        {
            "role": "user",
            "content": "أنشئ استجابة نموذجية لنقطة نهاية GET /users/{id}"
        }
    ]
)

print(response.choices[0].message.content)

استخدام استدعاء الوظائف مع Gemma 4

تدعم Gemma 4 استدعاء الوظائف الأصلي. تحدد مخطط أداة ويعيد النموذج JSON منظمًا يتطابق مع توقيع وظيفتك.

هذا مفيد لبناء وكلاء يستدعون واجهات برمجة التطبيقات الخاصة بك برمجيًا:

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama"
)

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_user",
            "description": "استرداد مستخدم بواسطة المعرف من واجهة برمجة التطبيقات",
            "parameters": {
                "type": "object",
                "properties": {
                    "user_id": {
                        "type": "integer",
                        "description": "معرف المستخدم الفريد"
                    },
                    "include_orders": {
                        "type": "boolean",
                        "description": "ما إذا كان يجب تضمين سجل الطلبات"
                    }
                },
                "required": ["user_id"]
            }
        }
    }
]

response = client.chat.completions.create(
    model="gemma4",
    messages=[
        {"role": "user", "content": "احصل على المستخدم 42 مع سجل طلباته"}
    ],
    tools=tools,
    tool_choice="auto"
)

tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.function.name)       # get_user
print(tool_call.function.arguments)  # {"user_id": 42, "include_orders": true}

يستخرج النموذج المعلمات الصحيحة من اللغة الطبيعية ويعيد كائن JSON صالحًا يتطابق مع مخططك. لا حاجة لتحليل تعبيرات نمطية أو تنظيف المخرجات.

تمكين وضع التفكير

للمهام المعقدة مثل كتابة سيناريوهات الاختبار أو تحليل مواصفات واجهة برمجة التطبيقات، يمكنك تمكين استدلال سلسلة الأفكار في Gemma 4:

response = client.chat.completions.create(
    model="gemma4",
    messages=[
        {
            "role": "user",
            "content": "صمم سيناريو اختبار كامل لواجهة برمجة تطبيقات معالجة الدفع مع حالات الحافة"
        }
    ],
    extra_body={"think": True}
)

print(response.choices[0].message.content)

للطلبات الأبسط مثل توليد قيمة وهمية واحدة، تخطى وضع التفكير. فهو يضيف زمن استجابة لا تحتاجه.

اختبار استجابات واجهة برمجة تطبيقات Gemma 4 باستخدام Apidog

بمجرد تشغيل مثيل Gemma 4 المحلي الخاص بك، سترغب في اختبار نقاط نهاية واجهة برمجة التطبيقات بشكل منهجي. يتعامل Apidog مع هذا دون الحاجة إلى أدوات إضافية.

استيراد مواصفات واجهة برمجة تطبيقات Ollama. يكشف خادم Ollama المحلي عن نقاط نهاية REST قياسية. أنشئ مشروعًا جديدًا في Apidog وأضف عنوان URL الأساسي http://localhost:11434.

تحديد نقاط النهاية الخاصة بك. أضف نقاط النهاية التي تختبرها:

إعداد سيناريو اختبار. في Apidog، يقوم سيناريو الاختبار بربط طلبات متعددة مع تأكيدات بينها. لاختبار Gemma 4:

  1. الخطوة 1: GET /api/tags للتأكد من ظهور gemma4 في قائمة النماذج
  2. الخطوة 2: POST /api/generate لإرسال موجه والتأكد من أن حقل response غير فارغ
  3. الخطوة 3: POST /v1/chat/completions لإرسال رسالة دردشة والتأكد من أن الرد يطابق التنسيق المتوقع

استخدم معالج استخراج المتغيرات (Extract Variable) في Apidog لالتقاط الاستجابة من الخطوة 2 وتمريرها إلى الخطوة 3. يتيح لك ذلك اختبار تدفقات المحادثة متعددة الأدوار تلقائيًا.

التحقق من صحة مخططات الاستجابة. تقوم ميزة اختبار العقود (Contract Testing) في Apidog بالتحقق من صحة استجابات واجهة برمجة التطبيقات مقابل مواصفات OpenAPI الخاصة بك. حدد شكل الاستجابة المتوقع لكل نقطة نهاية لـ Gemma 4، ثم قم بتشغيل اختبارات العقود بعد تحديثات النموذج لالتقاط أي تغييرات جوهرية في تنسيق واجهة برمجة تطبيقات Ollama.

Smart Mock للتطوير المتوازي. إذا كان الواجهة الخلفية (backend) الخاصة بك تعتمد على استجابات Gemma 4 ولكنك تريد أن تعمل فرق الواجهة الأمامية (frontend) دون انتظار النموذج المحلي، فإن Smart Mock من Apidog يولد استجابات متوافقة مع المخطط من مواصفات واجهة برمجة التطبيقات الخاصة بك تلقائيًا. حدد كيف تبدو استجابة Gemma 4، ويقدم Smart Mock بيانات واقعية عند الطلب.

الإدخال متعدد الوسائط باستخدام Gemma 4

تقبل نماذج E2B و E4B الصور جنبًا إلى جنب مع النص. قم بتمرير الصور كسلاسل مشفرة بتقنية base64:

import base64

with open("api_diagram.png", "rb") as f:
    image_data = base64.b64encode(f.read()).decode()

response = client.chat.completions.create(
    model="gemma4:e4b",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": f"data:image/png;base64,{image_data}"
                    }
                },
                {
                    "type": "text",
                    "text": "صف تدفق واجهة برمجة التطبيقات الموضح في هذا الرسم البياني وحدد مسارات الأخطاء المحتملة"
                }
            ]
        }
    ]
)

هذا مفيد لتحليل رسوم بيانية معمارية، أو مراجعة لقطات شاشة لوثائق واجهة برمجة التطبيقات، أو استخراج البيانات من الصور التي تحتاج واجهة برمجة التطبيقات الخاصة بك لمعالجتها.

المشكلات الشائعة والحلول

يقول Ollama أن النموذج غير موجود. قم بتشغيل ollama pull gemma4 أولاً، أو تحقق باستخدام ollama list.

استدلال بطيء على وحدة المعالجة المركزية (CPU). تم تحسين Gemma 4 لوحدات معالجة الرسومات (GPU). على الأجهزة التي تعتمد على وحدة المعالجة المركزية فقط، توقع من 1 إلى 3 توكنات في الثانية على نموذج e4b. استخدم gemma4:e2b لأداء أفضل على وحدة المعالجة المركزية.

أخطاء نفاد الذاكرة. تحقق من ذاكرة الفيديو (VRAM) المتاحة أو الذاكرة الموحدة باستخدام ollama ps. إذا كان النموذج كبيرًا جدًا، قم بالتبديل إلى gemma4:e2b (7.2 جيجابايت).

النموذج لا يعمل على Apple Silicon. أضاف Ollama 0.20.0 دعم MLX لمعالجات Apple Silicon في الإصدار التجريبي. إذا كنت تستخدم إصدار Ollama أقدم، قم بالتحديث أولاً.

المنفذ مشغول بالفعل. إذا كان هناك شيء آخر يستخدم المنفذ 11434، قم بتعيين منفذ مخصص: OLLAMA_HOST=0.0.0.0:11435 ollama serve.

الاستجابات مقطوعة. قم بزيادة نافذة السياق في طلبك: أضف "options": {"num_ctx": 8192} إلى جسم JSON الخاص بك.

Gemma 4 مقابل النماذج المحلية الأخرى

النموذج أفضل حجم لمعظم المستخدمين السياق استدعاء الوظائف معيار البرمجة
Gemma 4 e4b (9.6 GB) 128K-256K أصلي 80% LiveCodeBench
Llama 3.3 70B-Q4 (40 GB) 128K أصلي ~60% LiveCodeBench
Qwen3.6-Plus 72B-Q4 (44 GB) 128K أصلي قوي
Mistral Small 24B (14 GB) 128K أصلي متوسط

ميزة Gemma 4 هي متغير MoE 26B. بحجم 18 جيجابايت، يقدم جودة تقارب النماذج الرائدة مع 4 مليارات معلمة نشطة في وقت الاستدلال، مما يمنحك توكنات في الثانية أفضل من أي من النماذج الكثيفة الأكبر في هذه القائمة.

لمهام البرمجة البحتة، نموذج 31B قادر على المنافسة مع النماذج الأكبر بكثير. للنشر على الحوسبة الطرفية أو أجهزة الكمبيوتر المحمولة، يعمل e2b بأقل من 8 جيجابايت.

الخلاصة

يعد Gemma 4 مع Ollama أحد أقوى الإعدادات المحلية المتاحة حاليًا. يستغرق التثبيت أمرين فقط. يعمل النموذج الافتراضي على معظم أجهزة المطورين. والقفزة في جودة الاستدلال والبرمجة مقارنة بـ Gemma 3 كبيرة.

ابدأ بتشغيل ollama run gemma4، ثم اختبر واجهة برمجة التطبيقات باستخدام Apidog للتأكد من أن نقاط النهاية الخاصة بك تعمل كما هو متوقع، ثم اختر المتغير المناسب لعبء عملك بناءً على جدول النماذج أعلاه.

بالنسبة للفرق التي تبني ميزات تعتمد على واجهة برمجة التطبيقات فوق Gemma 4، فإن الجمع بين الاستدلال المحلي وميزات Smart Mock و Test Scenarios في Apidog يمنحك حلقة تطوير كاملة بدون تبعيات عن بعد.

button

الأسئلة الشائعة

كيف أقوم بتحديث Gemma 4 في Ollama عندما يصدر إصدار جديد؟أعد تشغيل ollama pull gemma4. يتحقق Ollama من أحدث إصدار ويقوم بتنزيل التغييرات فقط.

هل يمكنني تشغيل Gemma 4 على جهاز بدون وحدة معالجة رسومات (GPU)؟نعم، لكنه سيكون بطيئًا. توقع من 1 إلى 3 توكنات في الثانية على وحدة المعالجة المركزية (CPU). يُعد نموذج e2b الخيار الأكثر عملية للأجهزة التي تحتوي على وحدة معالجة مركزية فقط.

ما الفرق بين gemma4:e2b و gemma4:e4b؟كلاهما نماذج "فعالة" كثيفة محسّنة لأجهزة الحوسبة الطرفية. يحتوي E4B على معلمات أكثر ويتعامل مع الاستدلال المعقد بشكل أفضل. E2B أصغر ويدعم إدخال الصوت. لمعظم مهام النصوص، e4b هو الخيار الافتراضي الأفضل.

هل تعمل Gemma 4 مع LangChain و LlamaIndex؟نعم. يدعم كلا الإطارين Ollama كواجهة خلفية. وجه مزود Ollama إلى http://localhost:11434 واستخدم gemma4 كاسم للنموذج.

هل واجهة برمجة تطبيقات Gemma 4 المحلية متوافقة مع الكود المكتوب لواجهة برمجة تطبيقات OpenAI؟إلى حد كبير، نعم. تتبع نقطة نهاية /v1/chat/completions في Ollama تنسيق OpenAI. قم بتبديل base_url إلى http://localhost:11434/v1 و api_key إلى أي سلسلة نصية غير فارغة. تعمل معظم استدعاءات حزمة SDK الخاصة بـ OpenAI دون تغييرات.

كيف أستخدم وضع التفكير في Gemma 4؟مرر "think": true في المعلمة extra_body عند استخدام حزمة SDK الخاصة بـ OpenAI، أو أضف "think": true إلى جسم JSON الرئيسي في استدعاءات واجهة برمجة التطبيقات المباشرة. قم بتعطيله للمهام البسيطة لتقليل زمن الاستجابة.

هل يمكنني تقديم Gemma 4 لأجهزة أخرى على شبكتي؟نعم. ابدأ Ollama باستخدام OLLAMA_HOST=0.0.0.0:11434 ollama serve ويمكن للأجهزة الأخرى الوصول إليه على عنوان IP الخاص بك على المنفذ 11434.

ما هو أفضل نموذج Gemma 4 لمهام تطوير واجهة برمجة التطبيقات؟لتوليد بيانات وهمية وكتابة حالات اختبار، يوفر نموذج e4b التوازن الصحيح بين السرعة والجودة. لتحليل المواصفات المعقدة أو مراجعة الهندسة المعمارية، يقدم نموذج 26b MoE نتائج أفضل دون تكلفة نموذج 31B الكامل.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات