نشر النماذج المفتوحة المصدر على GKE

1. مقدمة

نظرة عامة

الهدف من هذا الدرس التطبيقي هو تزويدك بتجربة عملية لنشر نموذج مفتوح على Google Cloud، بدءًا من عملية إعداد محلية بسيطة وصولاً إلى عملية نشر على مستوى الإنتاج على Google Kubernetes Engine (GKE). ستتعرّف على كيفية استخدام أدوات مختلفة مناسبة لكل مرحلة من مراحل دورة حياة التطوير.

يتّبع المختبر المسار التالي:

  • إنشاء النماذج الأولية بسرعة: ستشغّل أولاً نموذجًا باستخدام Ollama على جهازك لمعرفة مدى سهولة البدء.
  • التفعيل في مرحلة الإنتاج: أخيرًا، سيتم تفعيل النموذج في GKE Autopilot باستخدام Ollama كمحرّك عرض قابل للتوسيع.

التعرّف على النماذج المفتوحة المصدر

يشير مصطلح "النموذج المفتوح" هذه الأيام عادةً إلى نموذج تعلُّم آلة توليدي متاح للجميع لتنزيله واستخدامه. وهذا يعني أنّ بنية النموذج، والأهم من ذلك، مَعلماته المدرَّبة أو "أوزانه"، يتم إصدارها بشكل علني.

توفّر هذه الشفافية العديد من المزايا مقارنةً بالنماذج المغلقة التي لا يمكن الوصول إليها عادةً إلا من خلال واجهة برمجة تطبيقات مقيّدة:

  • الإحصاءات: يمكن للمطوّرين والباحثين الاطّلاع على التفاصيل الداخلية لفهم طريقة عمل النموذج.
  • التخصيص: يمكن للمستخدمين تكييف النموذج لأداء مهام معيّنة من خلال عملية تُعرف باسم الضبط الدقيق.
  • الابتكار: يتيح للمنتدى إنشاء تطبيقات جديدة ومبتكرة استنادًا إلى نماذج حالية فعّالة.

مساهمة Google ومجموعة نماذج Gemma

ساهمت Google بشكل أساسي في حركة الذكاء الاصطناعي مفتوح المصدر لسنوات عديدة. تُعدّ بنية Transformer الثورية، التي تم تقديمها في ورقة بحثية بعنوان "الاهتمام هو كل ما تحتاجه" في عام 2017، الأساس الذي تستند إليه جميع النماذج اللغوية الكبيرة الحديثة تقريبًا. بعد ذلك، تم إطلاق نماذج مفتوحة بارزة، مثل BERT وT5 وFlan-T5 الذي تم ضبطه على التعليمات، وقد ساهم كل منها في توسيع حدود الإمكانات المتاحة وتعزيز البحث والتطوير في جميع أنحاء العالم.

استنادًا إلى هذا التاريخ الحافل بالابتكار المفتوح، أطلقت Google مجموعة نماذج Gemma. تم إنشاء نماذج Gemma بالاستناد إلى الأبحاث والتكنولوجيا نفسها التي استُخدمت لإنشاء نماذج Gemini القوية والمغلقة المصدر، ولكن تم إتاحتها مع أوزان مفتوحة. بالنسبة إلى عملاء Google Cloud، يوفّر ذلك مزيجًا قويًا من التكنولوجيا المتطورة ومرونة المصادر المفتوحة، ما يتيح لهم التحكّم في دورة حياة النموذج والتكامل مع نظام بيئي متنوع واتّباع استراتيجية السحابة الإلكترونية المتعددة.

نظرة عن كثب على Gemma 3

في هذا التمرين العملي، سنركّز على Gemma 3، وهو أحدث جيل وأكثرها تطورًا في هذه السلسلة. تتسم نماذج Gemma 3 بأنّها خفيفة ومتطوّرة، وهي مصمَّمة لتعمل بكفاءة على وحدة معالجة رسومات واحدة أو حتى وحدة معالجة مركزية.

  • الأداء والحجم: نماذج Gemma 3 خفيفة الوزن ومتطوّرة في الوقت نفسه، وهي مصمَّمة لتعمل بكفاءة على وحدة معالجة رسومات واحدة أو حتى وحدة معالجة مركزية. وتوفّر هذه النماذج جودة فائقة وأداءً متطوّرًا مقارنةً بحجمها.
  • نمط البيانات: هذه النماذج متعدّدة الوسائط، أي أنّها قادرة على معالجة النصوص والصور لإنشاء نصوص.
  • الميزات الرئيسية: تتضمّن Gemma 3 نافذة سياق كبيرة بسعة 128 ألف رمز مميز وتتيح استخدام أكثر من 140 لغة.
  • حالات الاستخدام: هذه النماذج مناسبة تمامًا لمجموعة متنوعة من المهام، بما في ذلك الإجابة عن الأسئلة وتلخيص النصوص والاستدلال.

المصطلحات الرئيسية

أثناء استخدام النماذج المفتوحة، ستصادف بعض المصطلحات الشائعة:

  • يتضمّن التدريب المُسبَق تدريب نموذج على مجموعة بيانات ضخمة ومتنوّعة لتعلُّم أنماط اللغة العامة. هذه النماذج هي في الأساس آلات قوية لإكمال الجمل تلقائيًا.
  • تحسين النموذج استنادًا إلى التعليمات: يتم تحسين نموذج مدرَّب مسبقًا ليصبح قادرًا على اتّباع تعليمات وطلبات محدّدة بشكل أفضل. هذه هي النماذج التي "تعرف كيفية الدردشة".
  • خيارات النماذج: يتم عادةً إصدار النماذج المفتوحة المصدر بأحجام متعددة (مثل يتضمّن Gemma 3 إصدارات ومعلمات مختلفة (1 مليار و4 مليارات و12 مليارًا و27 مليارًا)، بالإضافة إلى خيارات متنوعة، مثل الإصدارات التي تم ضبطها على التعليمات (-it) أو المدربة مسبقًا أو الكمية لتحقيق الكفاءة.
  • احتياجات الموارد: النماذج اللغوية الكبيرة كبيرة وتتطلّب موارد حوسبة كبيرة لاستضافتها. على الرغم من إمكانية تشغيلها محليًا، يوفّر نشرها في السحابة الإلكترونية قيمة كبيرة، خاصةً عند تحسينها من أجل الأداء وقابلية التوسّع باستخدام أدوات مثل Ollama.

لماذا يجب استخدام GKE لعرض النماذج المفتوحة المصدر؟

يرشدك هذا المختبر من تنفيذ النماذج البسيط والمحلي إلى عملية نشر كاملة النطاق في مرحلة الإنتاج على Google Kubernetes Engine (GKE). في حين أنّ أدوات مثل Ollama ممتازة لإنشاء نماذج أولية سريعة، تتضمّن بيئات الإنتاج مجموعة متطلبات صارمة يمكن لـ GKE تلبيتها بشكل فريد.

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

  • إدارة مبسطة باستخدام Autopilot: تتولّى GKE Autopilot إدارة البنية الأساسية. يمكنك التركيز على إعدادات تطبيقك، بينما يوفّر Autopilot العُقد ويوسّع نطاقها تلقائيًا.
  • الأداء العالي وقابلية التوسّع: يمكنك التعامل مع عدد الزيارات المتغيّر والمتطلّب باستخدام ميزة التوسّع التلقائي في GKE. يضمن ذلك إمكانية تطبيقك تقديم معدل نقل بيانات عالٍ مع وقت استجابة منخفض، وتوسيع نطاقه أو تقليصه حسب الحاجة.
  • فعالية التكلفة على نطاق واسع: إدارة الموارد بكفاءة يمكن لخدمة GKE خفض حجم مهام العمل إلى صفر لتجنُّب الدفع مقابل الموارد غير المستخدَمة، ويمكنك الاستفادة من الأجهزة الافتراضية الفورية لخفض التكاليف بشكل كبير لمهام العمل الخاصة بالاستنتاج غير المرتبط بحالة.
  • إمكانية النقل والنظام المتكامل الشامل: تجنَّب الاعتماد الحصري على مورّد واحد من خلال عملية نشر قابلة للنقل تستند إلى Kubernetes. توفّر خدمة GKE أيضًا إمكانية الوصول إلى المنظومة المتكاملة الواسعة النطاق Cloud Native (CNCF) للحصول على أفضل أدوات المراقبة والتسجيل والأمان.

باختصار، يمكنك الانتقال إلى GKE عندما يصبح تطبيق الذكاء الاصطناعي جاهزًا للاستخدام ويتطلّب منصة مصمّمة لتوفير نطاق واسع وأداء عالٍ ومستوى عالٍ من الجودة التشغيلية.

أهداف الدورة التعليمية

في هذه الميزة الاختبارية، ستتعرّف على كيفية تنفيذ المهام التالية:

  • تشغيل نموذج مفتوح المصدر على جهازك باستخدام Ollama
  • نشر نموذج مفتوح المصدر على Google Kubernetes Engine (GKE) في وضع "التوجيه التلقائي" باستخدام Ollama لتقديم الخدمة
  • التعرّف على التقدّم من أُطر تطوير التطبيقات المحلية إلى بنية عرض متوافقة مع بيئة الإنتاج على GKE

2. إعداد المشروع

حساب Google

إذا لم يكن لديك حساب شخصي على Google، عليك إنشاء حساب على Google.

استخدام حساب شخصي بدلاً من حساب تابع للعمل أو تديره مؤسسة تعليمية

تسجيل الدخول إلى Google Cloud Console

سجِّل الدخول إلى Google Cloud Console باستخدام حساب Google شخصي.

تفعيل الفوترة

إعداد حساب فوترة شخصي

إذا أعددت الفوترة باستخدام أرصدة Google Cloud، يمكنك تخطّي هذه الخطوة.

لإعداد حساب فوترة شخصي، يُرجى الانتقال إلى هنا لتفعيل الفوترة في Cloud Console.

ملاحظات:

  • يجب أن تكلفك إكمال هذا المختبر أقل من دولار أمريكي واحد من موارد السحابة الإلكترونية.
  • يمكنك اتّباع الخطوات في نهاية هذا المختبر لحذف الموارد وتجنُّب المزيد من الرسوم.
  • يمكن للمستخدمين الجدد الاستفادة من الفترة التجريبية المجانية بقيمة 300 دولار أمريكي.

إنشاء مشروع (اختياري)

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

3- فتح Cloud Shell Editor

  1. انقر على هذا الرابط للانتقال مباشرةً إلى محرّر Cloud Shell
  2. إذا طُلب منك منح الإذن في أي وقت اليوم، انقر على منح الإذن للمتابعة.انقر لتفويض Cloud Shell
  3. إذا لم تظهر المحطة الطرفية في أسفل الشاشة، افتحها باتّباع الخطوات التالية:
    • انقر على عرض.
    • انقر على Terminalفتح نافذة طرفية جديدة في "محرِّر Cloud Shell"
  4. في الوحدة الطرفية، اضبط مشروعك باستخدام الأمر التالي:
    gcloud config set project [PROJECT_ID]
    
    • مثال:
      gcloud config set project lab-project-id-example
      
    • إذا تعذّر عليك تذكُّر معرّف مشروعك، يمكنك إدراج جميع معرّفات المشاريع باستخدام:
      gcloud projects list
      
      ضبط رقم تعريف المشروع في نافذة Cloud Shell Editor
  5. من المفترض أن تظهر لك هذه الرسالة:
    Updated property [core/project].
    

4. تشغيل Gemma باستخدام Ollama

هدفك الأول هو تشغيل Gemma 3 بأسرع ما يمكن في بيئة تطوير. ستستخدم Ollama، وهي أداة تبسّط بشكل كبير عملية تشغيل النماذج اللغوية الكبيرة محليًا. توضّح لك هذه المهمة أبسط طريقة لبدء تجربة نموذج مفتوح.

Ollama هي أداة مجانية ومفتوحة المصدر تتيح للمستخدمين تشغيل النماذج التوليدية (النماذج اللغوية الكبيرة ونماذج الرؤية واللغة وغيرها) محليًا على أجهزة الكمبيوتر الخاصة بهم. فهي تبسّط عملية الوصول إلى هذه النماذج والتفاعل معها، ما يسهّل استخدامها ويسمح للمستخدمين بالعمل عليها بشكل خاص.

تثبيت Ollama وتشغيله

أنت الآن جاهز لتثبيت Ollama وتنزيل نموذج Gemma 3 والتفاعل معه من سطر الأوامر.

  1. في نافذة Cloud Shell الطرفية، نزِّل Ollama وثبِّته:
    curl -fsSL https://ollama.com/install.sh | sh
    
    يؤدي هذا الأمر إلى تنزيل Ollama وتثبيته وبدء خدمة Ollama.
  2. ابدأ خدمة Ollama في الخلفية:
    ollama serve &
    
  3. اسحب (نزِّل) نموذج Gemma 3 1B باستخدام Ollama:
    ollama pull gemma3:1b
    
  4. تشغيل النموذج محليًا:
    ollama run gemma3:1b
    
    يعرض الأمر ollama run طلبًا (>>>) لتوجيه أسئلة إلى النموذج.
  5. اختبار النموذج بطرح سؤال على سبيل المثال، اكتب Why is the sky blue? واضغط على ENTER. من المفترض أن تظهر لك استجابة مشابهة لما يلي:
    >>> Why is the sky blue?
    Okay, let's break down why the sky is blue – it's a fascinating phenomenon related to how light interacts with the Earth's atmosphere.
    Here's the explanation:
    
    **1. Sunlight and Colors:**
    
    * Sunlight appears white, but it's actually made up of all the colors of the rainbow (red, orange, yellow, green, blue, indigo, and violet).
    Think of a prism splitting sunlight.
    
    **2. Rayleigh Scattering:**
    
    * As sunlight enters the Earth's atmosphere...
    ...
    
  6. للخروج من طلب Ollama في "الوحدة الطرفية"، اكتب /bye واضغط على ENTER.

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

بعد تشغيل خدمة Ollama، يمكنك التفاعل معها آليًا. ستستخدم حزمة تطوير البرامج (SDK) من OpenAI المتوافقة مع واجهة برمجة التطبيقات التي يعرضها Ollama.

  1. في نافذة Cloud Shell الطرفية، أنشئ بيئة افتراضية وفعِّلها باستخدام uv. يضمن ذلك عدم تعارض تبعيات مشروعك مع لغة Python في النظام.
    uv venv --python 3.14
    source .venv/bin/activate
    
  2. في نافذة الأوامر، ثبِّت حزمة تطوير البرامج (SDK) الخاصة بـ OpenAI:
    uv pip install openai
    
  3. أنشئ ملفًا جديدًا باسم ollama_chat.py عن طريق إدخال ما يلي في الوحدة الطرفية:
    cloudshell edit ollama_chat.py
    
  4. ألصِق رمز Python التالي في ollama_chat.py. يرسل هذا الرمز طلبًا إلى خادم Ollama المحلي.
    from openai import OpenAI
    
    client = OpenAI(
        base_url = 'http://localhost:11434/v1',
        api_key='ollama', # required by OpenAI SDK, but not used by Ollama
    )
    
    response = client.chat.completions.create(
        model="gemma3:1b",
        messages=[
            {
                "role": "user",
                "content": "Why is the sky blue?"
            },
        ],
    )
    print(response.choices[0].message.content)
    
  5. شغِّل النص البرمجي في الوحدة الطرفية:
    python3 ollama_chat.py
    
    بعد بضع ثوانٍ، سيظهر لك ردّ مشابه للردّ الذي تلقّيته من سطر الأوامر.
  6. لتجربة وضع البث، أنشئ ملفًا آخر باسم ollama_stream.py من خلال تنفيذ ما يلي في الوحدة الطرفية:
    cloudshell edit ollama_stream.py
    
  7. الصِق المحتوى التالي في ملف ollama_stream.py. لاحظ المَعلمة stream=True في الطلب. يتيح ذلك للنموذج عرض الرموز المميزة فور إنشائها.
    from openai import OpenAI
    
    client = OpenAI(
        base_url = 'http://localhost:11434/v1',
        api_key='ollama',
    )
    
    stream = client.chat.completions.create(
        model="gemma3:1b",
        messages=[
            {
                "role": "user",
                "content": "Why is the sky blue?"
            },
        ],
        stream=True
    )
    for chunk in stream:
        if chunk.choices[0].delta.content is not None:
            print(chunk.choices[0].delta.content, end="", flush=True)
    print()
    
  8. شغِّل النص البرمجي للبث في الوحدة الطرفية:
    python3 ollama_stream.py
    
    سيظهر الردّ الآن رمزًا مميزًا تلو الآخر.

تُعدّ ميزة البث مفيدة لإنشاء تجربة مستخدم جيدة في التطبيقات التفاعلية، مثل برامج الدردشة الآلية. بدلاً من انتظار المستخدم إلى أن يتم إنشاء الإجابة بالكامل، يعرض البث الرد على شكل رموز مميّزة أثناء إنشائها. يوفّر ذلك ملاحظات فورية ويجعل التطبيق يبدو أكثر استجابة.

ما تعلّمته: تشغيل النماذج المفتوحة باستخدام Ollama

لقد شغّلت نموذجًا مفتوح المصدر بنجاح باستخدام Ollama. لقد رأيت مدى سهولة تنزيل نموذج قوي مثل Gemma 3 والتفاعل معه، سواء من خلال واجهة سطر الأوامر أو برمجيًا باستخدام Python. يُعدّ سير العمل هذا مثاليًا لإنشاء نماذج أولية سريعة والتطوير المحلي. أصبح لديك الآن أساس قوي لاستكشاف المزيد من خيارات النشر المتقدّمة.

5- نشر Gemma باستخدام Ollama على GKE Autopilot

بالنسبة إلى أحمال العمل في مرحلة الإنتاج التي تتطلّب عمليات مبسّطة وقابلية للتوسّع، تُعدّ Google Kubernetes Engine (GKE) المنصة المفضّلة. في هذه المهمة، ستنفّذ Gemma باستخدام Ollama على مجموعة GKE Autopilot.

‫GKE Autopilot هو وضع تشغيل في GKE تدير فيه Google إعدادات مجموعتك، بما في ذلك العُقد والتوسيع والأمان والإعدادات الأخرى المُسبَقة الإعداد. توفّر هذه الخدمة تجربة Kubernetes "بدون خادم"، وهي مثالية لتشغيل أحمال عمل الاستدلال بدون إدارة البنية الأساسية للحوسبة.

إعداد بيئة GKE

في المهمة الأخيرة من عملية النشر على Kubernetes، عليك توفير مجموعة GKE Autopilot.

  1. في نافذة Cloud Shell، اضبط متغيّرات البيئة لمشروعك والمنطقة المطلوبة.
    export PROJECT_ID=$(gcloud config get-value project)
    export REGION=europe-west1
    
    gcloud config set compute/region $REGION
    
  2. فعِّل واجهة برمجة التطبيقات GKE API لمشروعك من خلال تنفيذ ما يلي في الوحدة الطرفية:
    gcloud services enable container.googleapis.com
    
  3. أنشئ مجموعة GKE Autopilot من خلال تنفيذ ما يلي في الوحدة الطرفية:
    gcloud container clusters create-auto gemma-cluster \
      --region $REGION \
      --release-channel rapid
    
  4. احصل على بيانات الاعتماد للمجموعة الجديدة من خلال تنفيذ ما يلي في الوحدة الطرفية:
    gcloud container clusters get-credentials gemma-cluster \
      --region $REGION
    

نشر Ollama وGemma

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

  1. أنشئ ملفًا جديدًا باسم gemma-deployment.yaml من خلال تنفيذ الأمر التالي في الوحدة الطرفية:
    cloudshell edit gemma-deployment.yaml
    
  2. الصِق إعدادات YAML التالية في gemma-deployment.yaml. يحدّد هذا الإعداد عملية نشر تستخدم صورة Ollama الرسمية للتشغيل على وحدة المعالجة المركزية.
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: ollama-gemma
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: ollama-gemma
      template:
        metadata:
          labels:
            app: ollama-gemma
        spec:
          containers:
          - name: ollama-gemma-container
            image: ollama/ollama:0.12.10
            resources:
              requests:
                cpu: "8"
                memory: "8Gi"
                ephemeral-storage: "10Gi"
              limits:
                cpu: "8"
                memory: "8Gi"
                ephemeral-storage: "10Gi"
            # We use a script to start the server and pull the model
            command: ["/bin/bash", "-c"]
            args:
            - |
              ollama serve &
              OLLAMA_PID=$!
              echo "Waiting for Ollama server to start..."
              sleep 5
              echo "Pulling Gemma model..."
              ollama pull gemma3:1b
              echo "Model pulled. Ready to serve."
              wait $OLLAMA_PID
            ports:
            - containerPort: 11434
            env:
            - name: OLLAMA_HOST
              value: "0.0.0.0"
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: llm-service
    spec:
      selector:
        app: ollama-gemma
      type: ClusterIP
      ports:
      - protocol: TCP
        port: 8000
        targetPort: 11434
    
    في ما يلي شرح لإعدادات Autopilot:
    • image: ollama/ollama:latest: يحدّد هذا الخيار صورة Docker الرسمية لـ Ollama.
    • resources: نطلب بشكل صريح 8 وحدات معالجة مركزية افتراضية و8 غيغابايت من الذاكرة. يستخدم وضع Autopilot في GKE هذه القيم لتوفير الحوسبة الأساسية. بما أنّنا لا نستخدم وحدات معالجة الرسومات، سيتم تشغيل النموذج على وحدة المعالجة المركزية. ذاكرة بسعة 8 غيغابايت كافية لتخزين نموذج Gemma 1B وسياقه.
    • command/args: نتجاهل أمر بدء التشغيل للتأكّد من سحب النموذج عند بدء وحدة pod. يبدأ النص البرمجي تشغيل الخادم في الخلفية، وينتظر حتى يصبح جاهزًا، ثم يسحب نموذج gemma3:1b، ويستمر في تشغيل الخادم.
    • OLLAMA_HOST: ضبط هذه القيمة على 0.0.0.0 يضمن أنّ Ollama يستمع إلى جميع واجهات الشبكة داخل الحاوية، ما يتيح الوصول إليها من خلال خدمة Kubernetes.
  3. في الجهاز، طبِّق بيان النشر على مجموعتك:
    kubectl apply -f gemma-deployment.yaml
    
    سيستغرق توفير الموارد وبدء وحدة pod بضع دقائق. يمكنك مراقبة ذلك باستخدام:
    kubectl get pods --watch
    
    يُرجى الانتظار إلى أن تصبح حالة الحزمة Running وقيمة READY هي 1/1 قبل المتابعة.

اختبار نقطة نهاية GKE

تعمل خدمة Ollama الآن على مجموعة GKE Autopilot. لاختبارها من نافذة Cloud Shell، ستستخدم kubectl port-forward.

  1. افتح علامة تبويب محطة طرفية جديدة في Cloud Shell (انقر على الرمز + في نافذة المحطة الطرفية). الأمر port-forward هو عملية حظر، لذا يحتاج إلى جلسة طرفية خاصة به.
  2. في الوحدة الطرفية الجديدة، شغِّل الأمر التالي لإعادة توجيه منفذ محلي (مثل ‫8000) إلى منفذ الخدمة (8000):
    kubectl port-forward service/llm-service 8000:8000
    
    ستظهر لك نتائج تشير إلى أنّ عملية إعادة التوجيه قد بدأت. اترك هذه الوحدة الطرفية قيد التشغيل.
  3. ارجع إلى الوحدة الطرفية الأصلية.
  4. أرسِل طلبًا إلى منفذ الميناء المحلي 8000. يعرض خادم Ollama واجهة برمجة تطبيقات متوافقة مع OpenAI، وبسبب إعادة توجيه المنفذ، يمكنك الآن الوصول إليها على http://127.0.0.1:8000.
    curl http://127.0.0.1:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
    "model": "gemma3:1b",
    "messages": [
    {"role": "user", "content": "Explain why the sky is blue."}
    ]
    }'
    
    ستعرض الخدمة استجابة JSON تتضمّن إكمال النموذج.

6. الإزالة

لتجنُّب تحمّل رسوم في حسابك على Google Cloud مقابل الموارد المستخدَمة في هذا المختبر، اتّبِع الخطوات التالية لحذف مجموعة GKE.

  1. في نافذة Cloud Shell، احذف مجموعة GKE Autopilot:
    gcloud container clusters delete gemma-cluster \
      --region $REGION --quiet
    
    سيؤدي هذا الأمر إلى إزالة المجموعة وجميع الموارد المرتبطة بها.

7. الخاتمة

أحسنت صنعًا. في هذا التمرين العملي، تعرّفت على عدة طرق أساسية لنشر النماذج المفتوحة على Google Cloud. لقد بدأت بالبساطة والسرعة في التطوير المحلي باستخدام Ollama. أخيرًا، نشرت Gemma في بيئة قابلة للتوسيع ومناسبة لمرحلة الإنتاج باستخدام وضع التشغيل الآلي في Google Kubernetes Engine وإطار عمل Ollama.

أصبحت لديك الآن المعرفة اللازمة لنشر نماذج مفتوحة المصدر على Google Kubernetes Engine من أجل وحدات العمل المتطلّبة والقابلة للتوسيع بدون إدارة البنية الأساسية.

ملخّص

في هذه الميزة الاختبارية، تعرّفت على ما يلي:

  • ما هي النماذج المفتوحة وسبب أهميتها
  • كيفية تشغيل نموذج مفتوح المصدر محليًا باستخدام Ollama
  • كيفية نشر نموذج مفتوح على Google Kubernetes Engine (GKE) في وضع التشغيل التلقائي باستخدام Ollama للاستدلال

مزيد من المعلومات