1. บทนำ
Codelab นี้จะแสดงวิธีสร้างและทำให้แอปแชทที่ใช้ AI ใช้งานได้บนเว็บแอปพลิเคชัน โดยอยู่ในรูปแบบบริการ Cloud Run บน Google Cloud แอปแชทนี้ช่วยให้ผู้ใช้ค้นหาและรับคำตอบโดยใช้โมเดล PaLM สำหรับ Chat Bison ( text-chat) ได้
สิ่งที่คุณจะสร้าง
คุณจะได้สร้าง
- สภาพแวดล้อมใน Google Cloud สำหรับเรียกใช้แอปพลิเคชัน
- อิมเมจ Docker สำหรับแอปพลิเคชัน
- บริการ Cloud Run ที่เรียกใช้แอปพลิเคชัน
2. ข้อกำหนด
3. ก่อนเริ่มต้น
- ใน Google Cloud Console ในหน้าตัวเลือกโปรเจ็กต์ ให้เลือกหรือสร้างโปรเจ็กต์ 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
- เปิดใช้ Google Cloud API ที่จำเป็นโดยเรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell Terminal
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 Function ใช้งานได้ ตัวอย่างเช่น 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 ให้ไปที่หน้าจัดการทรัพยากร
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิกลบ
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเครื่องเพื่อลบโปรเจ็กต์
- หากต้องการเก็บโปรเจ็กต์ไว้ ให้ข้ามขั้นตอนข้างต้นและลบบริการ Cloud Run โดยไปที่ Cloud Run แล้วเลือกบริการที่ต้องการลบจากรายการบริการ แล้วคลิก "ลบ"
8. ขอแสดงความยินดี
ยินดีด้วย คุณสร้างและทำให้แอปแชทที่ใช้ AI ใช้งานได้สำหรับเว็บแอปพลิเคชันเป็นบริการ Cloud Run บน Google Cloud เรียบร้อยแล้ว คุณสามารถใช้แอปแชทนี้เพื่ออนุญาตให้ผู้ใช้ป้อนคำถาม และแอปนี้จะเรียกใช้โมเดลแชท Vertex AI และแสดงคำตอบ