1. מבוא
ב-Codelab הזה נדגים איך ליצור ולפרוס אפליקציית צ'אט מבוססת-AI באפליקציית אינטרנט כשירות Cloud Run ב-Google Cloud. אפליקציית הצ'אט הזו מאפשרת למשתמשים לשאול שאלה ולקבל תשובה באמצעות מודל Bison של PaLM לצ'אט ( text-chat).
מה תפַתחו
תצרו
- סביבה ב-Google Cloud להרצת האפליקציה
- קובץ אימג' של Docker לאפליקציה
- שירות Cloud Run שמריץ את האפליקציה
2. דרישות
3. לפני שמתחילים
- ב-מסוף Google Cloud, בדף לבחירת הפרויקט, בוחרים או יוצרים פרויקט ב-Google Cloud.
- מוודאים שהחיוב מופעל בפרויקט בענן שלכם ב-Google Cloud. כך בודקים אם החיוב מופעל בפרויקט
- מפעילים את Cloud Shell מ-מסוף Google Cloud לפי ההוראות כאן.
- אם הפרויקט לא מוגדר, משתמשים בפקודה הבאה כדי להגדיר אותו:
gcloud config set project <YOUR_PROJECT_ID>
- ב-Cloud Shell, מגדירים את משתני הסביבה הבאים:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
- מפעילים את ממשקי ה-API הנדרשים של Google Cloud באמצעות הפקודות הבאות בטרמינל של Cloud Shell:
gcloud services enable cloudbuild.googleapis.com cloudfunctions.googleapis.com run.googleapis.com logging.googleapis.com storage-component.googleapis.com aiplatform.googleapis.com
4. הגדרת הסביבה
- כדי להעתיק את הקוד לדוגמה לפרויקט, משכפלים את המאגר ב-Cloud Shell:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
- הפקודה הזו תשכפל את תוכן המאגר לתיקייה genai-templates-googlecloud.
- כדי לעבור לתיקייה של הפרויקט הרלוונטי, מריצים את הפקודה הבאה בטרמינל של Cloud Shell:
cd genai-apptemplates-googlecloud/chat-flask-cloudrun
- מגדירים את משתני הסביבה הבאים לאתחול של Vertex AI:
GCP_PROJECT : מזהה הפרויקט שלכם ב-Google Cloud. לדוגמה: my_project.
GCP_REGION : האזור שבו רוצים לפרוס את הפונקציה של Cloud Functions. לדוגמה: us-central1.
export GCP_PROJECT='YOUR_PROJECT'
export GCP_REGION='us-central1'
5. יצירת קובץ אימג' של Docker
כדי ליצור קובץ אימג' של Docker לאפליקציה ולהעביר אותו בדחיפה ל-Artifact Registry:
- מגדירים משתנה סביבה למאגר Artifact Registry. השמות יכולים להכיל רק אותיות קטנות, מספרים ומקפים, והם חייבים להתחיל באות ולהסתיים באות או במספר. לדוגמה: my-chat-app-repo.
export AR_REPO='my-chat-app-repo'
- מגדירים משתנה סביבה לשם השירות. לדוגמה: chat-flask-app.
export SERVICE_NAME='chat-flask-app'
- יוצרים את המאגר בפורמט Docker.
gcloud artifacts repositories create "$AR_REPO" --location="$GCP_REGION" --repository-format=Docker
- מגדירים אימות של Docker.
gcloud auth configure-docker "$GCP_REGION-docker.pkg.dev"
- יוצרים את התמונה.
gcloud builds submit --tag "$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME"
- כדי לוודא שהתמונה הועברה אל Artifact Registry, עוברים לדף Artifact Registry. מחפשים בדף הזה את המאגר שיצרתם.
6. פריסת האפליקציה
- פריסת האפליקציה כשירות ב-Cloud Run.
gcloud run deploy "$SERVICE_NAME" \
--port=8080 \
--image="$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME" \
--allow-unauthenticated \
--region=$GCP_REGION \
--platform=managed \
--project=$GCP_PROJECT \
--set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION
השלב הזה עשוי להימשך כמה שניות.
- כדי להפעיל את אפליקציית הצ'אט, לוחצים על כתובת ה-URL של השירות.

אפליקציית הצ'אט תיפתח בכרטיסייה חדשה, כמו שמוצג בצילום המסך הבא:

7. הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם במאמר הזה:
- במסוף Google Cloud, עוברים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
- אם רוצים לשמור את הפרויקט, מדלגים על השלבים שלמעלה ומוחקים את שירות Cloud Run. כדי לעשות זאת, עוברים אל Cloud Run, מסמנים את השירות שרוצים למחוק מתוך רשימת השירותים ולוחצים על DELETE (מחיקה).
8. מזל טוב
מעולה! הצלחתם לפתח ולפרוס אפליקציית צ'אט מבוססת-AI לאפליקציית אינטרנט כשירות Cloud Run ב-Google Cloud. אתם יכולים להשתמש באפליקציית הצ'אט הזו כדי לאפשר למשתמשים להזין את השאילתה שלהם, והאפליקציה תפעיל את מודל הצ'אט של Vertex AI ותספק את התשובה.