1. ภาพรวม
คุณเข้าถึง Vertex AI API ได้ผ่านอินเทอร์เน็ต แต่ในองค์กร คุณอาจต้องการเข้าถึง Vertex AI API แบบส่วนตัวโดยไม่ต้องผ่านอินเทอร์เน็ต ในแล็บนี้ คุณจะเข้าถึง Anthropic Claude Opus 4.5 และ Gemini 3 Pro ใน Vertex ผ่าน Python SDK ที่ทำงานในอินสแตนซ์ VM ผ่านอินเทอร์เน็ตสาธารณะก่อน
จากนั้นคุณจะสร้างปลายทาง Private Service Connect ไปยัง Googleapis และเปลี่ยนการไหลของการรับส่งข้อมูลให้ใช้ปลายทางส่วนตัวเพื่อเชื่อมต่อกับ Vertex API
ตัวอย่างโค้ด Python จะรับคำถามที่ป้อน แล้วส่งไปยัง Claude Opus เพื่อสร้างคำตอบ จากนั้นจะส่งเอาต์พุตไปยัง Gemini Pro 3 เพื่อสร้างสรุปข้อความและสร้างรูปภาพ
ในแล็บนี้ คุณจะได้สร้างรูปแบบต่อไปนี้
รูปที่ 1

2. วัตถุประสงค์
ในแล็บนี้ คุณจะได้เรียนรู้วิธีทำงานต่อไปนี้
- ตั้งค่าอินสแตนซ์ VM เพื่อใช้ Python SDK
- เปิดใช้การ์ดโมเดล Anthropic ใน Vertex AI
- เชื่อมต่อกับ Anthropic Claude Opus 4.5 และ Gemini 3 Pro ผ่านสคริปต์ Python
- กำหนดค่าปลายทาง PSC เพื่อเชื่อมต่อกับ Googleapis
- กำหนดค่ารายการ DNS ด้วยตนเอง
- ยืนยันเส้นทางการเชื่อมต่อกับ Googleais
- เรียกใช้สคริปต์ Python เพื่อค้นหาโมเดล
การตั้งค่าห้องทดลอง
การตั้งค่าสภาพแวดล้อมแบบเรียนรู้ด้วยตนเอง
- ลงชื่อเข้าใช้ Google Cloud Console แล้วสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี



- ชื่อโปรเจ็กต์คือชื่อที่แสดงสำหรับผู้เข้าร่วมโปรเจ็กต์นี้ ซึ่งเป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ คุณอัปเดตได้ทุกเมื่อ
- รหัสโปรเจ็กต์จะไม่ซ้ำกันในโปรเจ็กต์ Google Cloud ทั้งหมดและเปลี่ยนแปลงไม่ได้ (เปลี่ยนไม่ได้หลังจากตั้งค่าแล้ว) Cloud Console จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ซึ่งโดยปกติแล้วคุณไม่จำเป็นต้องสนใจว่าสตริงนั้นคืออะไร ใน Codelab ส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (โดยทั่วไปจะระบุเป็น
PROJECT_ID) หากไม่ชอบรหัสที่สร้างขึ้น คุณอาจสร้างรหัสแบบสุ่มอีกรหัสหนึ่งได้ หรือคุณอาจลองใช้ชื่อของคุณเองและดูว่ามีชื่อนั้นหรือไม่ คุณจะเปลี่ยนแปลงรหัสนี้หลังจากขั้นตอนนี้ไม่ได้ และรหัสจะคงอยู่ตลอดระยะเวลาของโปรเจ็กต์ - โปรดทราบว่ายังมีค่าที่ 3 ซึ่งคือหมายเลขโปรเจ็กต์ที่ API บางตัวใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 นี้ได้ในเอกสารประกอบ
- จากนั้นคุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของ Cloud การทำตาม Codelab นี้จะไม่มีค่าใช้จ่ายมากนัก หรืออาจไม่มีเลย หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินนอกเหนือจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่สร้างขึ้นหรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD
เริ่มต้น Cloud Shell
แม้ว่าคุณจะใช้งาน Google Cloud จากแล็ปท็อประยะไกลได้ แต่ใน Codelab นี้คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์
จาก Google Cloud Console ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน

การจัดสรรและเชื่อมต่อกับสภาพแวดล้อมจะใช้เวลาเพียงไม่กี่นาที เมื่อเสร็จแล้ว คุณควรเห็นข้อความคล้ายกับตัวอย่างต่อไปนี้

เครื่องเสมือนนี้มาพร้อมเครื่องมือพัฒนาซอฟต์แวร์ทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักแบบถาวรขนาด 5 GB และทำงานบน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก คุณสามารถทำงานทั้งหมดในโค้ดแล็บนี้ได้ภายในเบราว์เซอร์ คุณไม่จำเป็นต้องติดตั้งอะไร
3. ตั้งค่าสภาพแวดล้อม
เราจะสร้าง VPC ที่กำหนดเองพร้อมกฎไฟร์วอลล์ หากมี VPC และโปรเจ็กต์อยู่แล้ว ให้ข้ามส่วนนี้
เปิด Cloud Shell ที่ด้านบนของคอนโซลทางด้านขวา และกำหนดค่าดังนี้ 
- เปิดใช้ API บางส่วนที่เราจะใช้ในแล็บนี้
gcloud services enable dns.googleapis.com
gcloud services enable aiplatform.googleapis.com
gcloud services enable servicedirectory.googleapis.com
- ตั้งค่าตัวแปรบางอย่าง ตัวแปรเหล่านี้คือรหัสโปรเจ็กต์และรหัสเครือข่ายของ VPC ที่กำหนดเอง (คุณจะสร้าง VPC ในขั้นตอนที่ 4)
projectid=$(gcloud config get-value project)
networkid=anthropic-net
echo $projectid
echo $networkid
clear
- ตอนนี้ให้สร้าง VPC ที่กำหนดเองชื่อ anthropic-net
gcloud compute networks create $networkid \
--project=$projectid \
--subnet-mode=custom \
--mtu=1460 \
--bgp-routing-mode=global
- สร้าง vm1-subnet ใน VPC ใหม่
gcloud compute networks subnets create vm-subnet \
--project=$projectid --range=10.0.88.0/24 \
--stack-type=IPV4_ONLY --network=$networkid \
--region=us-east1
- เพิ่มกฎไฟร์วอลล์ ICMP, SSH และ HTTP ลงใน VPC
gcloud compute firewall-rules create $networkid-allow-icmp --project=$projectid \
--network=$networkid \
--description="Allows ICMP connections from any source to any instance on the network." \
--direction=INGRESS \
--priority=65534 \
--source-ranges=0.0.0.0/0 \
--action=ALLOW \
--rules=icmp
gcloud compute firewall-rules create $networkid-allow-ssh \
--project=$projectid \
--network=$networkid \
--description="Allows TCP connections from any source to any instance on the network using port 22." \
--direction=INGRESS --priority=65534 \
--source-ranges=0.0.0.0/0 --action=ALLOW \
--rules=tcp:22
gcloud compute firewall-rules create $networkid-allow-web \
--project=$projectid \
--network=$networkid \
--description="Allows TCP connections on port 8080." \
--direction=INGRESS --priority=1000 \
--source-ranges=0.0.0.0/0 --action=ALLOW \
--rules=tcp:8080
4. เปิดใช้ Anthropic ใน Vertex Model Garden
เราต้องให้สิทธิ์การเข้าถึงอินเทอร์เน็ตภายนอกขาออก ดังนั้นมาสร้างเกตเวย์ Cloud NAT แล้วแนบกัน
- ไปที่แดชบอร์ด Vertex AI แล้วเลือก Model Garden
- ค้นหา Anthropic แล้วเลือก Claude Opus 4.5
3. เลือกเปิดใช้ คุณจะต้องกรอกข้อมูลบางอย่าง กรอกแบบฟอร์มแล้วเลือกถัดไป 4 ในหน้าสุดท้าย ให้เลือกยอมรับเพื่อเปิดใช้ Claude 4.5 Opus

5. สร้างเกตเวย์ NAT และ VM
เราต้องให้สิทธิ์การเข้าถึงอินเทอร์เน็ตภายนอกขาออก ดังนั้นมาสร้างเกตเวย์ Cloud NAT แล้วแนบกัน
ใน Cloud Shell ให้ใช้คำสั่งต่อไปนี้
- สร้าง Cloud NAT
gcloud compute routers create anthro-out-nat \
--network $networkid \
--region us-east1
- สร้างเกตเวย์ Cloud NAT
gcloud compute routers nats create anthro-out-nat-gw \
--router-region us-east1 \
--router anthro-out-nat \
--nat-all-subnet-ip-ranges \
--auto-allocate-nat-external-ips
ตอนนี้มาสร้าง VM เพื่อเข้าถึง Anthropic ใน Vertex AI ผ่าน Python SDK กัน
เราจะสร้าง VM เพื่อทดสอบโดยติดตั้งแพ็กเกจต่อไปนี้
- ในเซสชัน Cloud Shell เดียวกัน ให้สร้าง anthro-vm โดยใช้คำสั่งต่อไปนี้
gcloud compute instances create anthro-vm \
--project=$projectid \
--zone=us-east1-b \
--network-interface=stack-type=IPV4_ONLY,subnet=vm-subnet,no-address,network=$networkid \
--metadata startup-script="#! /bin/bash
sudo apt-get update
sudo apt-get install python3 python3-dev python3-venv -y
sudo apt-get install tcpdump dnsutils -y
sudo -i
sudo mkdir -p ~/py-anthro-env
cd ~/py-anthro-env
python3 -m venv env
source env/bin/activate
pip install -U ipython google-genai 'anthropic[vertex]'"
คุณควรเห็น VM ที่สร้างขึ้นโดยไม่มีที่อยู่ IP สาธารณะ ตอนนี้มากำหนดค่า
6. กำหนดค่า VM และทดสอบ
- ใน Google Cloud Shell ให้ใช้ SSH เพื่อเข้าถึง VM ใหม่ที่ชื่อ anthro-vm
gcloud compute ssh anthro-vm \
--project=$projectid \
--zone=us-east1-b \
--tunnel-through-iap \
-- -L 8080:localhost:8080
- เมื่อ SSH เข้าสู่ anthro-vm แล้ว ให้เปิดใช้งานสภาพแวดล้อม venv โดยใช้คำสั่งต่อไปนี้
sudo -i -- bash -c 'cd py-anthro-env && source env/bin/activate && exec bash'
- ตอนนี้มาตรวจสอบสิทธิ์เพื่อทำการทดสอบในภายหลังกัน เรียกใช้คำสั่งต่อไปนี้ใน VM แล้วกด y เมื่อได้รับแจ้ง
gcloud auth application-default login
- จากนั้นคัดลอก URL ที่ปรากฏโดยขึ้นต้นด้วย https:// เปิดแท็บใหม่ในหน้าต่างเบราว์เซอร์ของห้องทดลอง แล้ววาง URL ยอมรับข้อความแจ้ง
- เมื่อเห็นข้อความต่อไปนี้ ให้เลือกคัดลอก กลับไปที่เซสชัน anthro-vm ของ VM แล้ววางโค้ดที่คัดลอกไว้ในส่วนป้อนรหัสการให้สิทธิ์: จากนั้นกด Enter เพื่อตรวจสอบสิทธิ์

- ตอนนี้มาทำการทดสอบอย่างรวดเร็วเพื่อดูว่าเราเชื่อมต่อกับ Vertex Gemini API ได้หรือไม่
dig *-aiplatform.googleapis.com
- คุณควรเห็นข้อมูลที่คล้ายกัน (ที่อยู่จะแตกต่างกัน) โปรดทราบว่าเส้นทางจะผ่านที่อยู่ IP สาธารณะเนื่องจาก API เป็น API สาธารณะ
; <<>> DiG 9.18.39-0ubuntu0.24.04.2-Ubuntu <<>> *-aiplatform.googleapis.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3728 ;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;*-aiplatform.googleapis.com. IN A ;; ANSWER SECTION: *-aiplatform.googleapis.com. 300 IN A 172.217.204.95 *-aiplatform.googleapis.com. 300 IN A 172.217.203.95 *-aiplatform.googleapis.com. 300 IN A 173.194.215.95 *-aiplatform.googleapis.com. 300 IN A 142.250.98.95 *-aiplatform.googleapis.com. 300 IN A 173.194.217.95 *-aiplatform.googleapis.com. 300 IN A 142.251.107.95 *-aiplatform.googleapis.com. 300 IN A 74.125.196.95
- ตอนนี้มาใช้ Python กัน พิมพ์
ipythonเพื่อเปิดใช้งานอินเทอร์เฟซ ipython
ipython

- ตอนนี้ให้คัดลอกและวางข้อความต่อไปนี้ คำสั่งนี้จะถาม Claude Opus 4.5 ว่า "ขั้นตอนสำคัญในการสร้าง Agentic AI คืออะไร" จากนั้นจะนำเอาต์พุตไปส่งต่อให้ Gemini 3 Pro ซึ่งจะสร้างข้อมูลสรุปและสร้างรูปภาพที่บันทึกไว้ใน VM
import os
import sys
import google.auth
from pathlib import Path
from google import genai
from google.genai import types
from anthropic import AnthropicVertex
# 1. Setup & Auth
print("--- Authenticating ---")
creds, project_id = google.auth.default()
LOCATION = "global"
# 2. Initialize Clients
print(f"--- Initializing Clients for Project: {project_id} ---")
google_client = genai.Client(vertexai=True, location=LOCATION, project=project_id)
claude_client = AnthropicVertex(region=LOCATION, project_id=project_id)
# 3. Define the Question
question = "What are the key steps to building Agentic AI?"
print(f"\n--- Asking Claude: {question} ---")
# 4. Get Claude's Research
msg = claude_client.messages.create(
model="claude-opus-4-5@20251101",
max_tokens=2048,
messages=[{"role": "user", "content": question}]
)
claude_text = msg.content[0].text
print(f"✓ Claude Answered ({len(claude_text)} chars)")
# 5. Send to Gemini 3 for Image & Summary
print("\n--- Sending to Gemini 3 (Image + Text) ---")
gemini_prompt = f"""
I am providing you with a technical explanation generated by Claude Opus 4.5.
1. READ the text below.
2. GENERATE a concise, bulleted executive summary.
3. CREATE a high-quality, futuristic illustration for a tech blog header (16:9).
--- INPUT TEXT ---
{claude_text}
"""
response = google_client.models.generate_content(
model="gemini-3-pro-image-preview",
contents=gemini_prompt,
config=types.GenerateContentConfig(
response_modalities=['TEXT', 'IMAGE'],
temperature=0.7
)
)
# 6. Save and Display Results
print("\n--- Results ---")
for part in response.parts:
if part.text:
print(f"\n[SUMMARY]:\n{part.text.strip()[:500]}...\n(Summary truncated for brevity)")
elif image := part.as_image():
filename = "gemini_agentic_ai.png"
image.save(filename)
print(f"\n✓ IMAGE SAVED to: {os.path.abspath(filename)}")
- กด Enter 2 ครั้งเพื่อเรียกใช้และดูผลลัพธ์ข้อความ
- หากต้องการดูรูปภาพ เราต้องเปิดใช้บริการเว็บใน Python เรียกใช้คำสั่งต่อไปนี้ในเซสชัน ipython
!python3 -m http.server 8080
- ตอนนี้ไปที่ตัวเลือกแสดงตัวอย่างเว็บใน Cloud Shell แล้วเลือกแสดงตัวอย่างบนพอร์ต 8080

- ในเซสชันเว็บที่เปิดอยู่ ให้เลือก gemini_agentic_ai.png เพื่อดูรูปภาพที่สร้างขึ้น (รูปภาพตัวอย่างด้านล่างที่ AI สร้างขึ้น)

- ใน Cloud Shell หากต้องการออกจากเซสชัน ให้กด Ctrl C จากนั้นพิมพ์ exit แล้วกด Enter (ทำซ้ำ 3 ครั้ง) เพื่อกลับไปที่หน้าแรกของ Cloud Shell
- มาต่อกันเลย
7. สร้างปลายทาง PSC ไปยัง googleapis
หากต้องการเปิดใช้การเชื่อมต่อส่วนตัวกับปลายทาง Vertex API เราจะสร้างปลายทาง Private Service Connect สำหรับ googleapis ซึ่งจะช่วยให้เราใช้ที่อยู่ IP ส่วนตัวที่เรากำหนดเพื่อกำหนดเส้นทางการรับส่งข้อมูลไปยัง googleapis ที่เราต้องการได้ ในกรณีนี้คือ Vertex Gemini
- เปิด Cloud Shell หากยังไม่ได้เปิด สร้าง IP สำหรับปลายทาง PSC ในกรณีนี้ เราจะใช้ 192.168.255.230
gcloud compute addresses create anthro-ip \
--global \
--purpose=PRIVATE_SERVICE_CONNECT \
--addresses=192.168.255.230 \
--network=$networkid
- ยืนยันว่าสร้าง IP แล้ว
gcloud compute addresses list --filter="name=( 'anthro-ip' ...)"
- จากนั้นสร้างปลายทาง PSC
gcloud compute forwarding-rules create pscanthrovertex \
--global \
--network=$networkid \
--address=anthro-ip \
--target-google-apis-bundle=all-apis
- การดำเนินการนี้จะสร้างปลายทางและรายการ Service Directory ยืนยันว่ามีปลายทาง
gcloud compute forwarding-rules describe pscanthrovertex --global
8. ยืนยันการเชื่อมต่อปลายทางผ่านโซนไดเรกทอรีบริการอัตโนมัติ
มาเชื่อมต่อโดยใช้ปลายทางส่วนตัวเพื่อเชื่อมต่อกับ Gemini กัน
- ไปที่อินสแตนซ์ VM anthro-vm1 เลือก SSH และ SSH เข้าสู่ VM
- ตรวจสอบเส้นทางการเชื่อมต่อกับ aiplatform-pscanthrovertex.p.googleapis.com โดยใช้คำสั่ง
digคุณควรเห็น IP ของปลายทาง PSC192.168.255.230
dig aiplatform-pscanthrovertex.p.googleapis.com
- ออกจากเซสชัน SSH ทั้งหมด
9. สร้างรายการ DNS ด้วยตนเองไปยัง googleapis
คุณสร้างรายการ DNS ด้วยตนเองเพื่อชี้ไปยังปลายทาง PSC โดยใช้ DNS ส่วนตัวได้ ซึ่งจะส่งผลต่อเครือข่ายทั้งหมดที่คุณกำหนดให้กับอุปกรณ์
เรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell
- สร้างโซน DNS ส่วนตัวสำหรับ googleapis.com แล้วแนบกับเครือข่าย anthropic-net
gcloud dns managed-zones create googleapis-private \
--description="Private DNS zone for googleapis.com" \
--dns-name="googleapis.com." \
--visibility="private" \
--networks="anthropic-net"
- สร้างระเบียน A ที่แมปโดเมนรากกับ IP ของปลายทาง Private Service Connect (192.168.255.230)
gcloud dns record-sets create "googleapis.com." \
--zone="googleapis-private" \
--type="A" \
--ttl="300" \
--rrdatas="192.168.255.230"
- สร้างระเบียน CNAME แบบไวลด์การ์ดเพื่อเปลี่ยนเส้นทางโดเมนย่อยทั้งหมด (เช่น aiplatform.googleapis.com) ไปยังระเบียน A ของรูท
gcloud dns record-sets create "*.googleapis.com." \
--zone="googleapis-private" \
--type="CNAME" \
--ttl="300" \
--rrdatas="googleapis.com."
- แสดงรายการชุดระเบียนในโซนเพื่อยืนยันว่าได้สร้างระเบียน A และ CNAME อย่างถูกต้อง
gcloud dns record-sets list --zone="googleapis-private"
- ในมุมมองคอนโซลควรมีลักษณะดังนี้ คุณควรเห็นการตั้งค่าที่มีระเบียน A และ CNAME ดังนี้

- จากนั้นเราจะยืนยันการเชื่อมต่อกับการเปลี่ยนแปลงเหล่านี้ใน anthro-vm
10. ยืนยันการเชื่อมต่ออุปกรณ์ปลายทางผ่านที่อยู่ IP
มาเชื่อมต่อโดยใช้ปลายทางส่วนตัวเพื่อเชื่อมต่อกับ Gemini กัน
- ใน Google Cloud Shell ให้ใช้ SSH เพื่อเข้าถึง VM ใหม่ที่ชื่อ anthro-vm
gcloud compute ssh anthro-vm \
--project=$projectid \
--zone=us-east1-b \
--tunnel-through-iap \
-- -L 8080:localhost:8080
- เมื่อ SSH เข้าสู่ anthro-vm แล้ว ให้เปิดใช้งานสภาพแวดล้อม venv โดยใช้คำสั่งต่อไปนี้
sudo -i -- bash -c 'cd py-anthro-env && source env/bin/activate && exec bash'
- ตอนนี้เรามาทำ
digเพื่อดูว่าเราเชื่อมต่อกับ Vertex Gemini API ได้ไหม
dig *-aiplatform.googleapis.com
- คุณควรเห็นข้อความที่คล้ายกัน (ที่อยู่จะแตกต่างกัน) โปรดทราบว่าเส้นทางจะผ่านที่อยู่ IP ของปลายทาง PSC
; <<>> DiG 9.18.41-1~deb12u1-Debian <<>> *-aiplatform.googleapis.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33703 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;*-aiplatform.googleapis.com. IN A ;; ANSWER SECTION: *-aiplatform.googleapis.com. 300 IN CNAME googleapis.com. googleapis.com. 300 IN A 192.168.255.230 ;; Query time: 8 msec ;; SERVER: 169.254.169.254#53(169.254.169.254) (UDP) ;; WHEN: Sat Nov 29 15:19:15 UTC 2025 ;; MSG SIZE rcvd: 86
- การใช้คำสั่ง
pingเราสามารถทำการทดสอบอย่างรวดเร็วได้ โปรดทราบว่า IP นี้เป็นปลายทาง PSC และการ Ping จะไม่สําเร็จ
ping -c 2 aiplatform.googleapis.com
- ตอนนี้มาใช้ Python กัน พิมพ์
ipythonเพื่อเปิดใช้งานอินเทอร์เฟซ ipython
ipython

- ตอนนี้ให้คัดลอกและวางข้อความต่อไปนี้ คำสั่งนี้จะถาม Claude Opus 4.5 ว่า "บอกสูตรทำโรตีแบบทีละขั้นตอนสำหรับผู้เริ่มต้นหน่อย" จากนั้นจะนำเอาต์พุตไปส่งต่อให้ Gemini 3 Pro ซึ่งจะสร้างข้อมูลสรุปและสร้างรูปภาพที่บันทึกไว้ใน VM
import os
import sys
import google.auth
from pathlib import Path
from google import genai
from google.genai import types
from anthropic import AnthropicVertex
# 1. Setup & Auth
print("--- Authenticating ---")
creds, project_id = google.auth.default()
LOCATION = "global"
# 2. Initialize Clients
print(f"--- Initializing Clients for Project: {project_id} ---")
google_client = genai.Client(vertexai=True, location=LOCATION, project=project_id)
claude_client = AnthropicVertex(region=LOCATION, project_id=project_id)
# 3. Define the Question
question = "Give me a step by step recipe to make a roti for a beginner?"
print(f"\n--- Asking Claude: {question} ---")
# 4. Get Claude's Research
msg = claude_client.messages.create(
model="claude-opus-4-5@20251101",
max_tokens=2048,
messages=[{"role": "user", "content": question}]
)
claude_text = msg.content[0].text
print(f"✓ Claude Answered ({len(claude_text)} chars)")
# 5. Send to Gemini 3 for Image & Summary
print("\n--- Sending to Gemini 3 (Image + Text) ---")
gemini_prompt = f"""
I am providing you with a technical explanation generated by Claude Opus 4.5.
1. READ the text below.
2. GENERATE a concise, bulleted executive summary.
3. CREATE a high-quality, futuristic illustration for a tech blog header (16:9).
--- INPUT TEXT ---
{claude_text}
"""
response = google_client.models.generate_content(
model="gemini-3-pro-image-preview",
contents=gemini_prompt,
config=types.GenerateContentConfig(
response_modalities=['TEXT', 'IMAGE'],
temperature=0.7
)
)
# 6. Save and Display Results
print("\n--- Results ---")
for part in response.parts:
if part.text:
print(f"\n[SUMMARY]:\n{part.text.strip()[:500]}...\n(Summary truncated for brevity)")
elif image := part.as_image():
filename = "cookingroti.png"
image.save(filename)
print(f"\n✓ IMAGE SAVED to: {os.path.abspath(filename)}")
- กด Enter 2 ครั้งเพื่อเรียกใช้และดูผลลัพธ์ข้อความ
- หากต้องการดูรูปภาพ เราต้องเปิดใช้เว็บเซอร์วิสใน Python โดยเรียกใช้คำสั่งต่อไปนี้ในเซสชัน iPython
!python3 -m http.server 8080
- ตอนนี้ไปที่ตัวเลือกแสดงตัวอย่างเว็บใน Cloud Shell แล้วเลือกแสดงตัวอย่างบนพอร์ต 8080
- เลือก cookingroti.png เพื่อดูรูปภาพที่สร้างขึ้น (ตัวอย่างด้านล่างสร้างโดย AI)

- ใน Cloud Shell หากต้องการออกจากเซสชัน ให้กด Ctrl C จากนั้นพิมพ์ exit แล้วกด Enter (ทำซ้ำ 3 ครั้ง) เพื่อกลับไปที่หน้าแรกของ Cloud Shell
11. ขอแสดงความยินดี
ขอแสดงความยินดี คุณได้สนุกสนานและเชื่อมต่อกับ Anthropic Claude Opus 4.5 และ Gemini 3 Pro ใน Vertex ได้สำเร็จโดยใช้ทั้งที่อยู่ API สาธารณะและแบบส่วนตัวโดยใช้ปลายทาง Private Service Connect สำหรับ Googleapis ฟังก์ชันนี้สามารถขยายการเชื่อมต่อ API ส่วนตัวไปยังสภาพแวดล้อมภายในองค์กร/ระบบคลาวด์อื่นๆ ที่เชื่อมต่อผ่าน (Interconnect, Cross-Cloud Interconnect และ VPC)
ล้างข้อมูล
gcloud compute instances delete anthro-vm --zone=us-east1-b --quiet
gcloud compute routers nats delete anthro-out-nat-gw --router=anthro-out-nat --region=us-east1 --quiet
gcloud compute routers delete anthro-out-nat --region=us-east1 --quiet
gcloud compute firewall-rules delete anthropic-net-allow-icmp anthropic-net-allow-ssh anthropic-net-allow-web --quiet
gcloud compute forwarding-rules delete pscanthrovertex --global --quiet
gcloud dns record-sets delete googleapis.com. --zone googleapis-private --type A --quiet
gcloud dns record-sets delete *.googleapis.com --zone googleapis-private --type CNAME --quiet
gcloud dns managed-zones delete googleapis-private --quiet
gcloud compute addresses delete anthro-ip --global --quiet
gcloud compute networks subnets delete vm-subnet --region=us-east1 --quiet
gcloud compute networks delete anthropic-net --quiet
ขั้นตอนถัดไป / ดูข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับเครือข่าย Vertex AI
Codelab: เข้าถึงแชท Gemini 3 Pro โดยใช้ Python SDK ผ่านปลายทาง Private Service Connect
Codelab: การสร้างเอเจนต์ AI ด้วย ADK:The Foundation
เข้าสู่ห้องทดลองถัดไป
ทำภารกิจต่อด้วย Google Cloud และดูแล็บอื่นๆ ของ Google Cloud Skills Boost เหล่านี้
