Day 5B: Final AI Agent Project — Full End-to-End Build (Complete Course Summary)
สรุปย่อ
ประเด็นสำคัญจากวิดีโอ
- **ช่อง:** Adspolitan Knowledge Studio · **ความยาว:** ~24 นาที · **ลิงก์:** https://www.youtube.com/watch?v=vKprxad_YuY
# สรุป: Day 5B: Final AI Agent Project — Full End-to-End Build (Complete Course Summary) - **ช่อง:** Adspolitan Knowledge Studio · **ความยาว:** ~24 นาที · **ลิงก์:** https://www.youtube.com/watch?v=vKprxad_YuY ## ประเด็นหลัก - Assignment สุดท้าย (optional) ของคอร์ส: deploy เอเจนต์จากเครื่อง local ขึ้น Vertex AI Agent Engine บน Google Cloud ให้กลายเป็น service พร้อม production - การสมัคร Google Cloud: ผู้ใช้ใหม่ได้เครดิตฟรี $300 ใช้ได้ 90 วัน ต้องผูกบัตรเครดิตเพื่อยืนยัน (มีการทดสอบหักคืน ~$1) — ไม่ถูกเก็บเงินจนกว่าจะอัปเกรดแพ็กเกจเอง - การตั้งค่าใน notebook: ลิงก์บัญชีผ่าน Google Cloud SDK (authorization code), ตั้ง project ID จาก Cloud Console (ระวังสับสนกับ project number), ตั้ง GOOGLE_GENAI_USE_VERTEXAI=1 เพื่อใช้ Vertex AI แทน Google AI Studio - สร้าง weather assistant agent: ใช้โมเดล Gemini 2.5 Flash + tool get_weather (mock ข้อมูลเมือง SF/NY/London/Tokyo/Paris) + instructions แบบเป็นมิตร — สร้างไฟล์ requirements.txt, .env, agent.py ใน agent directory - Vertex AI Agent Engine: fully managed, autoscaling, มี session management ในตัว, deploy ง่ายด้วย starter pack และมี monthly free tier - Deployment configuration: min instances = 0 (scale เหลือศูนย์เมื่อไม่ใช้ = ประหยัด), max instances = 1, CPU 1 แกน, memory 1 GiB ต่อ instance — คุมค่าใช้จ่ายต่ำสุด - เลือก deployment region แบบสุ่มจาก 4 region (Europe West/West 4, US East/Central) — แต่ละคนอาจเห็นต่างกันได้เพราะเป็น random choice - ขั้น deploy: stage ไฟล์ทั้งหมด → อัปโหลด → containerized deployment (เจอ error ต้อง enable Vertex AI API ครั้งแรก) → ได้ resource name (project/region/reasoning engine/ID) - ทดสอบด้วย Python SDK: remote agent รับ query "สภาพอากาศ Tokyo" → function call get_weather(city=Tokyo) → function response success + รายงานอากาศ — เห็น stream เบื้องหลังครบ - Long-term memory ด้วย Vertex AI Memory Bank: session memory ลืมเมื่อจบบทสนทนา (user ต้องบอกซ้ำว่าชอบ Celsius) แต่ memory bank จำถาวรข้าม session — เพิ่ม memory tools + callback/plugin แล้ว deploy ใหม่ ทำงานอัตโนมัติไม่ต้องมี infrastructure เพิ่ม - Cleanup สำคัญมาก: ลบ deployment ทดสอบเมื่อเสร็จ (force delete remote agent), ปิดเอเจนต์ที่ไม่ใช้, เปิด tracing เพื่อ debug — ไม่งั้นอาจโดนเก็บเงินหลัง 90 วันหรือเกิน $300 - ปิดบัญชีอย่างปลอดภัย: ดู billing ยืนยัน cost = $0 → disable billing → ปิดบัญชี billing (พิมพ์ close) — เปิดใหม่เชื่อมโปรเจกต์กลับได้ - ปิดท้ายด้วยสรุปเส้นทาง 5 วัน (fundamentals → tools → session/memory → observability/evaluation → deployment) และ capstone project (optional) ที่ผู้เข้าร่วมได้ badge + ใบรับรอง Kaggle ## ความเห็นสรุป วิดีโอนี้เหมาะกับผู้ที่อยากเห็นเส้นทางเต็มจากโค้ดจนถึง production จริงครับ จุดเด่นคือครอบคลุมทั้งเรื่องเทคนิคและการเงิน (free tier, การปิด billing กันโดนเก็บเงิน) ซึ่งมักถูกมองข้ามในคอร์สอื่นครับ ข้อควรระวังคือช่วงท้ายอ้างถึงวันที่และเดดไลน์ใบรับรอง (ธันวาคม 2025 / กุมภาพันธ์ 2026) ซึ่งผูกกับรอบคอร์สของผู้สอน ผู้ดูที่เข้าคอร์สทีหลังควรเช็คเงื่อนไขล่าสุดจากแหล่งทางการเองครับ
คำแปลเต็ม
แปลตามบทสนทนาต้นฉบับ ปรับเป็นภาษาไทยธรรมชาติ
เรามาถึง assignment สุดท้ายของคอร์ส 5 วันนี้แล้วครับ อันนี้เป็นแบบ optional ถ้าอยากทำก็ทำได้ ถ้าอยากข้ามก็ได้ตามสะดวกครับ แต่ผมแนะนำให้ลองทำ เพราะในวิดีโอนี้และ assignment นี้เราจะเรียนวิธีพาเอเจนต์จากเครื่อง local ของเราไปสู่ service ที่พร้อมใช้งานจริงใน production โดย deploy เอเจนต์ขึ้น Vertex AI Agent Engine บน Google Cloud ครับ ก่อนหน้านั้นถ้ายังไม่ได้ฟัง ขอให้ย้อนไปฟังพอดแคสต์สรุปกันก่อน และอ่าน white paper เรื่อง prototype to production ด้วยครับ ข้อมูลเหล่านี้จะช่วยคุณไม่ใช่แค่ใน assignment นี้ แต่ยังช่วยตอนทำ capstone project ซึ่งก็เป็น optional เช่นกันครับ capstone project เป็นส่วนท้ายของคอร์สซึ่งเป็นข้อมูลหลังจบคอร์สครับ
เอาล่ะ กลับมาที่ assignment สุดท้ายของคอร์สนี้กัน ผมจะคลิกที่ deploy เพื่อเปิด notebook แล้วคลิก edit my copy ที่มุมขวาบนเพื่อให้ได้สำเนาที่แก้ไขได้ครับ โอเค ได้มาแล้วครับ ตอนนี้มันบอกว่าใน assignment นี้คุณจะเรียนการสร้าง ADK agent ที่พร้อมใช้งานจริง การ deploy เอเจนต์ของคุณไปยัง Vertex AI ด้วย ADK CLI การทดสอบเอเจนต์ที่ deploy แล้วด้วย Python SDK การเฝ้าดูและจัดการเอเจนต์ใน Google Cloud Console การเข้าใจวิธีเพิ่ม memory ให้เอเจนต์ด้วย Vertex AI Memory Bank และการเข้าใจการจัดการค่าใช้จ่ายกับแนวปฏิบัติที่ดีในการ cleanup ครับ
เมื่อพูดถึง Vertex AI ข้อกำหนดเบื้องต้นอย่างแรกคือต้องสร้างบัญชี Google หรือก็คือบัญชี Google Cloud ครับ คนส่วนใหญ่น่าจะมีอยู่แล้ว ถ้ายังไม่มีก็คลิกตรงนี้เพื่อสมัครได้เลย สำหรับผู้ใช้ใหม่คุณจะได้เครดิตฟรี 300 ดอลลาร์ ใช้ได้ 90 วัน ไม่มีค่าใช้จ่ายในช่วงทดลองใช้ฟรี 90 วันนี้ แต่ถ้าใช้ต่อหลัง 90 วัน จำนวนเงินจะถูกหักจากบัตรเครดิตของคุณครับ ระหว่างสมัครบัญชีคุณจะถูกขอให้เพิ่มบัตรเครดิต ซึ่งจำเป็นสำหรับทดลองใช้ฟรี พวกเขาจะไม่หักอะไรเลย เว้นแต่คุณจะไปอัปเกรดบัญชีเป็นแพ็กเกจถัดไปเองครับ นอกจากนี้ demo นี้อยู่ใน free tier อยู่แล้ว ดังนั้นระหว่างทำคอร์สนี้คุณจะไม่ถูกเก็บเงินครับ เนื่องจากผมมีบัญชีอยู่แล้วจึงไม่ต้องสมัคร แต่ผมจะแสดงให้ดูว่าหน้าตาเป็นอย่างไร เมื่อคลิกสมัครจะขึ้นว่าเริ่มใช้ฟรี คลิกตรงนั้นได้เลย แต่ถ้ามีบัญชีอยู่แล้วแค่คลิกที่ console ครับ เดี๋ยวเราค่อยไปส่วน console กันทีหลัง ผมจะเปิดแท็บซ้ำขึ้นมาเพื่อแสดงให้เห็นว่าผู้ใช้ใหม่สมัครอย่างไร กดเริ่มต้น ยอมรับเงื่อนไข แล้วมันจะขอให้กรอกรายละเอียดบัตรเครดิตเพื่อยืนยันตัวตนครับ มีสองทางเลือกคือ UPI กับการเพิ่มบัตรเครดิตหรือเดบิต คุณเพิ่มแล้วกดเริ่มฟรีได้เลย ระบบจะตรวจสอบ อาจจะหักไปประมาณหนึ่งดอลลาร์ แล้วคืนธุรกรรมนั้นกลับมาในไม่กี่วินาที ไม่ต้องตกใจครับ จากนั้นคุณเริ่มใช้ฟรีได้เลยครับ
อย่างไรก็ตามถ้าคุณมีบัญชีอยู่แล้วซึ่งผมคิดว่าคนส่วนใหญ่น่าจะมี แค่ไปที่มุมขวาบนตรงที่เขียนว่า console คลิกเข้าไป มันจะพาไปหน้าโปรเจกต์ครับ ขึ้นอยู่กับว่าคุณเคยทำโปรเจกต์ไว้กี่อัน ผมมีอยู่หลายโปรเจกต์ คุณต้องแน่ใจว่าใช้โปรเจกต์ที่สร้างไว้ระหว่างทำ assignment นี้ เพื่อให้ข้อมูลทั้งหมดอยู่ในโปรเจกต์เดียวกันครับ ผมใช้อันนี้มาตลอด ก็เลือกอันนี้ครับ โอเค ผมได้ project ID project number และนี่คือชื่อโปรเจกต์ที่ผมใช้ตลอดทั้งคอร์สนี้ครับ
กลับมาที่ notebook ครับ ขอ import ส่วนประกอบกันก่อน import เสร็จเรียบร้อยแล้ว ต่อไปเราจะลิงก์บัญชีเพื่อเพิ่ม credentials เข้าสู่ secrets ครับ ก่อนหน้านี้เราคลิกที่ add-ons ด้านบน เลือก secrets แล้ววาง API key ที่คัดลอกจาก AI Studio แต่ตรงนี้เราจะใช้ Google Cloud SDK ครับ มันจะขอให้ลิงก์บัญชีของคุณตรงนี้ คลิกที่ฝั่งขวา แล้วเลือกบัญชีที่คุณใช้อยู่ ยืนยันตัวตนครับ มันบอกว่า Scale มีสิทธิ์เข้าถึงอยู่แล้ว ดู service สี่ตัวที่มันเข้าถึงได้ มีเข้าถึงตัวนี้ ตัวนี้ ตัวนี้ ซึ่งผมโอเคกับมัน กด continue แล้วตอนนี้คุณเห็น authorization code ถูกวางลงตรงนี้แล้ว คลิก complete แล้วมันถูกคัดลอกแล้ว คุณมีโค้ดตรงนี้ครับ รันส่วนนี้ ตอนนี้ credentials ถูกตั้งค่าเรียบร้อยแล้วครับ
ส่วนถัดไปคือเรื่อง project ID ครับ ขอย้อนทำให้ดูอีกครั้งว่าหน้าตาเป็นอย่างไร มันจะเป็นแบบนี้ครับ project ID ของคุณ และโค้ดจะหน้าตาเป็นแบบนี้ ตอนนี้คุณต้องตั้ง project ID ตรงนี้ วิธีทำคือเมื่อ project ID เท่ากับค่านี้ซึ่งเป็น string ให้ไปที่ Google Cloud Console ของคุณ นี่คือ project ID และนี่คือ project number ดังนั้นระวังตอนเลือกให้ดีนะครับ เอา project ID คัดลอกจากตรงนี้ กลับมาที่ notebook แล้วแทนที่ string นี้ แล้ว execute เพียงเท่านี้ project ID ของคุณก็ถูกตั้งแล้ว เสร็จแล้วครับ โอเค ห้ามเปลี่ยนค่าตรงนี้เด็ดขาด มันจะ error ครับ ขอลองให้ดูว่า error หน้าตาเป็นอย่างไร ผมวาง project ID ตรงนี้ด้วย ตอนนี้มันจะ error ผมกด Ctrl C แล้วรันใหม่ ตอนนี้ project ID ถูกตั้งแล้วครับ
โอเค ขั้นแรกตรงนี้คือสร้างเอเจนต์ของคุณด้วย ADK ครับ สิ่งที่เราทำตรงนี้คือสร้าง weather assistant ที่ทำหน้าที่เป็นเอเจนต์ตัวอย่างครับ และเอเจนต์นี้ถูกปรับแต่งเพื่อการทดสอบ production ด้วยการตั้งค่านี้ โมเดลที่เราใช้คือ Gemini 2.5 Flash ครับ แล้วเราใช้ tool อย่าง get_weather ก่อนหน้านี้เราใช้ Google Search กันมา แต่ตรงนี้เราจะใช้ get_weather ครับ ส่วน persona หรือก็คือ instructions เราจะให้คำแนะนำว่าควรให้ข้อมูลสภาพอากาศอย่างไร แล้วเราจะสร้างไฟล์เหล่านี้ครับ นี่คือไฟล์เอเจนต์ตัวอย่างที่คุณเคยเห็น ทั้งไฟล์ JSON และไฟล์ env จากวิดีโอก่อนๆ ครับ เราจะสร้างไฟล์พวกนี้ในโครงสร้าง directory ครับ
เริ่มจากขั้นแรกคือสร้าง agent directory ครับ นี่คือ directory เอเจนต์ตัวอย่างที่เราจะสร้างตรงนี้ สร้างเสร็จแล้ว ต่อไปมีไฟล์ที่เราต้องใช้ครับ ขั้น 2.2 เป็นเรื่องของไฟล์ เราจะเขียนไฟล์ requirements.txt ใหม่ซึ่งก็อันนี้ครับ ถัดไปคือ environment ซึ่งก็ไฟล์ .env นี่เองครับ โอเค requirements เสร็จแล้ว มาที่ขั้น 2.3 ผมรันอันนี้ environment ก็ถูกเขียนแล้วครับ เมื่อพูดว่า global หมายความว่ามันใช้ global endpoint สำหรับการเรียก Gemini API ครับ ถัดไป GOogle_GENAI_USE_VERTEXAI เท่ากับ 1 ปกติเราต้องตั้งค่านี้เป็น 1 เพื่อใช้ Vertex AI ครับ ส่วน 0 หมายถึงใช้ Google AI Studio เท่านั้นเอง ง่ายๆ ครับ เพราะเราต้องตั้งค่า Vertex AI เราจึงใช้ 1 ครับ
ถัดไปเราสร้างโค้ดของเอเจนต์ครับ พวกนี้เราเคยทำกันมาแล้ว คือระบุโมเดล เพิ่ม tool ใส่ instructions สำหรับ assistant ครับ ตรงนี้เราเขียนไฟล์นี้คือ agent.py โดย import จาก ADK และ import จาก Vertex AI ครับ project คือ Google Cloud project ตามที่เราระบุไว้ location เป็น global และเรานิยาม tool ชื่อ get_weather สำหรับเมืองซึ่งรับค่าเป็น string อาร์กิวเมนต์ที่ให้มาคือคืนข้อมูลสภาพอากาศของเมืองที่กำหนด นี่คือ tool ที่เอเจนต์เรียกใช้ได้เมื่อ user ถามเรื่องสภาพอากาศครับ ใน production จริงมันจะเรียก weather API จริงๆ อย่าง OpenWeatherMap แต่ใน demo นี้เราใช้ข้อมูล mock แน่นอนครับ อาร์กิวเมนต์คือ city มันจะให้ชื่อเมืองอย่าง Tokyo หรือ New York แล้วคืน dictionary ที่มีสถานะกับรายงานสภาพอากาศหรือข้อความ error หากสะกดชื่อเมืองผิดหรือไม่มีในฐานข้อมูล API ครับ
ฐานข้อมูลสภาพอากาศ mock ตรงนี้มีเมืองอยู่ประมาณนี้ครับ เช่น San Francisco จะได้ success สภาพอากาศใน San Francisco แดดออก อุณหภูมิประมาณนี้ รวมถึง New York London Tokyo Paris ครับ เรามีข้อมูลพวกนี้ครับ เรานิยามช่วงของเมืองที่รองรับ ส่วน available cities คือการ join จากข้อมูลสภาพอากาศ และมีข้อความ error ในกรณีที่เมืองใดเมืองหนึ่งไม่มีในฐานข้อมูลครับ อย่างสุดท้ายคือการนิยาม root agent ครับ weather_assistant ใช้ Gemini description คือผู้ช่วยสภาพอากาศที่ให้ข้อมูลสภาพอากาศของเมืองต่างๆ ส่วน instructions เป็นมิตรมากครับ คือคุณเป็นผู้ช่วยสภาพอากาศที่เป็นมิตร เมื่อ user ถามเรื่องสภาพอากาศ ให้ระบุชื่อเมืองจากคำถาม ใช้ tool ชื่อ get_weather ดึงข้อมูลสภาพอากาศปัจจุบัน ตอบด้วยน้ำเสียงเป็นกันเอง ถ้าเมืองไม่มีให้แนะนำเมืองอื่นที่มีให้เลือก ให้ความช่วยเหลือและตอบกระชับ และ tool ที่เราใช้คือ get_weather ครับ ผมจะรันอันนี้ ตอนนี้เราได้เอเจนต์แล้วครับ
ต่อไป section สามซึ่งเป็น section สำคัญคือการ deploy เอเจนต์ขึ้น Vertex AI Agent Engine ครับ ขอเล่าเรื่อง Agent Engine กันสักหน่อย มันเป็นบริการแบบ fully managed รองรับ autoscaling (ปรับขนาดอัตโนมัติ) มี session management ในตัว และ deploy ง่าย คุณใช้ starter pack ก็ทำได้เลยครับ ตรงนี้มีโน้ตไว้ว่าเพื่อช่วยให้คุณเริ่มต้นกับ runtime นี้ เอเจนต์นี้มี monthly free tier ครับ ถ้าคุณอยากรันเพิ่ม อยากเรียนรู้เพิ่ม คุณมีเวลา 90 วันกับมัน ทำงานกับมันได้เลยครับ แต่คุณควรตรวจสอบให้แน่ใจเสมอว่า cleanup ทรัพยากรให้ทันที ถ้าปล่อยให้มันรันค้างไว้คุณอาจมีค่าใช้จ่ายเกิดขึ้นครับ ต้องระวังเรื่องนี้ให้มาก เพราะคุณผูกบัตรเครดิตไว้ และมีโอกาสสูงว่าถ้าปล่อยทิ้งไว้เกิน 90 วัน หรือแม้แต่ใน 90 วันหากค่าใช้จ่ายเกิน 300 ดอลลาร์ คุณจะถูกเรียกเก็บเงินตามจำนวนนั้นครับ
ขั้นแรกคือสร้าง configuration หรือ deployment configuration ครับ คุณจะสร้างไฟล์นี้ซึ่งควบคุมการตั้งค่า deployment ขอผันอันนี้ครับ มันอธิบายไว้ว่า minimum instance เท่ากับศูนย์ หมายความว่ามันปรับลดขนาดลงเหลือศูนย์เมื่อไม่มีใช้งาน ซึ่งในทางหนึ่งช่วยเราประหยัดค่าใช้จ่ายครับ maximum instances เท่ากับหนึ่ง หมายความว่ารันสูงสุดหนึ่ง instance ซึ่งเพียงพอสำหรับ demo นี้ครับ CPU หนึ่งหมายถึงหนึ่งแกน CPU ต่อ instance และ memory หนึ่ง GiB ก็คือหนึ่งกิกะไบต์ของหน่วยความจำต่อ instance ครับ การตั้งค่าเหล่านี้ทำให้ค่าใช้จ่ายต่ำสุดโดยยังให้ทรัพยากรเพียงพอสำหรับเอเจนต์ของเราครับ
ต่อไปคือเลือก deployment region ครับ ก่อนหน้านี้เราบอกว่าเป็น global แต่ตรงนี้เราให้รายการ region ที่ผมเคยบอกไปว่าจะมี Europe West Europe West 4 US East คุณไม่ได้เอาตัวนั้น เราเอา East กับ West ครับ คุณจะมี multi-region ให้เลือกมากมาย ถ้าไปที่ console คุณจะเห็น dropdown แบบ multi-region ให้เข้าใจด้วยครับ คุณยังสามารถอ่านเอกสารเรื่อง agent location เพื่อทำความเข้าใจว่ามี region ที่ใช้ได้หลาย region บ้าง ในตัวอย่างและ assignment นี้เราใช้สี่ region นี้ครับ ส่วน deployment region ที่เราเลือกคือ Europe West 4 ครับ ทำไมเลือก Europe West 4 เพราะเราบอกให้สุ่มเอาอันไหนก็ได้จากลิสต์นี้ครับ ผมรันอีกครั้ง มันได้ west home ถ้ารันอีกครั้งมันจะได้อันอื่น ตอนนี้ได้ Europe West ครับ เพราะเราสุ่มเลือกจากลิสต์ region ทั้งสี่นี้ มันจะหยิบ region ใดก็ได้มาหนึ่งอัน ดังนั้นเวลาคุณทำตามผม ถ้าเห็น region อื่นโผล่มา ไม่ต้องกังวลครับ มันแค่การสุ่มเลือกครับ
ตอนนี้ใช้ ADK ครับ เราจะ deploy เอเจนต์กัน ผมจะบอกสองอย่างครับ อันดับแรกผมจะแสดงว่าเกิดอะไรขึ้นตรงนี้ ตรงนี้คือ sample agent กับ directory ของมัน สิ่งที่เราทำคือการ stage ไฟล์ทั้งหมดครับ เรา stage ไฟล์ทั้งหมดแล้วอัปโหลดขึ้น Agent Engine ซึ่งจะสร้าง deployment แบบ containerized ครับ ทีนี้ถ้าเห็นตรงนี้ เราได้รับ error ว่า API นี้ยังไม่เคยถูกใช้ในโปรเจกต์นี้มาก่อนหรือถูกปิดใช้งาน Vertex AI API ยังไม่เคยใช้ในโปรเจกต์นี้หรือถูกปิดอยู่ ให้เปิดใช้งานผ่าน console ครับ ก็แน่นอนครับ ผมคลิกลิงก์นี้จากตรงนี้เลยแล้วกด enable ครับ ผมรันซ้ำอีกครั้ง บางครั้งเสร็จในไม่กี่นาที บางครั้งใช้ 2 ถึง 5 นาทีในการ deploy ครับ
เนื่องจากมันบอกว่าคุณดูความคืบหน้าและ log ได้ที่นี่ ขอคลิกแสดงให้ดูว่าหน้าตาเป็นอย่างไรบน console ครับ ตรงนี้คุณจะเห็นว่าพบ installation เดิมอยู่ กำลังถอนการติดตั้งตัวเดิม ถอนสำเร็จแล้ว กำลังลบ container ที่เป็นตัวกลางออก ตอนนี้กำลัง push reasoning engine ครับ push request ไปยัง repository กำลังเตรียม layer ที่มีอยู่แล้ว push แล้ว สถานะล่าสุดคือคุณได้แบบนี้ เสร็จแล้ว จุดเริ่มต้นกำลังเริ่มต้น service จุดเริ่มต้นกำลังเปิดแอปพลิเคชันหลัก uvicorn รันอยู่บนนี้ เริ่ม parent process แล้ว โดยสรุปคุณจะเห็นทุกอย่างที่เกิดขึ้นตรงนี้ใน log ครับ
กลับมาตรงนี้ คุณเห็น output เป็น resource name และนั่นคือเอเจนต์ของเราครับ resource name หน้าตาเป็นแบบ project นี่คือ project number แล้วระบุ region ว่าต้องการ region ไหน แล้วตามด้วย reasoning engine กับ ID ของมันครับ เราได้ค่านี้มาแล้ว และ temp folder ก็ถูกล้างแล้วด้วย เสร็จเรียบร้อยครับ ต่อไปเราจะไปเรียกคืนเอเจนต์ที่ deploy ไว้ครับ ผมรันอันนี้ ตอนนี้มันจะเชื่อมต่อกับเอเจนต์ที่ deploy ไว้ มันบอกว่าเชื่อมต่อกับเอเจนต์ที่ deploy แล้ว เป๊ะเลยครับ และคุณเห็นว่าเป็นเอเจนต์ตัวเดิม project ตัวเดิม ตามด้วย resource agent ID location region resource engine และ reason agent ID ครับ สิ่งที่เกิดขึ้นคือ cell นี้เรียกคืนเอเจนต์ที่เรา deploy ไว้ มัน initialize ตัว Vertex AI SDK แล้วแสดงรายการเอเจนต์ที่ deploy ไว้ทั้งหมดใน region นั้น แล้วหยิบตัวแรกซึ่งเป็นตัวที่ deploy ล่าสุด คือตัวที่เราเพิ่ง deploy ไปด้านบน แล้วเก็บไว้เป็น remote agent ครับ
ต่อไปคือการทดสอบเอเจนต์ที่ deploy แล้วครับ เราจะส่ง query ไปยังเอเจนต์ที่ deploy ไว้แล้วดูว่ามันตอบอย่างไร ตรงนี้เป็น remote agent คำถามคือสภาพอากาศใน Tokyo เป็นอย่างไร และนี่คือ user ID ครับ สิ่งที่เกิดขึ้นตรงนี้คืออันดับแรกเราได้ function call ครับ ตรงนี้มันใส่ city เป็น Tokyo ระบุชื่อ get_weather ซึ่งก็ tool ที่คุณมีกับโมเดล Gemini ครับ ส่วน reasoning จบลงแล้ว มันบอกว่า stop ครับ ทีนี้ function response เป็นอย่างไร ใน function response มี ID ตัว tool ที่มันเรียกใช้คือ get_weather สถานะของ response เป็น success รายงานว่าสภาพอากาศใน Tokyo แจ่มใส อุณหภูมิประมาณนี้ครับ นี่คือวิธีที่ทั้ง stream ทำงานเบื้องหลัง เป็นวิธีที่หลายอย่างถูกเรียกใช้ครับ
ต่อไป section ห้าเรื่อง long-term memory กับ Vertex AI Memory Bank ครับ Memory Bank เป็นอะไรและแก้ปัญหาอะไร ของเรามี session memory คือจำบทสนทนาได้ระหว่างที่เราแชตกัน แต่พอ session จบลง อย่างที่เราเคยพูดกันในวิดีโอก่อน มันลืมทุกอย่าง การสนทนาใหม่ทุกครั้งจึงเริ่มจากศูนย์ครับ ปัญหาตรงนี้คือ user บอกเอเจนต์ว่าฉันชอบหน่วยองศา Celsius วันนี้ พรุ่งนี้ user ถามเรื่องสภาพอากาศ เอเจนต้องตอบเป็น Fahrenheit เพราะมันลืมความชอบของ user ไปแล้ว ใช่ไหมครับ ครั้งนี้ user ต้องบอกความชอบซ้ำอีกครับ
สิ่งที่ Memory Bank ทำคือให้ long-term memory ข้าม session แก่เอเจนต์ครับ ความต่างระหว่าง session memory กับ memory bank คือ session memory ใช้ได้กับบทสนทนาเดียว ขณะที่ memory bank เก็บทุกบทสนทนา อ้างอิงถึงทุกบทสนทนาได้ครับ session memory ลืมเมื่อ session จบ ส่วน memory bank จำได้ถาวรครับ วิธีทำงานคือระหว่างบทสนทนาเอเจนต์ใช้ memory tools ค้นหาข้อเท็จจริงในอดีต และหลังจบบทสนทนา Agent Engine จะสกัดข้อมูลสำคัญ เช่น user ชอบ Celsius ในกรณีนี้ แล้วใน session ถัดไปเอเจนต้นเรียกใช้ข้อมูลนั้นโดยอัตโนมัติครับ พูดคือเมื่อ session แรก user บอกว่าฉันชอบ Celsius แล้ว session สองซึ่งอาจเป็นหลายวันถัดมาหรือวันถัดไป user ถามเรื่องสภาพอากาศ เอเจนต์จะตอบเป็น Celsius อัตโนมัติครับ นี่คือข้อได้เปรียบของการมี memory bank ครับ
ทีนี้จะใช้ memory bank ได้อย่างไร คุณต้องเพิ่ม memory tools เข้าไปในเอเจนต์ เช่น preload_memory tool ที่เราเคยทำไว้ก่อนหน้า และคุณต้องเพิ่ม callback ด้วยครับ คุณจะมี pre และ post callback เสมอ ถ้าจำกันได้เราเคยคุยเรื่องนี้ในวิดีโอก่อน คุณต้องมี callback หรือ plugin เพื่อบันทึกบทสนทนาลง memory bank เสมอ แล้วคุณ deploy เอเจนต์ใหม่ครับ เมื่อตั้งค่าเสร็จ memory bank จะทำงานอัตโนมัติ ไม่ต้องมี infrastructure เพิ่มเติมครับ คุณสามารถอ่านสองส่วนนี้เพื่อเข้าใจการ implement หรือ deploy เอเจนต์ที่ใช้ memory ได้ครับ
section สุดท้ายคือ cleanup ครับ cleanup สำคัญมาก มันคือการลบทรัพยากรที่ทดสอบเสร็จแล้วซึ่งไม่จำเป็นอีกต่อไป เพื่อป้องกันค่าใช้จ่ายที่ไม่คาดคิดครับ อย่างที่ผมบอกไปตอนต้นวิดีโอ ถ้าคุณไม่ได้ใช้เอเจนต์ อย่าปล่อยให้มันรันค้างไว้ คุณควรหยุดมัน ไม่เช่นนั้นจะมีค่าใช้จ่ายเกิดขึ้น นั่นคือสิ่งที่มันบอกครับ คุณควร cleanup ข้อมูลเสมอ คือลบทรัพยากรที่ไม่ได้ใช้ และปิดเอเจนต์เสมอถ้าไม่ได้ใช้งานครับ ตอนนี้เราได้สร้างมันขึ้นมาและเห็นว่ามันทำงานอย่างไรแล้ว สิ่งถัดไปคือลบ resource ซึ่งก็ remote agent ที่เราสร้างไว้ครับ เราใช้ force เท่ากับ true ซึ่งเราเคยทำครั้งก่อนเมื่อสร้างไฟล์ที่มีอยู่แล้วและต้องลบมัน เราทำ force delete มาแล้ว ที่นี่เราทำแบบเดียวกันซ้ำอีกครั้งครับ และตรงนี้คุณเห็น agent resource มันบอกว่า resource นี้ถูกลบแล้ว ขึ้นว่ากำลังลบ ลบเอเจนต์แล้ว เสร็จเรียบร้อยครับ
ยินดีด้วยครับ คุณทำคอร์ส 5 วันเรื่อง agent AI ที่จัดโดย Google และ Kaggle จนเสร็จสมบูรณ์แล้ว ถ้าต้องการคุณสามารถทำ capstone project แบบ optional ต่อได้เลยครับ โปรดตรวจสอบเอกสารเหล่านี้เพื่อเข้าใจว่าการ deploy ทำอย่างไรในวิธีอื่นที่ไม่ใช่ ADK หากคุณใช้ GKE หรือ Cloud Run ครับ ส่วนแนวปฏิบัติที่ดีที่สุดตามที่เราคุยกันไป คือลบ deployment ทดสอบเมื่อเสร็จเพื่อหลีกเลี่ยงค่าใช้จ่าย เปิดใช้ tracing โดยตั้ง enable tracing เป็น true เพื่อ debug และทำความเข้าใจว่ามี error หรือปัญหาค่าใช้จ่ายตรงไหน คุณสามารถหาได้ว่า job ไหนทำให้เกิดอะไร และเฝ้าดูผ่าน AI console ได้ครับ
ทีนี้ขอสรุปการเดินทาง 5 วันกันอย่างรวดเร็วครับ ตลอดห้าวันนี้เราได้เรียนพื้นฐานของเอเจนต์ เราเข้าใจเครื่องมือขั้นสูง เช่น custom และ built-in best practices รวมถึง session กับ memory ความต่างระหว่างสองอย่างนี้ และเมื่อไหร่ควรใช้อะไรครับ เรียนรู้ว่า observability กับ evaluation คืออะไรและทำงานร่วมกันอย่างไร และวันนี้คือ production deployment วิธีให้เอเจนต์ของเรามีชีวิตจริงด้วย Vertex AI Agent Engine ครับ ตอนนี้เรามีชุดเครื่องมือครบถ้วนสำหรับสร้าง ทดสอบ และ deploy เอเจนต์ที่พร้อมใช้งานจริงอย่างสำเร็จแล้วครับ
เมื่อเสร็จแล้วทั้งหมดนี้ คุณสามารถไปที่ส่วน billing บน console ของคุณแล้วลบบัตรออกจากบัญชีถ้าคุณจะไม่ทำอะไรเพิ่มเติมกับบัญชีนี้ครับ ผมจะไปที่ console นี้อีกครั้ง หรือจะเข้าผ่านลิงก์ Google Cloud ลิงก์ไหนก็ได้ครับ ผมเอาอันนี้เพราะมันอยู่ใกล้มือครับ จากตรงนี้ถ้าเห็น ผมจะไปที่ไอคอน hamburger อีกครั้ง ตรงนี้มี billing ซึ่งเป็นหนึ่งในผลิตภัณฑ์ยอดนิยม คลิกเข้าไปครับ เดี๋ยวบอกว่าเกิดอะไรขึ้น ค่าใช้จ่ายรวมของผมตั้งแต่เริ่มใช้คือเป็นศูนย์ เพราะเป็น free tier ผมไม่ได้ถูกเก็บเงินเลยครับ ตอนนี้มันแสดงว่าเป็นเครดิต free tier ตรงนี้ครับ เมื่อแปลง 300 ดอลลาร์เป็นรูปีอินเดีย จะได้ประมาณ 26,000 รูปี มันบอกจำนวนวันที่เหลืออยู่คือ 91 วัน และหมดอายุประมาณวันที่ 23 กุมภาพันธ์ ค.ศ. 2026 ครับ ถ้าผมต้องการก็เก็บไว้ได้ ถ้าไม่ต้องการก็ลบทิ้งได้ครับ ไอคอนรูปเฟืองนี้ซึ่งเขียนว่าจัดการบัญชี billing คลิกเข้าไป ผมเลือกได้ทั้งเปลี่ยนหรือปิดการ billing ผมเลือกปิดการ billing แล้วกด disable ครับ ตอนนี้ไม่มีโปรเจกต์ใดเชื่อมกับบัญชี billing นี้แล้ว ผมมีบัญชี billing ที่มีบัตรเครดิตอยู่แต่ไม่ได้ใช้มันอีกต่อไป ตอนนี้ billing สำหรับโปรเจกต์นี้ถูกปิดแล้วครับ อย่างไรก็ตามถ้าผมอยากปิดบัญชีนี้ทั้งหมด ผมสามารถไปที่เครื่องหมาย X ตรงนี้ มันเขียนว่าปิดบัญชี billing คลิกเข้าไป แล้วมันถามว่าต้องการปิดจริงหรือ คุณต้องพิมพ์คำว่า close ผมพิมพ์ close แล้วตอนนี้มันบอกว่าบัญชี billing นี้ถูกปิดแล้ว คุณสามารถเปิดใหม่เพื่อใช้งานต่อและเชื่อมโปรเจกต์กลับเข้ามา หมายความว่าคุณเปิดใหม่ได้ เชื่อมโปรเจกต์กลับ และเพิ่มบัญชีของคุณอีกครั้งได้ครับ
เราทำการตั้งค่า การพัฒนา และการ deploy ของ AI agent ครบถ้วนสมบูรณ์แล้วครับ ทีนี้มาดูกันว่ามีอะไรใน capstone project บ้าง ผมจะพาไปที่เซิร์ฟเวอร์ Discord ตรงนี้ และคอมเมนต์จาก Melissa เมื่อวันที่ 5 พฤศจิกายน มันบอกว่าตรงหน้านี้คุณจะเห็นขั้นตอนสุดท้ายของโปรเจกต์ โดยพื้นฐานแล้ว capstone project ถ้าคุณอยากทำก็ทำได้ ถ้าไม่อยากทำมันเป็น optional การมีส่วนร่วมใน capstone project เป็นเรื่องสมัครใจ อย่างไรก็ตามผู้เข้าร่วมทุกคนจะได้รับ badge และใบรับรองของ Kaggle ภายในสิ้นเดือนธันวาคมปี 2025 ครับ ถ้าคุณไม่ร่วมก็ไม่เป็นไรครับ ตรงนี้ถ้าคลิกอันนี้ มันจะบอกว่าคุณจะเห็นใบรับรองอย่างไร คุณไปที่หน้านั้นแล้วจะเห็นว่าคุณทำคอร์ส intensive 5 วันเสร็จแล้ว คลิกดู มันจะเปิดใบรับรองพร้อมชื่อของคุณครับ เมื่อคุณทำคอร์ส 5 วันนี้จบแล้ว กลับมาใหม่ในปีหน้าแล้วค่อยมาดูใบรับรองเอเจนต์ของคุณได้ครับ หวังว่าคุณจะชอบวิดีโอและซีรีส์ทั้งหมดนะครับ ขอบคุณมากที่รับชมครับ
หมายเหตุการแปล
ความโปร่งใสเกี่ยวกับความไม่แน่นอนในต้นฉบับ
- ไม่มีการใช้สัญลักษณ์ระบุเสียงไม่ชัดเจน (0 จุด) — ทุก segment เข้าใจความหมายได้ครบ
อภิธานศัพท์เทคนิค
คำศัพท์และชื่อผลิตภัณฑ์ที่คงรูปภาษาอังกฤษ
| ศัพท์ | คำแปล / คำอธิบาย |
|---|---|
| Vertex AI Agent Engine | บริการรันเอเจนต์แบบ fully managed บน Google Cloud |
| deploy / deployment | การปล่อยระบบขึ้นใช้งานจริง |
| production ready | พร้อมใช้งานใน production |
| Google Cloud Console | คอนโซลจัดการทรัพยากรบน Google Cloud |
| free credits / free tier | เครดิตฟรี / แพ็กเกจฟรี (ผู้ใช้ใหม่ได้ $300 ใน 90 วัน) |
| UPI | Unified Payments Interface — ช่องทางชำระเงินอินเดีย |
| project ID / project number | รหัสประจำโปรเจกต์ / เลขประจำโปรเจกต์บน Google Cloud |
| credentials | ข้อมูลยืนยันตัวตนสำหรับเข้าถึงบริการ |
| secrets | ที่เก็บค่าลับ เช่น API key อย่างปลอดภัย |
| authorization code | รหัสยืนยันสิทธิ์เข้าถึงบัญชี |
| Google Cloud SDK | ชุดเครื่องมือพัฒนาของ Google Cloud |
| global endpoint | จุดเชื่อมต่อ API ระดับ global (ไม่ผูก region) |
| GOOGLE_GENAI_USE_VERTEXAI | ตัวแปรสภาพแวดล้อม เป็น 1 = ใช้ Vertex AI, 0 = ใช้ Google AI Studio |
| weather assistant | ผู้ช่วยสภาพอากาศ (เอเจนต์ตัวอย่างใน codelab) |
| Gemini 2.5 Flash | โมเดล Gemini รุ่นเร็วประหยัด |
| get_weather | ชื่อ tool ดึงข้อมูลสภาพอากาศในตัวอย่าง |
| mock data | ข้อมูลจำลองแทนข้อมูลจริง |
| OpenWeatherMap | ตัวอย่าง weather API จริงใน production |
| requirements.txt | ไฟล์ระบุไลบรารีที่โปรเจกต์ Python ต้องใช้ |
| .env | ไฟล์ตัวแปรสภาพแวดล้อมของโปรเจกต์ |
| agent.py | ไฟล์โค้ดนิยามเอเจนต์ |
| fully managed | บริการที่ผู้ให้บริการดูแลโครงสร้างพื้นฐานให้ทั้งหมด |
| autoscaling | การปรับขนาดระบบอัตโนมัติตามปริมาณใช้งาน |
| session management | การจัดการเซสชันผู้ใช้ในตัวของระบบ |
| starter pack | แพ็กเกจเริ่มต้นสำหรับ deploy อย่างรวดเร็ว |
| deployment configuration | ไฟล์ควบคุมการตั้งค่า deployment |
| minimum/maximum instances | จำนวน instance ต่ำสุด/สูงสุด (0 = scale to zero) |
| scale to zero | ปรับลดเหลือศูนย์ instance เมื่อไม่มีใช้งาน (ประหยัดเงิน) |
| CPU / GiB memory | แกนประมวลผล / หน่วยความจำกิกะไบต์ต่อ instance |
| deployment region | พื้นที่ตั้งของ deployment (เช่น Europe West 4, US East) |
| multi-region | ครอบคลุมหลายพื้นที่/ทวีป |
| staging | การรวบรวมไฟล์เตรียมอัปโหลด |
| containerized deployment | การ deploy แบบใส่ในคอนเทนเนอร์ |
| reasoning engine | ชื่อทรัพยากร engine ที่รันเอเจนต์บน Vertex AI |
| resource name | ชื่อทรัพยากรเอเจนต์ (project/region/engine/ID) |
| remote agent | เอเจนต์ที่ deploy แล้ว เรียกใช้จากระยะไกลผ่าน SDK |
| Python SDK | ชุดเครื่องมือภาษา Python สำหรับเรียกใช้บริการ |
| function call / function response | การเรียกฟังก์ชัน / ผลตอบกลับจากฟังก์ชัน |
| Vertex AI Memory Bank | บริการความจำระยะยาวข้าม session ของเอเจนต์บน Vertex AI |
| long-term memory | ความจำระยะยาว |
| session memory | ความจำเฉพาะบทสนทนาเดียว จบแล้วลืม |
| Celsius / Fahrenheit | หน่วยองศา (เซลเซียส/ฟาเรนไฮต์) — ตัวอย่างความชอบผู้ใช้ที่ memory bank จำได้ |
| preload_memory tool | เครื่องมือโหลดความจำก่อนเริ่มตอบ (แบบ proactive) |
| callback / plugin | ฟังก์ชันเรียกกลับ/ปลั๊กอินสำหรับบันทึกบทสนทนาลง memory bank |
| cleanup | การลบทรัพยากรที่ไม่ใช้แล้วกันค่าใช้จ่าย |
| force delete | การลบแบบบังคับโดยไม่ถามยืนยัน |
| tracing | การติดตามเส้นทางการทำงานเพื่อ debug |
| GKE / Cloud Run | บริการรันระบบอื่นของ Google Cloud (ทางเลือกนอกจาก ADK) |
| billing account | บัญชีสำหรับเก็บเงินค่าบริการ |
| disable billing / close billing account | ปิดการเรียกเก็บเงิน / ปิดบัญชี billing |
| capstone project | โปรเจกต์ส่งท้ายคอร์ส (optional) |
| Kaggle badge / certificate | ตรารับรอง/ใบรับรองจาก Kaggle |
| Discord server | เซิร์ฟเวอร์แชทชุมชน (ที่ประกาศ capstone) |
ซับไตเติ้ลภาษาไทย
ดาวน์โหลดหรือดูซับทั้งหมด
1 00:00:00,000 --> 00:00:03,107 เรามาถึง assignment สุดท้ายของคอร์ส 5 2 00:00:03,107 --> 00:00:06,214 วันนี้แล้วครับ อันนี้เป็นแบบ optional 3 00:00:06,214 --> 00:00:09,993 ถ้าอยากทำก็ทำได้ ถ้าอยากข้ามก็ได้ตามสะดวกครับ 4 00:00:09,993 --> 00:00:13,185 แต่ผมแนะนำให้ลองทำ เพราะในวิดีโอนี้และ
เปิดดูซับไตเติ้ลทั้งหมด (453 segments)
1 00:00:00,000 --> 00:00:03,107 เรามาถึง assignment สุดท้ายของคอร์ส 5 2 00:00:03,107 --> 00:00:06,214 วันนี้แล้วครับ อันนี้เป็นแบบ optional 3 00:00:06,214 --> 00:00:09,993 ถ้าอยากทำก็ทำได้ ถ้าอยากข้ามก็ได้ตามสะดวกครับ 4 00:00:09,993 --> 00:00:13,185 แต่ผมแนะนำให้ลองทำ เพราะในวิดีโอนี้และ 5 00:00:13,185 --> 00:00:14,284 assignment 6 00:00:14,284 --> 00:00:17,811 นี้เราจะเรียนวิธีพาเอเจนต์จากเครื่อง local 7 00:00:17,811 --> 00:00:21,170 ของเราไปสู่ service ที่พร้อมใช้งานจริงใน 8 00:00:21,170 --> 00:00:24,781 production โดย deploy เอเจนต์ขึ้น Vertex AI 9 00:00:24,781 --> 00:00:27,552 Agent Engine บน Google Cloud ครับ 10 00:00:27,552 --> 00:00:29,819 ก่อนหน้านั้นถ้ายังไม่ได้ฟัง 11 00:00:29,819 --> 00:00:33,263 ขอให้ย้อนไปฟังพอดแคสต์สรุปกันก่อน และอ่าน 12 00:00:33,263 --> 00:00:36,790 white paper เรื่อง prototype to production 13 00:00:36,790 --> 00:00:40,401 ด้วยครับ ข้อมูลเหล่านี้จะช่วยคุณไม่ใช่แค่ใน 14 00:00:40,401 --> 00:00:43,676 assignment นี้ แต่ยังช่วยตอนทำ capstone 15 00:00:43,676 --> 00:00:46,951 project ซึ่งก็เป็น optional เช่นกันครับ 16 00:00:46,951 --> 00:00:48,295 capstone project 17 00:00:48,295 --> 00:00:52,410 เป็นส่วนท้ายของคอร์สซึ่งเป็นข้อมูลหลังจบคอร์สครับ 18 00:00:52,410 --> 00:00:54,677 เอาล่ะ กลับมาที่ assignment 19 00:00:54,677 --> 00:00:58,036 สุดท้ายของคอร์สนี้กัน ผมจะคลิกที่ deploy 20 00:00:58,036 --> 00:01:01,395 เพื่อเปิด notebook แล้วคลิก edit my copy 21 00:01:01,395 --> 00:01:04,922 ที่มุมขวาบนเพื่อให้ได้สำเนาที่แก้ไขได้ครับ 22 00:01:04,922 --> 00:01:07,946 โอเค ได้มาแล้วครับ ตอนนี้มันบอกว่าใน 23 00:01:07,946 --> 00:01:11,473 assignment นี้คุณจะเรียนการสร้าง ADK agent 24 00:01:11,473 --> 00:01:13,908 ที่พร้อมใช้งานจริง การ deploy 25 00:01:13,908 --> 00:01:17,351 เอเจนต์ของคุณไปยัง Vertex AI ด้วย ADK CLI 26 00:01:17,351 --> 00:01:21,130 การทดสอบเอเจนต์ที่ deploy แล้วด้วย Python SDK 27 00:01:21,130 --> 00:01:24,489 การเฝ้าดูและจัดการเอเจนต์ใน Google Cloud 28 00:01:24,489 --> 00:01:27,261 Console การเข้าใจวิธีเพิ่ม memory 29 00:01:27,261 --> 00:01:30,284 ให้เอเจนต์ด้วย Vertex AI Memory Bank 30 00:01:30,284 --> 00:01:34,819 และการเข้าใจการจัดการค่าใช้จ่ายกับแนวปฏิบัติที่ดีในการ 31 00:01:34,819 --> 00:01:37,674 cleanup ครับ เมื่อพูดถึง Vertex AI 32 00:01:37,674 --> 00:01:41,201 ข้อกำหนดเบื้องต้นอย่างแรกคือต้องสร้างบัญชี 33 00:01:41,201 --> 00:01:44,476 Google หรือก็คือบัญชี Google Cloud ครับ 34 00:01:44,476 --> 00:01:46,576 คนส่วนใหญ่น่าจะมีอยู่แล้ว 35 00:01:46,576 --> 00:01:49,851 ถ้ายังไม่มีก็คลิกตรงนี้เพื่อสมัครได้เลย 36 00:01:49,851 --> 00:01:53,630 สำหรับผู้ใช้ใหม่คุณจะได้เครดิตฟรี 300 ดอลลาร์ 37 00:01:53,630 --> 00:01:57,493 ใช้ได้ 90 วัน ไม่มีค่าใช้จ่ายในช่วงทดลองใช้ฟรี 38 00:01:57,493 --> 00:02:00,264 90 วันนี้ แต่ถ้าใช้ต่อหลัง 90 วัน 39 00:02:00,264 --> 00:02:03,623 จำนวนเงินจะถูกหักจากบัตรเครดิตของคุณครับ 40 00:02:03,623 --> 00:02:07,402 ระหว่างสมัครบัญชีคุณจะถูกขอให้เพิ่มบัตรเครดิต 41 00:02:07,402 --> 00:02:09,670 ซึ่งจำเป็นสำหรับทดลองใช้ฟรี 42 00:02:09,670 --> 00:02:11,433 พวกเขาจะไม่หักอะไรเลย 43 00:02:11,433 --> 00:02:15,548 เว้นแต่คุณจะไปอัปเกรดบัญชีเป็นแพ็กเกจถัดไปเองครับ 44 00:02:15,548 --> 00:02:19,159 นอกจากนี้ demo นี้อยู่ใน free tier อยู่แล้ว 45 00:02:19,159 --> 00:02:23,106 ดังนั้นระหว่างทำคอร์สนี้คุณจะไม่ถูกเก็บเงินครับ 46 00:02:23,106 --> 00:02:26,549 เนื่องจากผมมีบัญชีอยู่แล้วจึงไม่ต้องสมัคร 47 00:02:26,549 --> 00:02:29,572 แต่ผมจะแสดงให้ดูว่าหน้าตาเป็นอย่างไร 48 00:02:29,572 --> 00:02:32,428 เมื่อคลิกสมัครจะขึ้นว่าเริ่มใช้ฟรี 49 00:02:32,428 --> 00:02:33,855 คลิกตรงนั้นได้เลย 50 00:02:33,855 --> 00:02:37,550 แต่ถ้ามีบัญชีอยู่แล้วแค่คลิกที่ console ครับ 51 00:02:37,550 --> 00:02:40,658 เดี๋ยวเราค่อยไปส่วน console กันทีหลัง 52 00:02:40,658 --> 00:02:45,864 ผมจะเปิดแท็บซ้ำขึ้นมาเพื่อแสดงให้เห็นว่าผู้ใช้ใหม่สมัครอย่างไร 53 00:02:45,864 --> 00:02:47,964 กดเริ่มต้น ยอมรับเงื่อนไข 54 00:02:47,964 --> 00:02:52,834 แล้วมันจะขอให้กรอกรายละเอียดบัตรเครดิตเพื่อยืนยันตัวตนครับ 55 00:02:52,834 --> 00:02:54,514 มีสองทางเลือกคือ UPI 56 00:02:54,514 --> 00:02:57,033 กับการเพิ่มบัตรเครดิตหรือเดบิต 57 00:02:57,033 --> 00:03:00,560 คุณเพิ่มแล้วกดเริ่มฟรีได้เลย ระบบจะตรวจสอบ 58 00:03:00,560 --> 00:03:02,912 อาจจะหักไปประมาณหนึ่งดอลลาร์ 59 00:03:02,912 --> 00:03:06,103 แล้วคืนธุรกรรมนั้นกลับมาในไม่กี่วินาที 60 00:03:06,103 --> 00:03:07,363 ไม่ต้องตกใจครับ 61 00:03:07,363 --> 00:03:09,966 จากนั้นคุณเริ่มใช้ฟรีได้เลยครับ 62 00:03:09,966 --> 00:03:15,173 อย่างไรก็ตามถ้าคุณมีบัญชีอยู่แล้วซึ่งผมคิดว่าคนส่วนใหญ่น่าจะมี 63 00:03:15,173 --> 00:03:18,364 แค่ไปที่มุมขวาบนตรงที่เขียนว่า console 64 00:03:18,364 --> 00:03:21,387 คลิกเข้าไป มันจะพาไปหน้าโปรเจกต์ครับ 65 00:03:21,387 --> 00:03:24,662 ขึ้นอยู่กับว่าคุณเคยทำโปรเจกต์ไว้กี่อัน 66 00:03:24,662 --> 00:03:26,342 ผมมีอยู่หลายโปรเจกต์ 67 00:03:26,342 --> 00:03:30,205 คุณต้องแน่ใจว่าใช้โปรเจกต์ที่สร้างไว้ระหว่างทำ 68 00:03:30,205 --> 00:03:31,380 assignment นี้ 69 00:03:31,380 --> 00:03:35,327 เพื่อให้ข้อมูลทั้งหมดอยู่ในโปรเจกต์เดียวกันครับ 70 00:03:35,327 --> 00:03:39,190 ผมใช้อันนี้มาตลอด ก็เลือกอันนี้ครับ โอเค ผมได้ 71 00:03:39,190 --> 00:03:41,290 project ID project number 72 00:03:41,290 --> 00:03:45,405 และนี่คือชื่อโปรเจกต์ที่ผมใช้ตลอดทั้งคอร์สนี้ครับ 73 00:03:45,405 --> 00:03:48,176 กลับมาที่ notebook ครับ ขอ import 74 00:03:48,176 --> 00:03:51,787 ส่วนประกอบกันก่อน import เสร็จเรียบร้อยแล้ว 75 00:03:51,787 --> 00:03:55,314 ต่อไปเราจะลิงก์บัญชีเพื่อเพิ่ม credentials 76 00:03:55,314 --> 00:03:58,841 เข้าสู่ secrets ครับ ก่อนหน้านี้เราคลิกที่ 77 00:03:58,841 --> 00:04:02,536 add-ons ด้านบน เลือก secrets แล้ววาง API key 78 00:04:02,536 --> 00:04:05,895 ที่คัดลอกจาก AI Studio แต่ตรงนี้เราจะใช้ 79 00:04:05,895 --> 00:04:07,659 Google Cloud SDK ครับ 80 00:04:07,659 --> 00:04:10,346 มันจะขอให้ลิงก์บัญชีของคุณตรงนี้ 81 00:04:10,346 --> 00:04:13,873 คลิกที่ฝั่งขวา แล้วเลือกบัญชีที่คุณใช้อยู่ 82 00:04:13,873 --> 00:04:16,477 ยืนยันตัวตนครับ มันบอกว่า Scale 83 00:04:16,477 --> 00:04:19,332 มีสิทธิ์เข้าถึงอยู่แล้ว ดู service 84 00:04:19,332 --> 00:04:23,111 สี่ตัวที่มันเข้าถึงได้ มีเข้าถึงตัวนี้ ตัวนี้ 85 00:04:23,111 --> 00:04:26,050 ตัวนี้ ซึ่งผมโอเคกับมัน กด continue 86 00:04:26,050 --> 00:04:29,073 แล้วตอนนี้คุณเห็น authorization code 87 00:04:29,073 --> 00:04:31,761 ถูกวางลงตรงนี้แล้ว คลิก complete 88 00:04:31,761 --> 00:04:35,120 แล้วมันถูกคัดลอกแล้ว คุณมีโค้ดตรงนี้ครับ 89 00:04:35,120 --> 00:04:37,555 รันส่วนนี้ ตอนนี้ credentials 90 00:04:37,555 --> 00:04:41,418 ถูกตั้งค่าเรียบร้อยแล้วครับ ส่วนถัดไปคือเรื่อง 91 00:04:41,418 --> 00:04:42,678 project ID ครับ 92 00:04:42,678 --> 00:04:46,121 ขอย้อนทำให้ดูอีกครั้งว่าหน้าตาเป็นอย่างไร 93 00:04:46,121 --> 00:04:49,228 มันจะเป็นแบบนี้ครับ project ID ของคุณ 94 00:04:49,228 --> 00:04:52,839 และโค้ดจะหน้าตาเป็นแบบนี้ ตอนนี้คุณต้องตั้ง 95 00:04:52,839 --> 00:04:56,450 project ID ตรงนี้ วิธีทำคือเมื่อ project ID 96 00:04:56,450 --> 00:05:00,145 เท่ากับค่านี้ซึ่งเป็น string ให้ไปที่ Google 97 00:05:00,145 --> 00:05:03,337 Cloud Console ของคุณ นี่คือ project ID 98 00:05:03,337 --> 00:05:05,352 และนี่คือ project number 99 00:05:05,352 --> 00:05:09,215 ดังนั้นระวังตอนเลือกให้ดีนะครับ เอา project ID 100 00:05:09,215 --> 00:05:12,994 คัดลอกจากตรงนี้ กลับมาที่ notebook แล้วแทนที่ 101 00:05:12,994 --> 00:05:16,689 string นี้ แล้ว execute เพียงเท่านี้ project 102 00:05:16,689 --> 00:05:20,132 ID ของคุณก็ถูกตั้งแล้ว เสร็จแล้วครับ โอเค 103 00:05:20,132 --> 00:05:23,827 ห้ามเปลี่ยนค่าตรงนี้เด็ดขาด มันจะ error ครับ 104 00:05:23,827 --> 00:05:27,438 ขอลองให้ดูว่า error หน้าตาเป็นอย่างไร ผมวาง 105 00:05:27,438 --> 00:05:31,133 project ID ตรงนี้ด้วย ตอนนี้มันจะ error ผมกด 106 00:05:31,133 --> 00:05:34,157 Ctrl C แล้วรันใหม่ ตอนนี้ project ID 107 00:05:34,157 --> 00:05:35,836 ถูกตั้งแล้วครับ โอเค 108 00:05:35,836 --> 00:05:39,363 ขั้นแรกตรงนี้คือสร้างเอเจนต์ของคุณด้วย ADK 109 00:05:39,363 --> 00:05:42,638 ครับ สิ่งที่เราทำตรงนี้คือสร้าง weather 110 00:05:42,638 --> 00:05:46,417 assistant ที่ทำหน้าที่เป็นเอเจนต์ตัวอย่างครับ 111 00:05:46,417 --> 00:05:49,525 และเอเจนต์นี้ถูกปรับแต่งเพื่อการทดสอบ 112 00:05:49,525 --> 00:05:53,388 production ด้วยการตั้งค่านี้ โมเดลที่เราใช้คือ 113 00:05:53,388 --> 00:05:56,999 Gemini 2.5 Flash ครับ แล้วเราใช้ tool อย่าง 114 00:05:56,999 --> 00:06:00,610 get_weather ก่อนหน้านี้เราใช้ Google Search 115 00:06:00,610 --> 00:06:04,389 กันมา แต่ตรงนี้เราจะใช้ get_weather ครับ ส่วน 116 00:06:04,389 --> 00:06:06,908 persona หรือก็คือ instructions 117 00:06:06,908 --> 00:06:10,771 เราจะให้คำแนะนำว่าควรให้ข้อมูลสภาพอากาศอย่างไร 118 00:06:10,771 --> 00:06:13,290 แล้วเราจะสร้างไฟล์เหล่านี้ครับ 119 00:06:13,290 --> 00:06:16,482 นี่คือไฟล์เอเจนต์ตัวอย่างที่คุณเคยเห็น 120 00:06:16,482 --> 00:06:20,261 ทั้งไฟล์ JSON และไฟล์ env จากวิดีโอก่อนๆ ครับ 121 00:06:20,261 --> 00:06:24,124 เราจะสร้างไฟล์พวกนี้ในโครงสร้าง directory ครับ 122 00:06:24,124 --> 00:06:27,819 เริ่มจากขั้นแรกคือสร้าง agent directory ครับ 123 00:06:27,819 --> 00:06:29,162 นี่คือ directory 124 00:06:29,162 --> 00:06:32,018 เอเจนต์ตัวอย่างที่เราจะสร้างตรงนี้ 125 00:06:32,018 --> 00:06:35,629 สร้างเสร็จแล้ว ต่อไปมีไฟล์ที่เราต้องใช้ครับ 126 00:06:35,629 --> 00:06:39,072 ขั้น 2.2 เป็นเรื่องของไฟล์ เราจะเขียนไฟล์ 127 00:06:39,072 --> 00:06:42,935 requirements.txt ใหม่ซึ่งก็อันนี้ครับ ถัดไปคือ 128 00:06:42,935 --> 00:06:46,546 environment ซึ่งก็ไฟล์ .env นี่เองครับ โอเค 129 00:06:46,546 --> 00:06:49,569 requirements เสร็จแล้ว มาที่ขั้น 2.3 130 00:06:49,569 --> 00:06:53,096 ผมรันอันนี้ environment ก็ถูกเขียนแล้วครับ 131 00:06:53,096 --> 00:06:56,707 เมื่อพูดว่า global หมายความว่ามันใช้ global 132 00:06:56,707 --> 00:07:00,486 endpoint สำหรับการเรียก Gemini API ครับ ถัดไป 133 00:07:00,486 --> 00:07:03,425 GOogle_GENAI_USE_VERTEXAI เท่ากับ 1 134 00:07:03,425 --> 00:07:07,288 ปกติเราต้องตั้งค่านี้เป็น 1 เพื่อใช้ Vertex AI 135 00:07:07,288 --> 00:07:10,564 ครับ ส่วน 0 หมายถึงใช้ Google AI Studio 136 00:07:10,564 --> 00:07:14,091 เท่านั้นเอง ง่ายๆ ครับ เพราะเราต้องตั้งค่า 137 00:07:14,091 --> 00:07:16,274 Vertex AI เราจึงใช้ 1 ครับ 138 00:07:16,274 --> 00:07:18,877 ถัดไปเราสร้างโค้ดของเอเจนต์ครับ 139 00:07:18,877 --> 00:07:22,404 พวกนี้เราเคยทำกันมาแล้ว คือระบุโมเดล เพิ่ม 140 00:07:22,404 --> 00:07:26,016 tool ใส่ instructions สำหรับ assistant ครับ 141 00:07:26,016 --> 00:07:29,711 ตรงนี้เราเขียนไฟล์นี้คือ agent.py โดย import 142 00:07:29,711 --> 00:07:33,490 จาก ADK และ import จาก Vertex AI ครับ project 143 00:07:33,490 --> 00:07:36,933 คือ Google Cloud project ตามที่เราระบุไว้ 144 00:07:36,933 --> 00:07:40,460 location เป็น global และเรานิยาม tool ชื่อ 145 00:07:40,460 --> 00:07:44,155 get_weather สำหรับเมืองซึ่งรับค่าเป็น string 146 00:07:44,155 --> 00:07:48,942 อาร์กิวเมนต์ที่ให้มาคือคืนข้อมูลสภาพอากาศของเมืองที่กำหนด 147 00:07:48,942 --> 00:07:52,553 นี่คือ tool ที่เอเจนต์เรียกใช้ได้เมื่อ user 148 00:07:52,553 --> 00:07:55,576 ถามเรื่องสภาพอากาศครับ ใน production 149 00:07:55,576 --> 00:07:58,767 จริงมันจะเรียก weather API จริงๆ อย่าง 150 00:07:58,767 --> 00:08:02,630 OpenWeatherMap แต่ใน demo นี้เราใช้ข้อมูล mock 151 00:08:02,630 --> 00:08:05,233 แน่นอนครับ อาร์กิวเมนต์คือ city 152 00:08:05,233 --> 00:08:08,760 มันจะให้ชื่อเมืองอย่าง Tokyo หรือ New York 153 00:08:08,760 --> 00:08:10,272 แล้วคืน dictionary 154 00:08:10,272 --> 00:08:14,051 ที่มีสถานะกับรายงานสภาพอากาศหรือข้อความ error 155 00:08:14,051 --> 00:08:17,662 หากสะกดชื่อเมืองผิดหรือไม่มีในฐานข้อมูล API 156 00:08:17,662 --> 00:08:20,014 ครับ ฐานข้อมูลสภาพอากาศ mock 157 00:08:20,014 --> 00:08:23,289 ตรงนี้มีเมืองอยู่ประมาณนี้ครับ เช่น San 158 00:08:23,289 --> 00:08:26,564 Francisco จะได้ success สภาพอากาศใน San 159 00:08:26,564 --> 00:08:30,343 Francisco แดดออก อุณหภูมิประมาณนี้ รวมถึง New 160 00:08:30,343 --> 00:08:32,694 York London Tokyo Paris ครับ 161 00:08:32,694 --> 00:08:34,458 เรามีข้อมูลพวกนี้ครับ 162 00:08:34,458 --> 00:08:38,153 เรานิยามช่วงของเมืองที่รองรับ ส่วน available 163 00:08:38,153 --> 00:08:41,260 cities คือการ join จากข้อมูลสภาพอากาศ 164 00:08:41,260 --> 00:08:42,772 และมีข้อความ error 165 00:08:42,772 --> 00:08:46,635 ในกรณีที่เมืองใดเมืองหนึ่งไม่มีในฐานข้อมูลครับ 166 00:08:46,635 --> 00:08:49,910 อย่างสุดท้ายคือการนิยาม root agent ครับ 167 00:08:49,910 --> 00:08:53,269 weather_assistant ใช้ Gemini description 168 00:08:53,269 --> 00:08:57,720 คือผู้ช่วยสภาพอากาศที่ให้ข้อมูลสภาพอากาศของเมืองต่างๆ 169 00:08:57,720 --> 00:09:00,491 ส่วน instructions เป็นมิตรมากครับ 170 00:09:00,491 --> 00:09:04,102 คือคุณเป็นผู้ช่วยสภาพอากาศที่เป็นมิตร เมื่อ 171 00:09:04,102 --> 00:09:06,034 user ถามเรื่องสภาพอากาศ 172 00:09:06,034 --> 00:09:09,225 ให้ระบุชื่อเมืองจากคำถาม ใช้ tool ชื่อ 173 00:09:09,225 --> 00:09:12,416 get_weather ดึงข้อมูลสภาพอากาศปัจจุบัน 174 00:09:12,416 --> 00:09:14,515 ตอบด้วยน้ำเสียงเป็นกันเอง 175 00:09:14,515 --> 00:09:18,126 ถ้าเมืองไม่มีให้แนะนำเมืองอื่นที่มีให้เลือก 176 00:09:18,126 --> 00:09:21,234 ให้ความช่วยเหลือและตอบกระชับ และ tool 177 00:09:21,234 --> 00:09:24,845 ที่เราใช้คือ get_weather ครับ ผมจะรันอันนี้ 178 00:09:24,845 --> 00:09:28,288 ตอนนี้เราได้เอเจนต์แล้วครับ ต่อไป section 179 00:09:28,288 --> 00:09:31,479 สามซึ่งเป็น section สำคัญคือการ deploy 180 00:09:31,479 --> 00:09:34,754 เอเจนต์ขึ้น Vertex AI Agent Engine ครับ 181 00:09:34,754 --> 00:09:37,861 ขอเล่าเรื่อง Agent Engine กันสักหน่อย 182 00:09:37,861 --> 00:09:40,969 มันเป็นบริการแบบ fully managed รองรับ 183 00:09:40,969 --> 00:09:44,496 autoscaling (ปรับขนาดอัตโนมัติ) มี session 184 00:09:44,496 --> 00:09:47,771 management ในตัว และ deploy ง่าย คุณใช้ 185 00:09:47,771 --> 00:09:50,038 starter pack ก็ทำได้เลยครับ 186 00:09:50,038 --> 00:09:53,733 ตรงนี้มีโน้ตไว้ว่าเพื่อช่วยให้คุณเริ่มต้นกับ 187 00:09:53,733 --> 00:09:57,260 runtime นี้ เอเจนต์นี้มี monthly free tier 188 00:09:57,260 --> 00:10:00,703 ครับ ถ้าคุณอยากรันเพิ่ม อยากเรียนรู้เพิ่ม 189 00:10:00,703 --> 00:10:04,398 คุณมีเวลา 90 วันกับมัน ทำงานกับมันได้เลยครับ 190 00:10:04,398 --> 00:10:07,674 แต่คุณควรตรวจสอบให้แน่ใจเสมอว่า cleanup 191 00:10:07,674 --> 00:10:09,017 ทรัพยากรให้ทันที 192 00:10:09,017 --> 00:10:13,552 ถ้าปล่อยให้มันรันค้างไว้คุณอาจมีค่าใช้จ่ายเกิดขึ้นครับ 193 00:10:13,552 --> 00:10:15,568 ต้องระวังเรื่องนี้ให้มาก 194 00:10:15,568 --> 00:10:17,583 เพราะคุณผูกบัตรเครดิตไว้ 195 00:10:17,583 --> 00:10:21,110 และมีโอกาสสูงว่าถ้าปล่อยทิ้งไว้เกิน 90 วัน 196 00:10:21,110 --> 00:10:24,469 หรือแม้แต่ใน 90 วันหากค่าใช้จ่ายเกิน 300 197 00:10:24,469 --> 00:10:28,248 ดอลลาร์ คุณจะถูกเรียกเก็บเงินตามจำนวนนั้นครับ 198 00:10:28,248 --> 00:10:32,027 ขั้นแรกคือสร้าง configuration หรือ deployment 199 00:10:32,027 --> 00:10:33,539 configuration ครับ 200 00:10:33,539 --> 00:10:36,646 คุณจะสร้างไฟล์นี้ซึ่งควบคุมการตั้งค่า 201 00:10:36,646 --> 00:10:40,173 deployment ขอผันอันนี้ครับ มันอธิบายไว้ว่า 202 00:10:40,173 --> 00:10:42,609 minimum instance เท่ากับศูนย์ 203 00:10:42,609 --> 00:10:46,975 หมายความว่ามันปรับลดขนาดลงเหลือศูนย์เมื่อไม่มีใช้งาน 204 00:10:46,975 --> 00:10:50,503 ซึ่งในทางหนึ่งช่วยเราประหยัดค่าใช้จ่ายครับ 205 00:10:50,503 --> 00:10:53,022 maximum instances เท่ากับหนึ่ง 206 00:10:53,022 --> 00:10:55,877 หมายความว่ารันสูงสุดหนึ่ง instance 207 00:10:55,877 --> 00:10:58,732 ซึ่งเพียงพอสำหรับ demo นี้ครับ CPU 208 00:10:58,732 --> 00:11:02,175 หนึ่งหมายถึงหนึ่งแกน CPU ต่อ instance และ 209 00:11:02,175 --> 00:11:03,519 memory หนึ่ง GiB 210 00:11:03,519 --> 00:11:07,214 ก็คือหนึ่งกิกะไบต์ของหน่วยความจำต่อ instance 211 00:11:07,214 --> 00:11:08,313 ครับ 212 00:11:08,313 --> 00:11:15,535 การตั้งค่าเหล่านี้ทำให้ค่าใช้จ่ายต่ำสุดโดยยังให้ทรัพยากรเพียงพอสำหรับเอเจนต์ของเราครับ 213 00:11:15,535 --> 00:11:18,558 ต่อไปคือเลือก deployment region ครับ 214 00:11:18,558 --> 00:11:21,162 ก่อนหน้านี้เราบอกว่าเป็น global 215 00:11:21,162 --> 00:11:23,513 แต่ตรงนี้เราให้รายการ region 216 00:11:23,513 --> 00:11:27,376 ที่ผมเคยบอกไปว่าจะมี Europe West Europe West 4 217 00:11:27,376 --> 00:11:30,987 US East คุณไม่ได้เอาตัวนั้น เราเอา East กับ 218 00:11:30,987 --> 00:11:34,766 West ครับ คุณจะมี multi-region ให้เลือกมากมาย 219 00:11:34,766 --> 00:11:38,041 ถ้าไปที่ console คุณจะเห็น dropdown แบบ 220 00:11:38,041 --> 00:11:40,561 multi-region ให้เข้าใจด้วยครับ 221 00:11:40,561 --> 00:11:44,172 คุณยังสามารถอ่านเอกสารเรื่อง agent location 222 00:11:44,172 --> 00:11:47,783 เพื่อทำความเข้าใจว่ามี region ที่ใช้ได้หลาย 223 00:11:47,783 --> 00:11:50,806 region บ้าง ในตัวอย่างและ assignment 224 00:11:50,806 --> 00:11:54,417 นี้เราใช้สี่ region นี้ครับ ส่วน deployment 225 00:11:54,417 --> 00:11:57,776 region ที่เราเลือกคือ Europe West 4 ครับ 226 00:11:57,776 --> 00:11:59,708 ทำไมเลือก Europe West 4 227 00:11:59,708 --> 00:12:03,655 เพราะเราบอกให้สุ่มเอาอันไหนก็ได้จากลิสต์นี้ครับ 228 00:12:03,655 --> 00:12:06,174 ผมรันอีกครั้ง มันได้ west home 229 00:12:06,174 --> 00:12:10,037 ถ้ารันอีกครั้งมันจะได้อันอื่น ตอนนี้ได้ Europe 230 00:12:10,037 --> 00:12:13,564 West ครับ เพราะเราสุ่มเลือกจากลิสต์ region 231 00:12:13,564 --> 00:12:17,343 ทั้งสี่นี้ มันจะหยิบ region ใดก็ได้มาหนึ่งอัน 232 00:12:17,343 --> 00:12:20,366 ดังนั้นเวลาคุณทำตามผม ถ้าเห็น region 233 00:12:20,366 --> 00:12:22,634 อื่นโผล่มา ไม่ต้องกังวลครับ 234 00:12:22,634 --> 00:12:26,077 มันแค่การสุ่มเลือกครับ ตอนนี้ใช้ ADK ครับ 235 00:12:26,077 --> 00:12:29,688 เราจะ deploy เอเจนต์กัน ผมจะบอกสองอย่างครับ 236 00:12:29,688 --> 00:12:32,879 อันดับแรกผมจะแสดงว่าเกิดอะไรขึ้นตรงนี้ 237 00:12:32,879 --> 00:12:36,490 ตรงนี้คือ sample agent กับ directory ของมัน 238 00:12:36,490 --> 00:12:40,185 สิ่งที่เราทำคือการ stage ไฟล์ทั้งหมดครับ เรา 239 00:12:40,185 --> 00:12:43,964 stage ไฟล์ทั้งหมดแล้วอัปโหลดขึ้น Agent Engine 240 00:12:43,964 --> 00:12:47,743 ซึ่งจะสร้าง deployment แบบ containerized ครับ 241 00:12:47,743 --> 00:12:51,270 ทีนี้ถ้าเห็นตรงนี้ เราได้รับ error ว่า API 242 00:12:51,270 --> 00:12:55,721 นี้ยังไม่เคยถูกใช้ในโปรเจกต์นี้มาก่อนหรือถูกปิดใช้งาน 243 00:12:55,721 --> 00:12:56,820 Vertex AI API 244 00:12:56,820 --> 00:13:00,095 ยังไม่เคยใช้ในโปรเจกต์นี้หรือถูกปิดอยู่ 245 00:13:00,095 --> 00:13:03,706 ให้เปิดใช้งานผ่าน console ครับ ก็แน่นอนครับ 246 00:13:03,706 --> 00:13:07,401 ผมคลิกลิงก์นี้จากตรงนี้เลยแล้วกด enable ครับ 247 00:13:07,401 --> 00:13:10,929 ผมรันซ้ำอีกครั้ง บางครั้งเสร็จในไม่กี่นาที 248 00:13:10,929 --> 00:13:14,372 บางครั้งใช้ 2 ถึง 5 นาทีในการ deploy ครับ 249 00:13:14,372 --> 00:13:17,815 เนื่องจากมันบอกว่าคุณดูความคืบหน้าและ log 250 00:13:17,815 --> 00:13:18,914 ได้ที่นี่ 251 00:13:18,914 --> 00:13:22,693 ขอคลิกแสดงให้ดูว่าหน้าตาเป็นอย่างไรบน console 252 00:13:22,693 --> 00:13:25,884 ครับ ตรงนี้คุณจะเห็นว่าพบ installation 253 00:13:25,884 --> 00:13:28,739 เดิมอยู่ กำลังถอนการติดตั้งตัวเดิม 254 00:13:28,739 --> 00:13:31,342 ถอนสำเร็จแล้ว กำลังลบ container 255 00:13:31,342 --> 00:13:35,038 ที่เป็นตัวกลางออก ตอนนี้กำลัง push reasoning 256 00:13:35,038 --> 00:13:38,481 engine ครับ push request ไปยัง repository 257 00:13:38,481 --> 00:13:41,924 กำลังเตรียม layer ที่มีอยู่แล้ว push แล้ว 258 00:13:41,924 --> 00:13:44,947 สถานะล่าสุดคือคุณได้แบบนี้ เสร็จแล้ว 259 00:13:44,947 --> 00:13:47,634 จุดเริ่มต้นกำลังเริ่มต้น service 260 00:13:47,634 --> 00:13:51,245 จุดเริ่มต้นกำลังเปิดแอปพลิเคชันหลัก uvicorn 261 00:13:51,245 --> 00:13:54,436 รันอยู่บนนี้ เริ่ม parent process แล้ว 262 00:13:54,436 --> 00:13:58,048 โดยสรุปคุณจะเห็นทุกอย่างที่เกิดขึ้นตรงนี้ใน 263 00:13:58,048 --> 00:14:01,491 log ครับ กลับมาตรงนี้ คุณเห็น output เป็น 264 00:14:01,491 --> 00:14:04,934 resource name และนั่นคือเอเจนต์ของเราครับ 265 00:14:04,934 --> 00:14:08,461 resource name หน้าตาเป็นแบบ project นี่คือ 266 00:14:08,461 --> 00:14:11,904 project number แล้วระบุ region ว่าต้องการ 267 00:14:11,904 --> 00:14:15,767 region ไหน แล้วตามด้วย reasoning engine กับ ID 268 00:14:15,767 --> 00:14:19,546 ของมันครับ เราได้ค่านี้มาแล้ว และ temp folder 269 00:14:19,546 --> 00:14:22,569 ก็ถูกล้างแล้วด้วย เสร็จเรียบร้อยครับ 270 00:14:22,569 --> 00:14:26,348 ต่อไปเราจะไปเรียกคืนเอเจนต์ที่ deploy ไว้ครับ 271 00:14:26,348 --> 00:14:30,127 ผมรันอันนี้ ตอนนี้มันจะเชื่อมต่อกับเอเจนต์ที่ 272 00:14:30,127 --> 00:14:33,654 deploy ไว้ มันบอกว่าเชื่อมต่อกับเอเจนต์ที่ 273 00:14:33,654 --> 00:14:35,586 deploy แล้ว เป๊ะเลยครับ 274 00:14:35,586 --> 00:14:38,861 และคุณเห็นว่าเป็นเอเจนต์ตัวเดิม project 275 00:14:38,861 --> 00:14:42,388 ตัวเดิม ตามด้วย resource agent ID location 276 00:14:42,388 --> 00:14:45,915 region resource engine และ reason agent ID 277 00:14:45,915 --> 00:14:48,267 ครับ สิ่งที่เกิดขึ้นคือ cell 278 00:14:48,267 --> 00:14:51,542 นี้เรียกคืนเอเจนต์ที่เรา deploy ไว้ มัน 279 00:14:51,542 --> 00:14:53,893 initialize ตัว Vertex AI SDK 280 00:14:53,893 --> 00:14:57,588 แล้วแสดงรายการเอเจนต์ที่ deploy ไว้ทั้งหมดใน 281 00:14:57,588 --> 00:15:00,947 region นั้น แล้วหยิบตัวแรกซึ่งเป็นตัวที่ 282 00:15:00,947 --> 00:15:04,138 deploy ล่าสุด คือตัวที่เราเพิ่ง deploy 283 00:15:04,138 --> 00:15:07,665 ไปด้านบน แล้วเก็บไว้เป็น remote agent ครับ 284 00:15:07,665 --> 00:15:11,193 ต่อไปคือการทดสอบเอเจนต์ที่ deploy แล้วครับ 285 00:15:11,193 --> 00:15:14,300 เราจะส่ง query ไปยังเอเจนต์ที่ deploy 286 00:15:14,300 --> 00:15:17,911 ไว้แล้วดูว่ามันตอบอย่างไร ตรงนี้เป็น remote 287 00:15:17,911 --> 00:15:21,522 agent คำถามคือสภาพอากาศใน Tokyo เป็นอย่างไร 288 00:15:21,522 --> 00:15:23,369 และนี่คือ user ID ครับ 289 00:15:23,369 --> 00:15:26,645 สิ่งที่เกิดขึ้นตรงนี้คืออันดับแรกเราได้ 290 00:15:26,645 --> 00:15:30,088 function call ครับ ตรงนี้มันใส่ city เป็น 291 00:15:30,088 --> 00:15:33,279 Tokyo ระบุชื่อ get_weather ซึ่งก็ tool 292 00:15:33,279 --> 00:15:36,890 ที่คุณมีกับโมเดล Gemini ครับ ส่วน reasoning 293 00:15:36,890 --> 00:15:40,501 จบลงแล้ว มันบอกว่า stop ครับ ทีนี้ function 294 00:15:40,501 --> 00:15:44,196 response เป็นอย่างไร ใน function response มี 295 00:15:44,196 --> 00:15:47,639 ID ตัว tool ที่มันเรียกใช้คือ get_weather 296 00:15:47,639 --> 00:15:50,158 สถานะของ response เป็น success 297 00:15:50,158 --> 00:15:52,930 รายงานว่าสภาพอากาศใน Tokyo แจ่มใส 298 00:15:52,930 --> 00:15:56,793 อุณหภูมิประมาณนี้ครับ นี่คือวิธีที่ทั้ง stream 299 00:15:56,793 --> 00:15:58,052 ทำงานเบื้องหลัง 300 00:15:58,052 --> 00:16:01,496 เป็นวิธีที่หลายอย่างถูกเรียกใช้ครับ ต่อไป 301 00:16:01,496 --> 00:16:05,275 section ห้าเรื่อง long-term memory กับ Vertex 302 00:16:05,275 --> 00:16:07,878 AI Memory Bank ครับ Memory Bank 303 00:16:07,878 --> 00:16:11,237 เป็นอะไรและแก้ปัญหาอะไร ของเรามี session 304 00:16:11,237 --> 00:16:14,680 memory คือจำบทสนทนาได้ระหว่างที่เราแชตกัน 305 00:16:14,680 --> 00:16:16,192 แต่พอ session จบลง 306 00:16:16,192 --> 00:16:18,879 อย่างที่เราเคยพูดกันในวิดีโอก่อน 307 00:16:18,879 --> 00:16:20,055 มันลืมทุกอย่าง 308 00:16:20,055 --> 00:16:23,414 การสนทนาใหม่ทุกครั้งจึงเริ่มจากศูนย์ครับ 309 00:16:23,414 --> 00:16:25,009 ปัญหาตรงนี้คือ user 310 00:16:25,009 --> 00:16:28,620 บอกเอเจนต์ว่าฉันชอบหน่วยองศา Celsius วันนี้ 311 00:16:28,620 --> 00:16:31,308 พรุ่งนี้ user ถามเรื่องสภาพอากาศ 312 00:16:31,308 --> 00:16:33,575 เอเจนต้องตอบเป็น Fahrenheit 313 00:16:33,575 --> 00:16:37,270 เพราะมันลืมความชอบของ user ไปแล้ว ใช่ไหมครับ 314 00:16:37,270 --> 00:16:41,133 ครั้งนี้ user ต้องบอกความชอบซ้ำอีกครับ สิ่งที่ 315 00:16:41,133 --> 00:16:44,660 Memory Bank ทำคือให้ long-term memory ข้าม 316 00:16:44,660 --> 00:16:48,523 session แก่เอเจนต์ครับ ความต่างระหว่าง session 317 00:16:48,523 --> 00:16:51,966 memory กับ memory bank คือ session memory 318 00:16:51,966 --> 00:16:55,326 ใช้ได้กับบทสนทนาเดียว ขณะที่ memory bank 319 00:16:55,326 --> 00:16:58,853 เก็บทุกบทสนทนา อ้างอิงถึงทุกบทสนทนาได้ครับ 320 00:16:58,853 --> 00:17:02,716 session memory ลืมเมื่อ session จบ ส่วน memory 321 00:17:02,716 --> 00:17:04,227 bank จำได้ถาวรครับ 322 00:17:04,227 --> 00:17:07,838 วิธีทำงานคือระหว่างบทสนทนาเอเจนต์ใช้ memory 323 00:17:07,838 --> 00:17:11,617 tools ค้นหาข้อเท็จจริงในอดีต และหลังจบบทสนทนา 324 00:17:11,617 --> 00:17:15,312 Agent Engine จะสกัดข้อมูลสำคัญ เช่น user ชอบ 325 00:17:15,312 --> 00:17:18,000 Celsius ในกรณีนี้ แล้วใน session 326 00:17:18,000 --> 00:17:21,947 ถัดไปเอเจนต้นเรียกใช้ข้อมูลนั้นโดยอัตโนมัติครับ 327 00:17:21,947 --> 00:17:25,390 พูดคือเมื่อ session แรก user บอกว่าฉันชอบ 328 00:17:25,390 --> 00:17:27,069 Celsius แล้ว session 329 00:17:27,069 --> 00:17:30,680 สองซึ่งอาจเป็นหลายวันถัดมาหรือวันถัดไป user 330 00:17:30,680 --> 00:17:34,291 ถามเรื่องสภาพอากาศ เอเจนต์จะตอบเป็น Celsius 331 00:17:34,291 --> 00:17:37,651 อัตโนมัติครับ นี่คือข้อได้เปรียบของการมี 332 00:17:37,651 --> 00:17:40,926 memory bank ครับ ทีนี้จะใช้ memory bank 333 00:17:40,926 --> 00:17:43,949 ได้อย่างไร คุณต้องเพิ่ม memory tools 334 00:17:43,949 --> 00:17:47,308 เข้าไปในเอเจนต์ เช่น preload_memory tool 335 00:17:47,308 --> 00:17:50,499 ที่เราเคยทำไว้ก่อนหน้า และคุณต้องเพิ่ม 336 00:17:50,499 --> 00:17:53,690 callback ด้วยครับ คุณจะมี pre และ post 337 00:17:53,690 --> 00:17:54,789 callback เสมอ 338 00:17:54,789 --> 00:17:58,232 ถ้าจำกันได้เราเคยคุยเรื่องนี้ในวิดีโอก่อน 339 00:17:58,232 --> 00:18:00,752 คุณต้องมี callback หรือ plugin 340 00:18:00,752 --> 00:18:04,531 เพื่อบันทึกบทสนทนาลง memory bank เสมอ แล้วคุณ 341 00:18:04,531 --> 00:18:07,890 deploy เอเจนต์ใหม่ครับ เมื่อตั้งค่าเสร็จ 342 00:18:07,890 --> 00:18:11,081 memory bank จะทำงานอัตโนมัติ ไม่ต้องมี 343 00:18:11,081 --> 00:18:13,433 infrastructure เพิ่มเติมครับ 344 00:18:13,433 --> 00:18:16,540 คุณสามารถอ่านสองส่วนนี้เพื่อเข้าใจการ 345 00:18:16,540 --> 00:18:20,067 implement หรือ deploy เอเจนต์ที่ใช้ memory 346 00:18:20,067 --> 00:18:23,342 ได้ครับ section สุดท้ายคือ cleanup ครับ 347 00:18:23,342 --> 00:18:24,686 cleanup สำคัญมาก 348 00:18:24,686 --> 00:18:29,472 มันคือการลบทรัพยากรที่ทดสอบเสร็จแล้วซึ่งไม่จำเป็นอีกต่อไป 349 00:18:29,472 --> 00:18:32,664 เพื่อป้องกันค่าใช้จ่ายที่ไม่คาดคิดครับ 350 00:18:32,664 --> 00:18:34,931 อย่างที่ผมบอกไปตอนต้นวิดีโอ 351 00:18:34,931 --> 00:18:36,778 ถ้าคุณไม่ได้ใช้เอเจนต์ 352 00:18:36,778 --> 00:18:40,054 อย่าปล่อยให้มันรันค้างไว้ คุณควรหยุดมัน 353 00:18:40,054 --> 00:18:42,825 ไม่เช่นนั้นจะมีค่าใช้จ่ายเกิดขึ้น 354 00:18:42,825 --> 00:18:46,100 นั่นคือสิ่งที่มันบอกครับ คุณควร cleanup 355 00:18:46,100 --> 00:18:49,123 ข้อมูลเสมอ คือลบทรัพยากรที่ไม่ได้ใช้ 356 00:18:49,123 --> 00:18:52,146 และปิดเอเจนต์เสมอถ้าไม่ได้ใช้งานครับ 357 00:18:52,146 --> 00:18:56,765 ตอนนี้เราได้สร้างมันขึ้นมาและเห็นว่ามันทำงานอย่างไรแล้ว 358 00:18:56,765 --> 00:19:00,376 สิ่งถัดไปคือลบ resource ซึ่งก็ remote agent 359 00:19:00,376 --> 00:19:04,071 ที่เราสร้างไว้ครับ เราใช้ force เท่ากับ true 360 00:19:04,071 --> 00:19:09,110 ซึ่งเราเคยทำครั้งก่อนเมื่อสร้างไฟล์ที่มีอยู่แล้วและต้องลบมัน 361 00:19:09,110 --> 00:19:11,210 เราทำ force delete มาแล้ว 362 00:19:11,210 --> 00:19:14,317 ที่นี่เราทำแบบเดียวกันซ้ำอีกครั้งครับ 363 00:19:14,317 --> 00:19:17,760 และตรงนี้คุณเห็น agent resource มันบอกว่า 364 00:19:17,760 --> 00:19:20,783 resource นี้ถูกลบแล้ว ขึ้นว่ากำลังลบ 365 00:19:20,783 --> 00:19:24,646 ลบเอเจนต์แล้ว เสร็จเรียบร้อยครับ ยินดีด้วยครับ 366 00:19:24,646 --> 00:19:28,089 คุณทำคอร์ส 5 วันเรื่อง agent AI ที่จัดโดย 367 00:19:28,089 --> 00:19:31,112 Google และ Kaggle จนเสร็จสมบูรณ์แล้ว 368 00:19:31,112 --> 00:19:34,639 ถ้าต้องการคุณสามารถทำ capstone project แบบ 369 00:19:34,639 --> 00:19:36,487 optional ต่อได้เลยครับ 370 00:19:36,487 --> 00:19:40,014 โปรดตรวจสอบเอกสารเหล่านี้เพื่อเข้าใจว่าการ 371 00:19:40,014 --> 00:19:43,289 deploy ทำอย่างไรในวิธีอื่นที่ไม่ใช่ ADK 372 00:19:43,289 --> 00:19:46,060 หากคุณใช้ GKE หรือ Cloud Run ครับ 373 00:19:46,060 --> 00:19:49,588 ส่วนแนวปฏิบัติที่ดีที่สุดตามที่เราคุยกันไป 374 00:19:49,588 --> 00:19:50,931 คือลบ deployment 375 00:19:50,931 --> 00:19:54,290 ทดสอบเมื่อเสร็จเพื่อหลีกเลี่ยงค่าใช้จ่าย 376 00:19:54,290 --> 00:19:57,901 เปิดใช้ tracing โดยตั้ง enable tracing เป็น 377 00:19:57,901 --> 00:20:01,512 true เพื่อ debug และทำความเข้าใจว่ามี error 378 00:20:01,512 --> 00:20:05,124 หรือปัญหาค่าใช้จ่ายตรงไหน คุณสามารถหาได้ว่า 379 00:20:05,124 --> 00:20:08,903 job ไหนทำให้เกิดอะไร และเฝ้าดูผ่าน AI console 380 00:20:08,903 --> 00:20:11,506 ได้ครับ ทีนี้ขอสรุปการเดินทาง 5 381 00:20:11,506 --> 00:20:13,353 วันกันอย่างรวดเร็วครับ 382 00:20:13,353 --> 00:20:16,797 ตลอดห้าวันนี้เราได้เรียนพื้นฐานของเอเจนต์ 383 00:20:16,797 --> 00:20:20,324 เราเข้าใจเครื่องมือขั้นสูง เช่น custom และ 384 00:20:20,324 --> 00:20:23,851 built-in best practices รวมถึง session กับ 385 00:20:23,851 --> 00:20:26,622 memory ความต่างระหว่างสองอย่างนี้ 386 00:20:26,622 --> 00:20:29,813 และเมื่อไหร่ควรใช้อะไรครับ เรียนรู้ว่า 387 00:20:29,813 --> 00:20:32,165 observability กับ evaluation 388 00:20:32,165 --> 00:20:35,692 คืออะไรและทำงานร่วมกันอย่างไร และวันนี้คือ 389 00:20:35,692 --> 00:20:37,455 production deployment 390 00:20:37,455 --> 00:20:41,234 วิธีให้เอเจนต์ของเรามีชีวิตจริงด้วย Vertex AI 391 00:20:41,234 --> 00:20:42,662 Agent Engine ครับ 392 00:20:42,662 --> 00:20:46,189 ตอนนี้เรามีชุดเครื่องมือครบถ้วนสำหรับสร้าง 393 00:20:46,189 --> 00:20:47,533 ทดสอบ และ deploy 394 00:20:47,533 --> 00:20:51,228 เอเจนต์ที่พร้อมใช้งานจริงอย่างสำเร็จแล้วครับ 395 00:20:51,228 --> 00:20:54,839 เมื่อเสร็จแล้วทั้งหมดนี้ คุณสามารถไปที่ส่วน 396 00:20:54,839 --> 00:20:56,350 billing บน console 397 00:20:56,350 --> 00:21:02,061 ของคุณแล้วลบบัตรออกจากบัญชีถ้าคุณจะไม่ทำอะไรเพิ่มเติมกับบัญชีนี้ครับ 398 00:21:02,061 --> 00:21:04,496 ผมจะไปที่ console นี้อีกครั้ง 399 00:21:04,496 --> 00:21:07,183 หรือจะเข้าผ่านลิงก์ Google Cloud 400 00:21:07,183 --> 00:21:08,611 ลิงก์ไหนก็ได้ครับ 401 00:21:08,611 --> 00:21:11,466 ผมเอาอันนี้เพราะมันอยู่ใกล้มือครับ 402 00:21:11,466 --> 00:21:14,909 จากตรงนี้ถ้าเห็น ผมจะไปที่ไอคอน hamburger 403 00:21:14,909 --> 00:21:17,009 อีกครั้ง ตรงนี้มี billing 404 00:21:17,009 --> 00:21:20,872 ซึ่งเป็นหนึ่งในผลิตภัณฑ์ยอดนิยม คลิกเข้าไปครับ 405 00:21:20,872 --> 00:21:22,887 เดี๋ยวบอกว่าเกิดอะไรขึ้น 406 00:21:22,887 --> 00:21:26,666 ค่าใช้จ่ายรวมของผมตั้งแต่เริ่มใช้คือเป็นศูนย์ 407 00:21:26,666 --> 00:21:30,529 เพราะเป็น free tier ผมไม่ได้ถูกเก็บเงินเลยครับ 408 00:21:30,529 --> 00:21:33,553 ตอนนี้มันแสดงว่าเป็นเครดิต free tier 409 00:21:33,553 --> 00:21:35,568 ตรงนี้ครับ เมื่อแปลง 300 410 00:21:35,568 --> 00:21:39,431 ดอลลาร์เป็นรูปีอินเดีย จะได้ประมาณ 26,000 รูปี 411 00:21:39,431 --> 00:21:42,454 มันบอกจำนวนวันที่เหลืออยู่คือ 91 วัน 412 00:21:42,454 --> 00:21:46,317 และหมดอายุประมาณวันที่ 23 กุมภาพันธ์ ค.ศ. 2026 413 00:21:46,317 --> 00:21:48,753 ครับ ถ้าผมต้องการก็เก็บไว้ได้ 414 00:21:48,753 --> 00:21:51,104 ถ้าไม่ต้องการก็ลบทิ้งได้ครับ 415 00:21:51,104 --> 00:21:54,379 ไอคอนรูปเฟืองนี้ซึ่งเขียนว่าจัดการบัญชี 416 00:21:54,379 --> 00:21:55,891 billing คลิกเข้าไป 417 00:21:55,891 --> 00:21:59,166 ผมเลือกได้ทั้งเปลี่ยนหรือปิดการ billing 418 00:21:59,166 --> 00:22:02,609 ผมเลือกปิดการ billing แล้วกด disable ครับ 419 00:22:02,609 --> 00:22:06,220 ตอนนี้ไม่มีโปรเจกต์ใดเชื่อมกับบัญชี billing 420 00:22:06,220 --> 00:22:08,320 นี้แล้ว ผมมีบัญชี billing 421 00:22:08,320 --> 00:22:11,847 ที่มีบัตรเครดิตอยู่แต่ไม่ได้ใช้มันอีกต่อไป 422 00:22:11,847 --> 00:22:15,710 ตอนนี้ billing สำหรับโปรเจกต์นี้ถูกปิดแล้วครับ 423 00:22:15,710 --> 00:22:18,985 อย่างไรก็ตามถ้าผมอยากปิดบัญชีนี้ทั้งหมด 424 00:22:18,985 --> 00:22:21,756 ผมสามารถไปที่เครื่องหมาย X ตรงนี้ 425 00:22:21,756 --> 00:22:24,947 มันเขียนว่าปิดบัญชี billing คลิกเข้าไป 426 00:22:24,947 --> 00:22:27,551 แล้วมันถามว่าต้องการปิดจริงหรือ 427 00:22:27,551 --> 00:22:30,658 คุณต้องพิมพ์คำว่า close ผมพิมพ์ close 428 00:22:30,658 --> 00:22:34,521 แล้วตอนนี้มันบอกว่าบัญชี billing นี้ถูกปิดแล้ว 429 00:22:34,521 --> 00:22:39,392 คุณสามารถเปิดใหม่เพื่อใช้งานต่อและเชื่อมโปรเจกต์กลับเข้ามา 430 00:22:39,392 --> 00:22:43,087 หมายความว่าคุณเปิดใหม่ได้ เชื่อมโปรเจกต์กลับ 431 00:22:43,087 --> 00:22:45,942 และเพิ่มบัญชีของคุณอีกครั้งได้ครับ 432 00:22:45,942 --> 00:22:49,721 เราทำการตั้งค่า การพัฒนา และการ deploy ของ AI 433 00:22:49,721 --> 00:22:52,072 agent ครบถ้วนสมบูรณ์แล้วครับ 434 00:22:52,072 --> 00:22:55,851 ทีนี้มาดูกันว่ามีอะไรใน capstone project บ้าง 435 00:22:55,851 --> 00:22:58,958 ผมจะพาไปที่เซิร์ฟเวอร์ Discord ตรงนี้ 436 00:22:58,958 --> 00:23:02,821 และคอมเมนต์จาก Melissa เมื่อวันที่ 5 พฤศจิกายน 437 00:23:02,821 --> 00:23:07,272 มันบอกว่าตรงหน้านี้คุณจะเห็นขั้นตอนสุดท้ายของโปรเจกต์ 438 00:23:07,272 --> 00:23:09,876 โดยพื้นฐานแล้ว capstone project 439 00:23:09,876 --> 00:23:13,151 ถ้าคุณอยากทำก็ทำได้ ถ้าไม่อยากทำมันเป็น 440 00:23:13,151 --> 00:23:16,594 optional การมีส่วนร่วมใน capstone project 441 00:23:16,594 --> 00:23:18,022 เป็นเรื่องสมัครใจ 442 00:23:18,022 --> 00:23:21,549 อย่างไรก็ตามผู้เข้าร่วมทุกคนจะได้รับ badge 443 00:23:21,549 --> 00:23:25,328 และใบรับรองของ Kaggle ภายในสิ้นเดือนธันวาคมปี 444 00:23:25,328 --> 00:23:28,519 2025 ครับ ถ้าคุณไม่ร่วมก็ไม่เป็นไรครับ 445 00:23:28,519 --> 00:23:30,114 ตรงนี้ถ้าคลิกอันนี้ 446 00:23:30,114 --> 00:23:33,054 มันจะบอกว่าคุณจะเห็นใบรับรองอย่างไร 447 00:23:33,054 --> 00:23:36,329 คุณไปที่หน้านั้นแล้วจะเห็นว่าคุณทำคอร์ส 448 00:23:36,329 --> 00:23:38,932 intensive 5 วันเสร็จแล้ว คลิกดู 449 00:23:38,932 --> 00:23:41,955 มันจะเปิดใบรับรองพร้อมชื่อของคุณครับ 450 00:23:41,955 --> 00:23:44,475 เมื่อคุณทำคอร์ส 5 วันนี้จบแล้ว 451 00:23:44,475 --> 00:23:49,345 กลับมาใหม่ในปีหน้าแล้วค่อยมาดูใบรับรองเอเจนต์ของคุณได้ครับ 452 00:23:49,345 --> 00:23:52,956 หวังว่าคุณจะชอบวิดีโอและซีรีส์ทั้งหมดนะครับ 453 00:23:52,956 --> 00:23:54,720 ขอบคุณมากที่รับชมครับ