استقرار مدل‌های باز در GKE

۱. مقدمه

نمای کلی

هدف این آزمایشگاه ارائه تجربه عملی در استقرار یک مدل باز در Google Cloud است که از یک راه‌اندازی محلی ساده تا استقرار در سطح تولید در Google Kubernetes Engine (GKE) را در بر می‌گیرد. شما یاد خواهید گرفت که چگونه از ابزارهای مختلف مناسب برای هر مرحله از چرخه عمر توسعه استفاده کنید.

آزمایشگاه مسیر زیر را دنبال می‌کند:

  • نمونه‌سازی سریع : ابتدا یک مدل را با Ollama به صورت محلی اجرا خواهید کرد تا ببینید شروع کار چقدر آسان است.
  • استقرار در محیط تولید : در نهایت، شما مدل را با استفاده از Ollama به عنوان یک موتور سرویس‌دهی مقیاس‌پذیر، در GKE Autopilot مستقر خواهید کرد.

درک مدل‌های باز

این روزها معمولاً منظور از «مدل باز» یک مدل یادگیری ماشین مولد است که به صورت عمومی برای دانلود و استفاده همه در دسترس است . این یعنی معماری مدل و از همه مهم‌تر، پارامترهای آموزش‌دیده یا «وزن‌های» آن به صورت عمومی منتشر می‌شوند.

این شفافیت مزایای متعددی نسبت به مدل‌های بسته دارد که معمولاً فقط از طریق یک API محدودکننده قابل دسترسی هستند:

  • بینش : توسعه‌دهندگان و محققان می‌توانند برای درک عملکرد داخلی مدل، «به زیر کاپوت» آن نگاه کنند.
  • سفارشی‌سازی : کاربران می‌توانند مدل را برای وظایف خاص از طریق فرآیندی به نام تنظیم دقیق (fine-tuning) تطبیق دهند.
  • نوآوری : این امر جامعه را قادر می‌سازد تا برنامه‌های جدید و نوآورانه‌ای را بر اساس مدل‌های قدرتمند موجود بسازد.

سهم گوگل و خانواده جما

گوگل سال‌هاست که یکی از مشارکت‌کنندگان اساسی در جنبش هوش مصنوعی متن‌باز بوده است. معماری انقلابی Transformer که در مقاله سال ۲۰۱۷ با عنوان «توجه، تمام چیزی است که نیاز دارید» معرفی شد، پایه و اساس تقریباً تمام مدل‌های زبان بزرگ مدرن است. پس از آن، مدل‌های باز برجسته‌ای مانند BERT، T5 و Flan-T5 با تنظیم دستورالعمل ارائه شدند که هر کدام مرزهای ممکن را جابجا کرده و به تحقیق و توسعه در سراسر جهان دامن زدند.

گوگل با تکیه بر این تاریخچه غنی از نوآوری باز، خانواده مدل‌های Gemma را معرفی کرد. مدل‌های Gemma از همان تحقیقات و فناوری مورد استفاده برای مدل‌های قدرتمند و متن‌باز Gemini ساخته شده‌اند، اما با وزن‌های باز در دسترس قرار گرفته‌اند. برای مشتریان Google Cloud، این ترکیبی قدرتمند از فناوری پیشرفته و انعطاف‌پذیری متن‌باز را فراهم می‌کند که آنها را قادر می‌سازد چرخه عمر مدل را کنترل کنند، با یک اکوسیستم متنوع ادغام شوند و یک استراتژی چند ابری را دنبال کنند.

نگاهی به جما ۳

در این آزمایش، ما بر روی Gemma 3، جدیدترین و توانمندترین نسل این خانواده، تمرکز خواهیم کرد. مدل‌های Gemma 3 سبک اما پیشرفته هستند و برای اجرای کارآمد روی یک پردازنده گرافیکی (GPU) یا حتی یک پردازنده مرکزی (CPU) طراحی شده‌اند.

  • عملکرد و اندازه : مدل‌های Gemma 3 سبک و در عین حال پیشرفته هستند و برای اجرای کارآمد روی یک پردازنده گرافیکی (GPU) یا حتی یک پردازنده مرکزی (CPU) طراحی شده‌اند. آن‌ها با توجه به اندازه خود، کیفیت برتر و عملکرد پیشرفته (SOTA) را ارائه می‌دهند.
  • حالت (Modality) : آنها چندوجهی هستند و قادر به مدیریت ورودی متن و تصویر برای تولید خروجی متن می‌باشند.
  • ویژگی‌های کلیدی : Gemma 3 دارای یک پنجره متن بزرگ ۱۲۸ کیلوبایتی است و بیش از ۱۴۰ زبان را پشتیبانی می‌کند.
  • موارد استفاده : این مدل‌ها برای طیف وسیعی از وظایف، از جمله پاسخ به سوالات، خلاصه‌سازی و استدلال، مناسب هستند.

اصطلاحات کلیدی

هنگام کار با مدل‌های باز، با چند اصطلاح رایج روبرو خواهید شد:

  • پیش‌آموزش شامل آموزش یک مدل روی یک مجموعه داده عظیم و متنوع برای یادگیری الگوهای زبانی عمومی است. این مدل‌ها اساساً ماشین‌های قدرتمند تکمیل خودکار هستند.
  • تنظیم دستورالعمل، یک مدل از پیش آموزش‌دیده را به گونه‌ای تنظیم می‌کند که دستورالعمل‌ها و پیام‌های خاص را بهتر دنبال کند. اینها مدل‌هایی هستند که «می‌دانند چگونه چت کنند».
  • انواع مدل : مدل‌های باز معمولاً در اندازه‌های مختلف (مثلاً Gemma 3 دارای نسخه‌های پارامتری 1B، 4B، 12B و 27B است) و انواع مختلفی مانند تنظیم‌شده با دستورالعمل (-it)، از پیش آموزش‌دیده یا کوانتیزه‌شده برای کارایی منتشر می‌شوند.
  • نیازهای منابع : مدل‌های زبان بزرگ، بزرگ هستند و به منابع محاسباتی قابل توجهی برای میزبانی نیاز دارند. در حالی که می‌توان آنها را به صورت محلی اجرا کرد، استقرار آنها در فضای ابری ارزش قابل توجهی را فراهم می‌کند، به خصوص هنگامی که برای عملکرد و مقیاس‌پذیری با ابزارهایی مانند Ollama بهینه شده باشند.

چرا GKE برای ارائه خدمات به مدل‌های باز مناسب است؟

این آزمایشگاه شما را از اجرای ساده و محلی مدل تا استقرار کامل در مقیاس تولید بر روی موتور کوبرنتیز گوگل (GKE) راهنمایی می‌کند. در حالی که ابزارهایی مانند اولاما برای نمونه‌سازی سریع عالی هستند، محیط‌های تولید مجموعه‌ای از الزامات دشوار دارند که GKE به طور منحصر به فرد در موقعیت برآورده کردن آنها قرار دارد.

برای برنامه‌های کاربردی هوش مصنوعی در مقیاس بزرگ، به چیزی بیش از یک مدل اجرایی نیاز دارید؛ شما به یک زیرساخت خدماتی انعطاف‌پذیر، مقیاس‌پذیر و کارآمد نیاز دارید. GKE این پایه را فراهم می‌کند. در اینجا آمده است که چه زمانی و چرا GKE را انتخاب کنید:

  • مدیریت ساده با Autopilot : GKE Autopilot زیرساخت زیربنایی را برای شما مدیریت می‌کند. شما روی پیکربندی برنامه خود تمرکز می‌کنید و Autopilot به طور خودکار گره‌ها را آماده و مقیاس‌بندی می‌کند.
  • عملکرد و مقیاس‌پذیری بالا : با مقیاس‌پذیری خودکار GKE، ترافیک متغیر و پرتقاضا را مدیریت کنید. این امر تضمین می‌کند که برنامه شما می‌تواند با تأخیر کم، توان عملیاتی بالایی را ارائه دهد و در صورت نیاز، مقیاس را افزایش یا کاهش دهد.
  • مقرون به صرفه بودن در مقیاس : منابع را به طور کارآمد مدیریت کنید. GKE می‌تواند حجم کار را به صفر برساند تا از پرداخت هزینه برای منابع بیکار جلوگیری کند و شما می‌توانید از ماشین‌های مجازی نقطه‌ای (Spot VMs) برای کاهش قابل توجه هزینه‌های مربوط به حجم کار استنتاج بدون وضعیت (stateless inference) استفاده کنید.
  • قابلیت حمل و اکوسیستم غنی : با استقرار قابل حمل و مبتنی بر Kubernetes، از وابستگی به فروشنده اجتناب کنید. GKE همچنین دسترسی به اکوسیستم وسیع Cloud Native (CNCF) را برای بهترین ابزارهای نظارت، ثبت وقایع و امنیت فراهم می‌کند.

به طور خلاصه، زمانی که برنامه هوش مصنوعی شما آماده تولید است و به پلتفرمی نیاز دارد که برای مقیاس‌پذیری، عملکرد و بلوغ عملیاتی جدی ساخته شده باشد، به GKE روی می‌آورید.

آنچه یاد خواهید گرفت

در این آزمایشگاه، شما یاد می‌گیرید که چگونه وظایف زیر را انجام دهید:

  • یک مدل باز را به صورت محلی با Ollama اجرا کنید.
  • یک مدل باز را برای سرویس‌دهی روی Google Kubernetes Engine (GKE) Autopilot با Ollama مستقر کنید.
  • پیشرفت از چارچوب‌های توسعه محلی به یک معماری سرویس‌دهی در سطح تولید در GKE را درک کنید.

۲. راه‌اندازی پروژه

حساب گوگل

اگر از قبل حساب گوگل شخصی ندارید، باید یک حساب گوگل ایجاد کنید .

به جای حساب کاری یا تحصیلی از حساب شخصی استفاده کنید .

ورود به کنسول ابری گوگل

با استفاده از یک حساب کاربری شخصی گوگل، وارد کنسول ابری گوگل شوید.

فعال کردن صورتحساب

یک حساب پرداخت شخصی تنظیم کنید

اگر صورتحساب را با استفاده از اعتبارهای Google Cloud تنظیم کرده‌اید، می‌توانید از این مرحله صرف نظر کنید.

برای تنظیم یک حساب پرداخت شخصی، به اینجا بروید تا پرداخت را در کنسول ابری فعال کنید .

برخی نکات:

  • تکمیل این آزمایشگاه باید کمتر از ۱ دلار آمریکا از طریق منابع ابری هزینه داشته باشد.
  • شما می‌توانید مراحل انتهای این آزمایش را برای حذف منابع دنبال کنید تا از هزینه‌های بیشتر جلوگیری شود.
  • کاربران جدید واجد شرایط استفاده از دوره آزمایشی رایگان ۳۰۰ دلاری هستند.

ایجاد پروژه (اختیاری)

اگر پروژه فعلی ندارید که بخواهید برای این برچسب استفاده کنید، اینجا یک پروژه جدید ایجاد کنید .

۳. ویرایشگر Cloud Shell را باز کنید

  1. برای دسترسی مستقیم به ویرایشگر Cloud Shell ، روی این لینک کلیک کنید.
  2. اگر امروز در هر مرحله‌ای از شما خواسته شد که مجوز دهید، برای ادامه روی تأیید کلیک کنید. برای تأیید Cloud Shell کلیک کنید
  3. اگر ترمینال در پایین صفحه نمایش داده نشد، آن را باز کنید:
    • روی مشاهده کلیک کنید
    • روی ترمینال کلیک کنید باز کردن ترمینال جدید در ویرایشگر Cloud Shell
  4. در ترمینال، پروژه خود را با این دستور تنظیم کنید:
    gcloud config set project [PROJECT_ID]
    
    • مثال:
      gcloud config set project lab-project-id-example
      
    • اگر نمی‌توانید شناسه پروژه خود را به خاطر بیاورید، می‌توانید تمام شناسه‌های پروژه خود را با استفاده از دستور زیر فهرست کنید:
      gcloud projects list
      
      شناسه پروژه را در ترمینال ویرایشگر Cloud Shell تنظیم کنید
  5. شما باید این پیام را ببینید:
    Updated property [core/project].
    

۴. با اولاما، جما را اداره کنید

هدف اول شما این است که Gemma 3 را در سریع‌ترین زمان ممکن در یک محیط توسعه اجرا کنید. شما از 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 را فشار دهید.

استفاده از OpenAI SDK با Ollama

اکنون که سرویس Ollama در حال اجرا است، می‌توانید از طریق برنامه‌نویسی با آن تعامل داشته باشید. شما از OpenAI Python SDK استفاده خواهید کرد که با API ارائه شده توسط Ollama سازگار است.

  1. در ترمینال Cloud Shell، با استفاده از uv یک محیط مجازی ایجاد و فعال کنید. این کار تضمین می‌کند که وابستگی‌های پروژه شما با پایتون سیستم تداخل نداشته باشند.
    uv venv --python 3.14
    source .venv/bin/activate
    
  2. در ترمینال، OpenAI SDK را نصب کنید:
    uv pip install openai
    
  3. با وارد کردن دستور زیر در ترمینال، یک فایل جدید با نام ollama_chat.py ایجاد کنید:
    cloudshell edit ollama_chat.py
    
  4. کد پایتون زیر را در 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 و تعامل با آن، چه از طریق رابط خط فرمان و چه از طریق برنامه‌نویسی با پایتون، چقدر می‌تواند ساده باشد. این گردش کار برای نمونه‌سازی سریع و توسعه محلی ایده‌آل است. اکنون پایه محکمی برای بررسی گزینه‌های استقرار پیشرفته‌تر دارید.

۵. Gemma را به همراه Ollama روی GKE Autopilot مستقر کنید

برای بارهای کاری تولیدی که نیاز به عملیات ساده و مقیاس‌پذیری دارند، موتور کوبرنتیز گوگل (GKE) پلتفرم انتخابی است. در این کار، شما Gemma را با استفاده از Ollama روی یک کلاستر GKE Autopilot مستقر خواهید کرد.

GKE Autopilot یک حالت عملیاتی در GKE است که در آن گوگل پیکربندی کلاستر شما، از جمله گره‌ها، مقیاس‌پذیری، امنیت و سایر تنظیمات از پیش پیکربندی شده را مدیریت می‌کند. این یک تجربه واقعاً "بدون سرور" 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
    

اولاما و جما را مستقر کنید

حالا که یک کلاستر GKE Autopilot دارید، می‌توانید سرور Ollama را مستقر کنید. Autopilot به طور خودکار منابع محاسباتی (CPU و حافظه) را بر اساس الزاماتی که در مانیفست استقرار خود تعریف می‌کنید، فراهم می‌کند.

  1. با اجرای دستور زیر در ترمینال، یک فایل جدید با نام gemma-deployment.yaml ایجاد کنید:
    cloudshell edit gemma-deployment.yaml
    
  2. پیکربندی YAML زیر را در gemma-deployment.yaml قرار دهید. این پیکربندی، استقراری را تعریف می‌کند که از تصویر رسمی Ollama برای اجرا روی CPU استفاده می‌کند.
    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 : این فایل، ایمیج رسمی Ollama Docker را مشخص می‌کند.
    • resources : ما به صراحت ۸ vCPU و ۸Gi حافظه درخواست می‌کنیم. GKE Autopilot از این مقادیر برای تأمین محاسبات زیربنایی استفاده می‌کند. از آنجایی که ما از GPU استفاده نمی‌کنیم، مدل روی CPU اجرا خواهد شد. ۸Gi حافظه برای نگهداری مدل Gemma 1B و محتوای آن کافی است.
    • command/args : ما دستور راه‌اندازی را لغو می‌کنیم تا مطمئن شویم که مدل هنگام شروع pod دریافت می‌شود. اسکریپت، سرور را در پس‌زمینه شروع می‌کند، منتظر آماده شدن آن می‌ماند، مدل gemma3:1b را دریافت می‌کند و سپس سرور را در حال اجرا نگه می‌دارد.
    • OLLAMA_HOST : تنظیم این مقدار روی 0.0.0.0 تضمین می‌کند که Ollama به تمام رابط‌های شبکه درون کانتینر گوش می‌دهد و آن را برای سرویس Kubernetes قابل دسترسی می‌کند.
  3. در ترمینال، مانیفست استقرار را روی کلاستر خود اعمال کنید:
    kubectl apply -f gemma-deployment.yaml
    
    چند دقیقه طول می‌کشد تا خلبان خودکار منابع را فراهم کند و پاد شروع به کار کند. می‌توانید با استفاده از موارد زیر آن را رصد کنید:
    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 یک API سازگار با 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 برمی‌گرداند.

۶. تمیز کردن

برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع مورد استفاده در این آزمایشگاه، این مراحل را برای حذف خوشه GKE دنبال کنید.

  1. در ترمینال Cloud Shell، خوشه GKE Autopilot را حذف کنید:
    gcloud container clusters delete gemma-cluster \
      --region $REGION --quiet
    
    این دستور، کلاستر و تمام منابع مرتبط با آن را حذف می‌کند.

۷. نتیجه‌گیری

عالی بود! در این آزمایشگاه، شما چندین روش کلیدی برای استقرار مدل‌های باز در Google Cloud را بررسی کردید. شما با سادگی و سرعت توسعه محلی با Ollama شروع کردید. در نهایت، Gemma را با استفاده از Google Kubernetes Engine Autopilot و چارچوب Ollama در یک محیط مقیاس‌پذیر در سطح تولید مستقر کردید.

اکنون شما به دانش لازم برای استقرار مدل‌های باز در موتور کوبرنتیز گوگل برای بارهای کاری مقیاس‌پذیر و دشوار، بدون مدیریت زیرساخت‌های زیربنایی، مجهز شده‌اید.

خلاصه

در این آزمایشگاه، شما آموخته‌اید:

  • مدل‌های باز چیستند و چرا مهم هستند؟
  • نحوه اجرای یک مدل باز به صورت محلی با Ollama.
  • نحوه استقرار یک مدل باز روی Autopilot موتور گوگل کوبرنتیز (GKE) با استفاده از Ollama برای استنتاج.

بیشتر بدانید