1. ภาพรวม
การทำให้เว็บแอปพลิเคชันใช้งานได้เป็นครั้งแรกอาจฟังดูเป็นเรื่องยาก แม้หลังจากการทําให้ใช้งานได้ครั้งแรกแล้ว แต่คุณอาจหลีกเลี่ยงการทําให้แอปพลิเคชันเวอร์ชันใหม่ใช้งานได้หากกระบวนการนี้ทํางานยากเกินไป การทำให้ใช้งานได้อย่างต่อเนื่องช่วยให้คุณทำให้การเปลี่ยนแปลงของแอปพลิเคชันใช้งานได้โดยอัตโนมัติได้อย่างง่ายดาย
ในบทแนะนำนี้ คุณจะเขียนเว็บแอปพลิเคชันและกำหนดค่า Cloud Run เพื่อทำให้แอปพลิเคชันใช้งานได้โดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงซอร์สโค้ดของแอปพลิเคชัน จากนั้นให้แก้ไขแอปพลิเคชันและทำให้ใช้งานได้อีกครั้ง
สิ่งที่คุณจะได้เรียนรู้
- เขียนเว็บแอปพลิเคชันด้วยเครื่องมือแก้ไข Cloud Shell
- จัดเก็บโค้ดแอปพลิเคชันใน GitHub
- ทำให้แอปพลิเคชันใช้งานได้ใน Cloud Run โดยอัตโนมัติ
- เพิ่ม Generative AI ลงในแอปพลิเคชันโดยใช้ Vertex AI
2. ข้อกำหนดเบื้องต้น
- หากยังไม่มีบัญชี Google คุณต้องสร้างบัญชี Google
- ใช้บัญชีส่วนตัวแทนบัญชีงานหรือบัญชีโรงเรียน บัญชีงานและบัญชีโรงเรียนอาจมีข้อจํากัดที่ทำให้คุณเปิดใช้ API ที่จําเป็นสําหรับห้องทดลองนี้ไม่ได้
- หากยังไม่มีบัญชี GitHub คุณต้องสร้างบัญชี GitHub
- ใช้บัญชี GitHub ที่มีอยู่หากมี GitHub มีแนวโน้มที่จะบล็อกบัญชีใหม่ว่าเป็นสแปม
- กำหนดค่าการตรวจสอบสิทธิ์แบบ 2 ปัจจัยในบัญชี GitHub เพื่อลดโอกาสที่บัญชีของคุณจะถูกทำเครื่องหมายว่าเป็นจดหมายขยะ
3. การตั้งค่าโปรเจ็กต์
- ลงชื่อเข้าใช้คอนโซล Google Cloud
- เปิดใช้การเรียกเก็บเงินในคอนโซล Cloud
- การทำแล็บนี้ให้เสร็จสมบูรณ์ควรใช้ทรัพยากรในระบบคลาวด์ไม่ถึง $1 USD
- คุณสามารถทำตามขั้นตอนที่ส่วนท้ายของห้องทดลองนี้เพื่อลบทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินเพิ่มเติม
- ผู้ใช้ใหม่มีสิทธิ์รับช่วงทดลองใช้ฟรีมูลค่า$300 USD
- หากจะไปเข้าร่วมกิจกรรม Gen AI for Devs คุณอาจได้รับเครดิตมูลค่า$1 USD
- สร้างโปรเจ็กต์ใหม่หรือเลือกนําโปรเจ็กต์ที่มีอยู่มาใช้ซ้ำ
- ยืนยันว่าเปิดใช้การเรียกเก็บเงินในโปรเจ็กต์ของฉันในการเรียกเก็บเงินใน Cloud
- หากโปรเจ็กต์ใหม่แสดง
Billing is disabled
ในคอลัมน์Billing account
ให้ทำดังนี้- คลิกจุด 3 จุดในคอลัมน์
Actions
- คลิกเปลี่ยนการเรียกเก็บเงิน
- เลือกบัญชีสำหรับการเรียกเก็บเงินที่ต้องการใช้
- คลิกจุด 3 จุดในคอลัมน์
- หากคุณเข้าร่วมกิจกรรม Gen AI for Devs บัญชีมีแนวโน้มที่จะชื่อว่าบัญชีสำหรับการเรียกเก็บเงินของ Google Cloud Platform เวอร์ชันทดลองใช้
- หากโปรเจ็กต์ใหม่แสดง
4. เปิดเครื่องมือแก้ไข Cloud Shell
- ไปที่ Cloud Shell Editor
- หากเทอร์มินัลไม่ปรากฏที่ด้านล่างของหน้าจอ ให้เปิดเทอร์มินัลโดยทำดังนี้
- คลิกเมนู 3 ขีด
- คลิก Terminal
- คลิก New Terminal
- คลิกเมนู 3 ขีด
- ในเทอร์มินัล ให้ตั้งค่าโปรเจ็กต์ด้วยคำสั่งนี้
- รูปแบบ:
gcloud config set project [PROJECT_ID]
- ตัวอย่าง
gcloud config set project lab-project-id-example
- หากจำรหัสโปรเจ็กต์ไม่ได้ ให้ทำดังนี้
- คุณแสดงรายการรหัสโปรเจ็กต์ทั้งหมดได้โดยทำดังนี้
gcloud projects list | awk '/PROJECT_ID/{print $2}'
- คุณแสดงรายการรหัสโปรเจ็กต์ทั้งหมดได้โดยทำดังนี้
- รูปแบบ:
- หากได้รับข้อความแจ้งให้ให้สิทธิ์ ให้คลิกให้สิทธิ์เพื่อดำเนินการต่อ
- คุณควรเห็นข้อความนี้
หากเห็นUpdated property [core/project].
WARNING
และระบบถามDo you want to continue (Y/N)?
แสดงว่าคุณอาจป้อนรหัสโปรเจ็กต์ไม่ถูกต้อง กดN
แล้วกดEnter
แล้วลองเรียกใช้คำสั่งgcloud config set project
อีกครั้ง
5. เปิดใช้ API
เปิดใช้ API ต่อไปนี้ในเทอร์มินัล
gcloud services enable \
run.googleapis.com \
cloudbuild.googleapis.com \
aiplatform.googleapis.com
คำสั่งนี้อาจใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์ แต่สุดท้ายแล้วควรแสดงข้อความสำเร็จรูปคล้ายกับข้อความนี้
Operation "operations/acf.p2-73d90d00-47ee-447a-b600" finished successfully.
6. กำหนดค่า Git
- ตั้งค่าอีเมลผู้ใช้ Git ทั่วโลก
git config --global user.email "you@example.com"
- ตั้งชื่อผู้ใช้ Git ทั่วโลก
git config --global user.name "Your Name"
- ตั้งค่าสาขาเริ่มต้น Git ทั่วโลกเป็น
main
โดยทำดังนี้git config --global init.defaultBranch main
7. เขียนโค้ด
วิธีเขียนแอปพลิเคชันใน Svelte
- ไปที่ไดเรกทอรีบ้านด้วยคำสั่งต่อไปนี้
cd ~
- สร้าง
codelab-genai
แอปพลิเคชัน Svelte ใหม่: แอปพลิเคชันใช้ SvelteKit เป็นเฟรมเวิร์กสำหรับแสดงผลเว็บnpx sv create codelab-genai \ --template=minimal \ --types=ts \ --no-add-ons
- หากระบบขอให้คุณติดตั้งแพ็กเกจ
sv
ให้กดEnter
เพื่อดำเนินการต่อNeed to install the following packages: sv@0.6.4 Ok to proceed? (y)
- เมื่อระบบถามว่าจะใช้เครื่องมือจัดการแพ็กเกจใด ให้เลือก
npm
แล้วกดEnter
Which package manager do you want to install dependencies with? │ ○ None │ ● npm │ ○ yarn │ ○ pnpm │ ○ bun
- ไปที่ไดเรกทอรี
codelab-genai
ด้วยคำสั่งต่อไปนี้cd codelab-genai
- เปิดไฟล์
+page.svelte
ใน Cloud Shell Editor โดยทำดังนี้ ตอนนี้ไฟล์ควรปรากฏที่ด้านบนของหน้าจอ คุณสามารถแก้ไขไฟล์cloudshell edit src/routes/+page.svelte
+page.svelte
นี้ได้ - ลบโค้ดที่มีอยู่ คัดลอกโค้ดต่อไปนี้และวางลงในไฟล์
+page.svelte
ที่เปิดอยู่ หลังจากผ่านไป 2-3 วินาที เครื่องมือแก้ไข Cloud Shell จะบันทึกโค้ดโดยอัตโนมัติ โค้ดนี้จะตอบสนองต่อคำขอ HTTP ด้วยคําทักทาย "Hello World"<script lang="ts"> let greeting="Hello, World!" </script> <main> {greeting} </main>
โค้ดเริ่มต้นสําหรับแอปพลิเคชันเสร็จสมบูรณ์แล้วและพร้อมที่จะจัดเก็บไว้ในระบบควบคุมเวอร์ชัน
8. สร้างที่เก็บ
- กลับไปที่เทอร์มินัล Cloud Shell ที่ด้านล่างของหน้าจอ
- ตรวจสอบว่าคุณยังอยู่ในไดเรกทอรีที่ถูกต้อง
cd ~/codelab-genai
- เริ่มต้นที่เก็บ Git
git init -b main
- เข้าสู่ระบบ GitHub CLI
กดgh auth login
Enter
เพื่อยอมรับตัวเลือกเริ่มต้นและทำตามวิธีการในเครื่องมือ GitHub CLI ซึ่งรวมถึง- คุณต้องการเข้าสู่ระบบบัญชีใด
GitHub.com
- โปรโตคอลที่คุณต้องการสำหรับการดำเนินการ Git ในโฮสต์นี้คืออะไร
HTTPS
- ตรวจสอบสิทธิ์ Git ด้วยข้อมูลเข้าสู่ระบบ GitHub ใช่ไหม
Y
(ข้ามหากรายการนี้ไม่ปรากฏขึ้น) - คุณต้องการตรวจสอบสิทธิ์ GitHub CLI ด้วยวิธีใด
Login with a web browser
- คัดลอกรหัสแบบใช้ครั้งเดียว
- เปิด https://github.com/login/device
- วางรหัสแบบใช้ครั้งเดียว
- คลิกให้สิทธิ์ GitHub
- เข้าสู่ระบบให้เสร็จสมบูรณ์
- คุณต้องการเข้าสู่ระบบบัญชีใด
- ตรวจสอบว่าคุณได้เข้าสู่ระบบแล้ว
หากเข้าสู่ระบบสำเร็จ คำสั่งนี้จะแสดงชื่อผู้ใช้ GitHubgh api user -q ".login"
- สร้างตัวแปร
GITHUB_USERNAME
GITHUB_USERNAME=$(gh api user -q ".login")
- ยืนยันว่าคุณได้สร้างตัวแปรสภาพแวดล้อมแล้ว โดยทำดังนี้
หากสร้างตัวแปรสำเร็จ การดำเนินการนี้จะแสดงชื่อผู้ใช้ GitHubecho ${GITHUB_USERNAME}
- สร้างที่เก็บ GitHub ว่างชื่อ
codelab-genai
โดยทำดังนี้ หากได้รับข้อผิดพลาดgh repo create codelab-genai --private
แสดงว่าคุณมีที่เก็บชื่อGraphQL: Name already exists on this account (createRepository)
codelab-genai
อยู่แล้ว คุณมี 2 ตัวเลือกในการดูบทแนะนำนี้ต่อ- ลบที่เก็บ GitHub ที่มีอยู่
- สร้างที่เก็บข้อมูลใหม่โดยใช้ชื่ออื่น และอย่าลืมเปลี่ยนชื่อในคำสั่งต่อไปนี้
- เพิ่มที่เก็บ
codelab-genai
เป็นorigin
ระยะไกล โดยทำดังนี้git remote add origin https://github.com/${GITHUB_USERNAME}/codelab-genai
9. แชร์รหัส
- ตรวจสอบว่าคุณอยู่ในไดเรกทอรีที่ถูกต้อง
cd ~/codelab-genai
- เพิ่มไฟล์ทั้งหมดในไดเรกทอรีปัจจุบันไปยังการคอมมิตนี้
git add .
- สร้างการคอมมิตแรก
git commit -m "add http server"
- พุชการคอมมิตไปยัง Branch
main
ของที่เก็บorigin
โดยทำดังนี้git push -u origin main
คุณสามารถเรียกใช้คําสั่งนี้และไปที่ URL ที่ปรากฏขึ้นเพื่อดูโค้ดแอปพลิเคชันบน GitHub
echo -e "\n\nTo see your code, visit this URL:\n \
https://github.com/${GITHUB_USERNAME}/codelab-genai/blob/main/src/routes/+page.svelte \n\n"
10. ตั้งค่าการทำให้ใช้งานได้แบบอัตโนมัติ
- เปิดแท็บ Cloud Shell Editor ค้างไว้ เราจะกลับมาที่แท็บนี้ในภายหลัง
- ในแท็บใหม่ ให้ไปที่หน้า Cloud Run
- เลือกโปรเจ็กต์ Google Cloud ที่ถูกต้องในคอนโซล
- คลิกเชื่อมต่อที่เก็บ
- คลิกตั้งค่าด้วย Cloud Build
- เลือก GitHub เป็นผู้ให้บริการที่เก็บ
- หากคุณไม่ได้เข้าสู่ระบบบัญชี GitHub ในเบราว์เซอร์ ให้เข้าสู่ระบบด้วยข้อมูลเข้าสู่ระบบ
- คลิกตรวจสอบสิทธิ์ แล้วคลิกต่อไป
- หลังจากเข้าสู่ระบบ คุณจะเห็นข้อความในหน้า Cloud Run ที่ระบุว่าแอป GitHub ยังไม่ได้ติดตั้งอยู่บนที่เก็บของคุณ
- คลิกปุ่มติดตั้ง Google Cloud Build
- ในหน้าการตั้งค่าการติดตั้ง ให้เลือกเฉพาะที่เก็บข้อมูลบางแห่ง แล้วเลือกที่เก็บข้อมูล codelab-genai ที่คุณสร้างผ่าน CLI
- คลิกติดตั้ง
- หมายเหตุ: หากคุณมีที่เก็บ GitHub จำนวนมาก การดำเนินการนี้อาจใช้เวลา 2-3 นาทีในการโหลด
- เลือก
your-user-name/codelab-genai
เป็นที่เก็บ- หากไม่มีที่เก็บ ให้คลิกลิงก์จัดการที่เก็บที่เชื่อมต่อ
- ปล่อยBranch เป็น
^main$
- คลิก Go, Node.js, Python, Java, .NET Core, Ruby หรือ PHP ผ่าน Buildpack ของ Google Cloud
- ปล่อยช่องอื่นๆ (
Build context directory
,Entrypoint
และFunction target
) ไว้ตามเดิม
- ปล่อยช่องอื่นๆ (
- คลิกบันทึก
- เลือก GitHub เป็นผู้ให้บริการที่เก็บ
- เลื่อนลงไปที่การตรวจสอบสิทธิ์
- คลิกอนุญาตคำขอที่ไม่ผ่านการตรวจสอบสิทธิ์
- คลิกสร้าง
เมื่อการบิลด์เสร็จสิ้น (ซึ่งอาจใช้เวลาหลายนาที) ให้เรียกใช้คําสั่งนี้และไปที่ URL ที่ปรากฏขึ้นเพื่อดูแอปพลิเคชันที่ทํางานอยู่
echo -e "\n\nOnce the build finishes, visit your live application:\n \
"$( \
gcloud run services list | \
grep codelab-genai | \
awk '/URL/{print $2}' | \
head -1 \
)" \n\n"
11. เปลี่ยนรหัส
กลับไปที่เครื่องมือแก้ไข Cloud Shell
หากยังเปิดเครื่องมือแก้ไข Cloud Shell อยู่ ให้ข้ามขั้นตอนเหล่านี้
- ไปที่ Cloud Shell Editor
- หากเทอร์มินัลไม่ปรากฏที่ด้านล่างของหน้าจอ ให้เปิดเทอร์มินัลโดยทำดังนี้
- คลิกเมนู 3 ขีด
- คลิก Terminal
- คลิก New Terminal
- คลิกเมนู 3 ขีด
- ในเทอร์มินัล ให้ตั้งค่าโปรเจ็กต์ด้วยคำสั่งนี้
- รูปแบบ:
gcloud config set project [PROJECT_ID]
- ตัวอย่าง
gcloud config set project lab-project-id-example
- หากจำรหัสโปรเจ็กต์ไม่ได้ ให้ทำดังนี้
- คุณแสดงรายการรหัสโปรเจ็กต์ทั้งหมดได้โดยทำดังนี้
gcloud projects list | awk '/PROJECT_ID/{print $2}'
- คุณแสดงรายการรหัสโปรเจ็กต์ทั้งหมดได้โดยทำดังนี้
- รูปแบบ:
- หากได้รับข้อความแจ้งให้ให้สิทธิ์ ให้คลิกให้สิทธิ์เพื่อดำเนินการต่อ
- คุณควรเห็นข้อความนี้
หากเห็นUpdated property [core/project].
WARNING
และระบบถามDo you want to continue (Y/N)?
แสดงว่าคุณอาจป้อนรหัสโปรเจ็กต์ไม่ถูกต้อง กดN
แล้วกดEnter
แล้วลองเรียกใช้คำสั่งgcloud config set project
อีกครั้ง
เพิ่ม Vertex AI ลงในแอปพลิเคชัน
- กลับไปที่เทอร์มินัล Cloud Shell ที่ด้านล่างของหน้าจอ
- ตรวจสอบว่าคุณยังอยู่ในไดเรกทอรีที่ถูกต้อง
cd ~/codelab-genai
- ติดตั้ง Node.js Vertex AI SDK โดยทำดังนี้
npm install @google-cloud/vertexai
- ติดตั้ง Google Auth SDK ของ Node.js โดยทำดังนี้
npm install google-auth-library
- สร้าง
src/routes/facts/+server.ts
ในเทอร์มินัลmkdir src/routes/facts touch src/routes/facts/+server.ts
- เปิด
+server.ts
ในเครื่องมือแก้ไข Cloud Shellcloudshell edit src/routes/facts/+server.ts
- คัดลอกโค้ดต่อไปนี้และวางลงในไฟล์
+server.ts
ที่เปิดอยู่import { VertexAI } from '@google-cloud/vertexai'; import { GoogleAuth } from 'google-auth-library'; const auth = new GoogleAuth(); const project = await auth.getProjectId(); const getAnimalFacts = async (animal: string): Promise<string> => { const vertex = new VertexAI({ project: project }); const generativeModel = vertex.getGenerativeModel({ model: 'gemini-1.5-flash' }); const prompt = `Give me 10 fun facts about ${animal || 'dog'}. Return as json as an array in the format ['fact 1', 'fact 2'] Remove backticks and other markdown formatting.`; const resp = await generativeModel.generateContent(prompt); if (!resp.response.candidates) { throw new Error('Did not receive response candidates.') } console.log({ text: resp.response.candidates[0].content.parts[0].text }) return JSON.stringify(JSON.parse(resp.response.candidates[0].content.parts[0].text || '[]')); } export async function GET({ url }:{ url:URL}): Promise<Response> { let animal: string = url.searchParams.get('animal') || 'dog'; const animalFacts = await getAnimalFacts(animal); return new Response(animalFacts, { headers: { 'Content-Type': 'application/json' } }); }
- เปิด
+page.svelte
ในเครื่องมือแก้ไข Cloud Shellcloudshell edit src/routes/+page.svelte
- แทนที่โค้ดในไฟล์
+page.svelte
ด้วยโค้ดต่อไปนี้<script lang="ts"> let animal: string = $state(""); let animalFacts: string[] = $state([]); async function getNewFunFacts() { animalFacts = ["(loading...)"]; const response = await fetch(`/facts?animal=${animal}`); animalFacts = await response.json(); } </script> <main> <h1>Animal Fun Facts!</h1> <label for="animal">Animal</label> <input id="animal" placeholder="dog" bind:value={animal} /> <button onclick={getNewFunFacts}> Get New Fun Facts </button> <ul> {#each animalFacts as animalFact} <li>{animalFact}</li> {/each} </ul> </main>
12. ทำให้ใช้งานได้อีกครั้ง
- ตรวจสอบว่าคุณยังอยู่ในไดเรกทอรีที่ถูกต้องใน Cloud Shell
cd ~/codelab-genai
- เรียกใช้คําสั่งเหล่านี้เพื่อคอมมิตแอปพลิเคชันเวอร์ชันใหม่ไปยังที่เก็บ Git ในเครื่อง
git add . git commit -m "add latest changes"
- พุชการเปลี่ยนแปลงไปยัง GitHub โดยทำดังนี้
git push
- เมื่อการบิลด์เสร็จสิ้นแล้ว ให้เรียกใช้คําสั่งนี้และไปที่แอปพลิเคชันที่ติดตั้งใช้งาน
echo -e "\n\nOnce the build finishes, visit your live application:\n \ "$( \ gcloud run services list | \ grep codelab-genai | \ awk '/URL/{print $2}' | \ head -1 \ )" \n\n"
ระบบอาจใช้เวลาหลายนาทีเพื่อให้บิลด์เสร็จสมบูรณ์ก่อนที่คุณจะเห็นการเปลี่ยนแปลง
คุณดูประวัติการแก้ไขทั้งหมดได้ที่นี่ https://console.cloud.google.com/run/detail/us-central1/codelab-genai/revisions
13. (ไม่บังคับ) ตรวจสอบการใช้ Vertex AI
คุณสามารถตรวจสอบการดำเนินการของ Vertex AI ได้เช่นเดียวกับบริการอื่นๆ ของ Google Cloud บันทึกการตรวจสอบจะช่วยตอบคําถามที่ว่า "ใครทําอะไร ที่ไหน และเมื่อใด" ระบบจะเปิดใช้บันทึกการตรวจสอบการดูแลระบบสําหรับ Vertex AI โดยค่าเริ่มต้น หากต้องการตรวจสอบคำขอสร้างเนื้อหา คุณต้องเปิดใช้บันทึกการตรวจสอบการเข้าถึงข้อมูล โดยทำดังนี้
- ในคอนโซล Google Cloud ให้ไปที่หน้าบันทึกการตรวจสอบ
หากใช้แถบค้นหาเพื่อค้นหาหน้านี้ ให้เลือกผลลัพธ์ที่มีส่วนหัวย่อยเป็น IAM และผู้ดูแลระบบ - ตรวจสอบว่าโปรเจ็กต์ Google Cloud ที่มีอยู่เป็นโปรเจ็กต์ที่คุณใช้สร้างแอปพลิเคชัน Cloud Run
- ในตารางการกําหนดค่าบันทึกการตรวจสอบการเข้าถึงข้อมูล ให้ค้นหาและเลือก
Vertex AI API
จากคอลัมน์บริการ - ในแท็บประเภทบันทึก ให้เลือกประเภทบันทึกการตรวจสอบการเข้าถึงข้อมูล
Admin read
และData read
- คลิกบันทึก
หลังจากเปิดใช้แล้ว คุณจะดูบันทึกการตรวจสอบสําหรับการเรียกใช้แอปพลิเคชันแต่ละครั้งได้ หากต้องการดูบันทึกการตรวจสอบที่มีรายละเอียดการเรียกใช้ ให้ทําดังนี้
- กลับไปที่แอปพลิเคชันที่ติดตั้งใช้งานแล้วและรีเฟรชหน้าเว็บเพื่อเรียกใช้บันทึก
- ในคอนโซล Google Cloud ให้ไปที่หน้า Log Explorer
- ในหน้าต่างการค้นหา ให้พิมพ์ข้อมูลต่อไปนี้
LOG_ID("cloudaudit.googleapis.com%2Fdata_access") protoPayload.serviceName="aiplatform.googleapis.com"
- คลิกเรียกใช้การค้นหา
บันทึกการตรวจสอบจะบันทึกการใช้ Vertex AI API แต่จะไม่อนุญาตให้คุณดูข้อมูลที่เกี่ยวข้องกับเวิร์กโหลด เช่น พรอมต์หรือรายละเอียดคำตอบ
14. (ไม่บังคับ) เพิ่มความสามารถสังเกตการณ์ของภาระงาน AI
บันทึกการตรวจสอบจะไม่บันทึกข้อมูลที่เกี่ยวข้องกับภาระงาน คุณต้องบันทึกข้อมูลนี้อย่างชัดเจนเพื่อเพิ่มความสามารถในการสังเกตการณ์ของภาระงาน คุณสามารถใช้เฟรมเวิร์กการบันทึกที่ชื่นชอบเพื่อดำเนินการนี้ ขั้นตอนต่อไปนี้แสดงวิธีดำเนินการโดยใช้กลไกการบันทึกของ Node.js เอง
- เปิด
+server.ts
อีกครั้งในเครื่องมือแก้ไข Cloud Shellcloudshell edit src/routes/facts/+server.ts
- หลังจากการเรียก
await generativeModel.generateContent(prompt)
(บรรทัด 17) ให้เพิ่มบรรทัดต่อไปนี้ โค้ดนี้จะเขียนข้อมูลเกี่ยวกับเนื้อหาที่สร้างขึ้นไปยังconsole.log(JSON.stringify({ severity: 'DEBUG', message: 'Content is generated', prompt: prompt, response: resp.response, }));
stdout
โดยใช้รูปแบบการบันทึก Structured ตัวแทนการบันทึกใน Cloud Run จะบันทึกเอาต์พุตที่พิมพ์ไปยังstdout
และเขียนรูปแบบนี้ไปยัง Cloud Logging - เปิด Cloud Shell อีกครั้ง แล้วพิมพ์คําสั่งต่อไปนี้เพื่อให้แน่ใจว่าคุณอยู่ในไดเรกทอรีที่ถูกต้อง
cd ~/codelab-genai
- คอมมิตการเปลี่ยนแปลง
git commit -am "observe generated content"
- พุชการเปลี่ยนแปลงไปยัง GitHub เพื่อทริกเกอร์การปรับใช้งานเวอร์ชันที่แก้ไขแล้วอีกครั้ง
git push
หลังจากติดตั้งใช้งานเวอร์ชันใหม่แล้ว คุณจะดูข้อมูลการแก้ไขข้อบกพร่องเกี่ยวกับการเรียกใช้ Vertex AI ได้
หากต้องการดูบันทึกของแอปพลิเคชัน ให้ทําดังนี้
- ในคอนโซล Google Cloud ให้ไปที่หน้า Log Explorer
- ในหน้าต่างการค้นหา ให้พิมพ์ข้อมูลต่อไปนี้
LOG_ID("run.googleapis.com%2Fstdout") severity=DEBUG
- คลิกเรียกใช้การค้นหา
ผลการค้นหาจะแสดงบันทึกพร้อมพรอมต์และการตอบกลับของ Vertex AI รวมถึง "คะแนนความปลอดภัย" ที่สามารถใช้ตรวจสอบแนวทางปฏิบัติด้านความปลอดภัย
15. (ไม่บังคับ) ล้าง
แม้ว่า Cloud Run จะไม่เรียกเก็บเงินเมื่อไม่ได้ใช้งานบริการ แต่คุณอาจยังคงถูกเรียกเก็บเงินสำหรับการจัดเก็บอิมเมจคอนเทนเนอร์ใน Artifact Registry คุณลบโปรเจ็กต์ที่อยู่ในระบบคลาวด์เพื่อหลีกเลี่ยงการเรียกเก็บเงินได้ การลบโปรเจ็กต์ในระบบคลาวด์จะหยุดการเรียกเก็บเงินสำหรับทรัพยากรทั้งหมดที่ใช้ภายในโปรเจ็กต์นั้น
หากต้องการลบโปรเจ็กต์ ให้ทำดังนี้
gcloud projects delete $GOOGLE_CLOUD_PROJECT
คุณอาจต้องลบทรัพยากรที่ไม่จำเป็นออกจากดิสก์ CloudShell ด้วย ดังนี้
- ลบไดเรกทอรีโปรเจ็กต์ Codelab โดยทำดังนี้
rm -rf ~/codelab-genai
- คำเตือน! การดำเนินการนี้จะยกเลิกไม่ได้ หากต้องการลบทุกอย่างใน Cloud Shell เพื่อเพิ่มพื้นที่ว่าง คุณสามารถลบไดเรกทอรีหน้าแรกทั้งหมดได้ โปรดตรวจสอบว่าคุณได้บันทึกข้อมูลทั้งหมดที่ต้องการเก็บไว้ไว้ที่อื่นแล้ว
sudo rm -rf $HOME
16. ขอแสดงความยินดี
ในห้องทดลองนี้ คุณได้เขียนเว็บแอปพลิเคชันและกำหนดค่า Cloud Run เพื่อทำให้แอปพลิเคชันใช้งานได้โดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงซอร์สโค้ดของแอปพลิเคชัน จากนั้นคุณแก้ไขแอปพลิเคชันและทำให้ใช้งานได้อีกครั้ง
หากชอบแล็บนี้ คุณสามารถลองทำอีกครั้งในภาษาการเขียนโค้ดหรือเฟรมเวิร์กอื่นได้ ดังนี้
หากสนใจเข้าร่วมการศึกษาวิจัยประสบการณ์ของผู้ใช้ (UX) เพื่อปรับปรุงผลิตภัณฑ์ที่คุณใช้อยู่ในปัจจุบัน โปรดลงทะเบียนที่นี่
ตัวเลือกในการเรียนต่อมีดังนี้
- เอกสารประกอบ: ใช้ Firebase GenKit เป็นโมเดลนามธรรมที่ยืดหยุ่น ซึ่งช่วยให้ผสานรวม API ของโมเดลและโมเดลที่ชุมชนดูแลรักษาได้ง่าย
- Codelab: วิธีทำให้แอปแชทที่ทำงานด้วย Gemini ใช้งานได้ใน Cloud Run
- วิธีใช้การเรียกฟังก์ชัน Gemini ด้วย Cloud Run
- วิธีใช้ Video Intelligence API ของ Cloud Run Jobs เพื่อประมวลผลวิดีโอทีละฉาก
- เวิร์กช็อปแบบออนดีมานด์: การเริ่มต้นใช้งาน Google Kubernetes Engine