Anthropic Claude Opus 4.5 และ Gemini 3 ใน Vertex AI ด้วย Python SDK ผ่านปลายทาง Private Service Connect

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

c8f37e193349bfd6.png

2. วัตถุประสงค์

ในแล็บนี้ คุณจะได้เรียนรู้วิธีทำงานต่อไปนี้

  • ตั้งค่าอินสแตนซ์ VM เพื่อใช้ Python SDK
  • เปิดใช้การ์ดโมเดล Anthropic ใน Vertex AI
  • เชื่อมต่อกับ Anthropic Claude Opus 4.5 และ Gemini 3 Pro ผ่านสคริปต์ Python
  • กำหนดค่าปลายทาง PSC เพื่อเชื่อมต่อกับ Googleapis
  • กำหนดค่ารายการ DNS ด้วยตนเอง
  • ยืนยันเส้นทางการเชื่อมต่อกับ Googleais
  • เรียกใช้สคริปต์ Python เพื่อค้นหาโมเดล

การตั้งค่าห้องทดลอง

การตั้งค่าสภาพแวดล้อมแบบเรียนรู้ด้วยตนเอง

  1. ลงชื่อเข้าใช้ Google Cloud Console แล้วสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

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

เริ่มต้น Cloud Shell

แม้ว่าคุณจะใช้งาน Google Cloud จากแล็ปท็อประยะไกลได้ แต่ใน Codelab นี้คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์

จาก Google Cloud Console ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน

เปิดใช้งาน Cloud Shell

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

ภาพหน้าจอของเทอร์มินัล Google Cloud Shell ที่แสดงว่าสภาพแวดล้อมเชื่อมต่อแล้ว

เครื่องเสมือนนี้มาพร้อมเครื่องมือพัฒนาซอฟต์แวร์ทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักแบบถาวรขนาด 5 GB และทำงานบน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก คุณสามารถทำงานทั้งหมดในโค้ดแล็บนี้ได้ภายในเบราว์เซอร์ คุณไม่จำเป็นต้องติดตั้งอะไร

3. ตั้งค่าสภาพแวดล้อม

เราจะสร้าง VPC ที่กำหนดเองพร้อมกฎไฟร์วอลล์ หากมี VPC และโปรเจ็กต์อยู่แล้ว ให้ข้ามส่วนนี้

เปิด Cloud Shell ที่ด้านบนของคอนโซลทางด้านขวา และกำหนดค่าดังนี้ b51b80043d3bac90.png

  1. เปิดใช้ API บางส่วนที่เราจะใช้ในแล็บนี้
gcloud services enable dns.googleapis.com
gcloud services enable aiplatform.googleapis.com
gcloud services enable servicedirectory.googleapis.com
  1. ตั้งค่าตัวแปรบางอย่าง ตัวแปรเหล่านี้คือรหัสโปรเจ็กต์และรหัสเครือข่ายของ VPC ที่กำหนดเอง (คุณจะสร้าง VPC ในขั้นตอนที่ 4)
projectid=$(gcloud config get-value project)
networkid=anthropic-net 
echo $projectid
echo $networkid
clear
  1. ตอนนี้ให้สร้าง VPC ที่กำหนดเองชื่อ anthropic-net
gcloud compute networks create $networkid \
--project=$projectid \
--subnet-mode=custom \
--mtu=1460 \
--bgp-routing-mode=global
  1. สร้าง 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
  1. เพิ่มกฎไฟร์วอลล์ 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 แล้วแนบกัน

  1. ไปที่แดชบอร์ด Vertex AI แล้วเลือก Model Garden
  2. ค้นหา Anthropic แล้วเลือก Claude Opus 4.5

d8937fa7d5e216b7.png 3. เลือกเปิดใช้ คุณจะต้องกรอกข้อมูลบางอย่าง กรอกแบบฟอร์มแล้วเลือกถัดไป 4 ในหน้าสุดท้าย ให้เลือกยอมรับเพื่อเปิดใช้ Claude 4.5 Opus

6ccda2a237000dea.png

  1. 84fbda607163ab9a.png

5. สร้างเกตเวย์ NAT และ VM

เราต้องให้สิทธิ์การเข้าถึงอินเทอร์เน็ตภายนอกขาออก ดังนั้นมาสร้างเกตเวย์ Cloud NAT แล้วแนบกัน

ใน Cloud Shell ให้ใช้คำสั่งต่อไปนี้

  1. สร้าง Cloud NAT
gcloud compute routers create anthro-out-nat \
    --network $networkid \
    --region us-east1 
  1. สร้างเกตเวย์ 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 เพื่อทดสอบโดยติดตั้งแพ็กเกจต่อไปนี้

  1. ในเซสชัน 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 และทดสอบ

  1. ใน 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
  1. เมื่อ SSH เข้าสู่ anthro-vm แล้ว ให้เปิดใช้งานสภาพแวดล้อม venv โดยใช้คำสั่งต่อไปนี้
sudo -i -- bash -c 'cd py-anthro-env && source env/bin/activate && exec bash'
  1. ตอนนี้มาตรวจสอบสิทธิ์เพื่อทำการทดสอบในภายหลังกัน เรียกใช้คำสั่งต่อไปนี้ใน VM แล้วกด y เมื่อได้รับแจ้ง
gcloud auth application-default login
  1. จากนั้นคัดลอก URL ที่ปรากฏโดยขึ้นต้นด้วย https:// เปิดแท็บใหม่ในหน้าต่างเบราว์เซอร์ของห้องทดลอง แล้ววาง URL ยอมรับข้อความแจ้ง
  2. เมื่อเห็นข้อความต่อไปนี้ ให้เลือกคัดลอก กลับไปที่เซสชัน anthro-vm ของ VM แล้ววางโค้ดที่คัดลอกไว้ในส่วนป้อนรหัสการให้สิทธิ์: จากนั้นกด Enter เพื่อตรวจสอบสิทธิ์

b703db7aa2aa286a.png

  1. ตอนนี้มาทำการทดสอบอย่างรวดเร็วเพื่อดูว่าเราเชื่อมต่อกับ Vertex Gemini API ได้หรือไม่
dig *-aiplatform.googleapis.com
  1. คุณควรเห็นข้อมูลที่คล้ายกัน (ที่อยู่จะแตกต่างกัน) โปรดทราบว่าเส้นทางจะผ่านที่อยู่ 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
  1. ตอนนี้มาใช้ Python กัน พิมพ์ ipython เพื่อเปิดใช้งานอินเทอร์เฟซ ipython
ipython

845ef4291429888a.png

  1. ตอนนี้ให้คัดลอกและวางข้อความต่อไปนี้ คำสั่งนี้จะถาม 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)}")
  1. กด Enter 2 ครั้งเพื่อเรียกใช้และดูผลลัพธ์ข้อความ
  2. หากต้องการดูรูปภาพ เราต้องเปิดใช้บริการเว็บใน Python เรียกใช้คำสั่งต่อไปนี้ในเซสชัน ipython
!python3 -m http.server 8080
  1. ตอนนี้ไปที่ตัวเลือกแสดงตัวอย่างเว็บใน Cloud Shell แล้วเลือกแสดงตัวอย่างบนพอร์ต 8080 6dcb2bf9a08aacaf.png
  2. ในเซสชันเว็บที่เปิดอยู่ ให้เลือก gemini_agentic_ai.png เพื่อดูรูปภาพที่สร้างขึ้น (รูปภาพตัวอย่างด้านล่างที่ AI สร้างขึ้น)
    fdcb79d8410dadc5.png
  3. ใน Cloud Shell หากต้องการออกจากเซสชัน ให้กด Ctrl C จากนั้นพิมพ์ exit แล้วกด Enter (ทำซ้ำ 3 ครั้ง) เพื่อกลับไปที่หน้าแรกของ Cloud Shell
  4. มาต่อกันเลย

7. สร้างปลายทาง PSC ไปยัง googleapis

หากต้องการเปิดใช้การเชื่อมต่อส่วนตัวกับปลายทาง Vertex API เราจะสร้างปลายทาง Private Service Connect สำหรับ googleapis ซึ่งจะช่วยให้เราใช้ที่อยู่ IP ส่วนตัวที่เรากำหนดเพื่อกำหนดเส้นทางการรับส่งข้อมูลไปยัง googleapis ที่เราต้องการได้ ในกรณีนี้คือ Vertex Gemini

  1. เปิด 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
  1. ยืนยันว่าสร้าง IP แล้ว
gcloud compute addresses list --filter="name=( 'anthro-ip' ...)"
  1. จากนั้นสร้างปลายทาง PSC
gcloud compute forwarding-rules create pscanthrovertex \
    --global \
    --network=$networkid \
    --address=anthro-ip \
    --target-google-apis-bundle=all-apis
  1. การดำเนินการนี้จะสร้างปลายทางและรายการ Service Directory ยืนยันว่ามีปลายทาง
gcloud compute forwarding-rules describe pscanthrovertex --global

8. ยืนยันการเชื่อมต่อปลายทางผ่านโซนไดเรกทอรีบริการอัตโนมัติ

มาเชื่อมต่อโดยใช้ปลายทางส่วนตัวเพื่อเชื่อมต่อกับ Gemini กัน

  1. ไปที่อินสแตนซ์ VM anthro-vm1 เลือก SSH และ SSH เข้าสู่ VM
  2. ตรวจสอบเส้นทางการเชื่อมต่อกับ aiplatform-pscanthrovertex.p.googleapis.com โดยใช้คำสั่ง dig คุณควรเห็น IP ของปลายทาง PSC 192.168.255.230
dig aiplatform-pscanthrovertex.p.googleapis.com
  1. ออกจากเซสชัน SSH ทั้งหมด

9. สร้างรายการ DNS ด้วยตนเองไปยัง googleapis

คุณสร้างรายการ DNS ด้วยตนเองเพื่อชี้ไปยังปลายทาง PSC โดยใช้ DNS ส่วนตัวได้ ซึ่งจะส่งผลต่อเครือข่ายทั้งหมดที่คุณกำหนดให้กับอุปกรณ์

เรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell

  1. สร้างโซน 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"
  1. สร้างระเบียน 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"
  1. สร้างระเบียน CNAME แบบไวลด์การ์ดเพื่อเปลี่ยนเส้นทางโดเมนย่อยทั้งหมด (เช่น aiplatform.googleapis.com) ไปยังระเบียน A ของรูท
gcloud dns record-sets create "*.googleapis.com." \
    --zone="googleapis-private" \
    --type="CNAME" \
    --ttl="300" \
    --rrdatas="googleapis.com."
  1. แสดงรายการชุดระเบียนในโซนเพื่อยืนยันว่าได้สร้างระเบียน A และ CNAME อย่างถูกต้อง
gcloud dns record-sets list --zone="googleapis-private"
  1. ในมุมมองคอนโซลควรมีลักษณะดังนี้ คุณควรเห็นการตั้งค่าที่มีระเบียน A และ CNAME ดังนี้ a51a8b8caa7a0f1e.png
  2. จากนั้นเราจะยืนยันการเชื่อมต่อกับการเปลี่ยนแปลงเหล่านี้ใน anthro-vm

10. ยืนยันการเชื่อมต่ออุปกรณ์ปลายทางผ่านที่อยู่ IP

มาเชื่อมต่อโดยใช้ปลายทางส่วนตัวเพื่อเชื่อมต่อกับ Gemini กัน

  1. ใน 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
  1. เมื่อ SSH เข้าสู่ anthro-vm แล้ว ให้เปิดใช้งานสภาพแวดล้อม venv โดยใช้คำสั่งต่อไปนี้
sudo -i -- bash -c 'cd py-anthro-env && source env/bin/activate && exec bash'
  1. ตอนนี้เรามาทำ dig เพื่อดูว่าเราเชื่อมต่อกับ Vertex Gemini API ได้ไหม
dig *-aiplatform.googleapis.com
  1. คุณควรเห็นข้อความที่คล้ายกัน (ที่อยู่จะแตกต่างกัน) โปรดทราบว่าเส้นทางจะผ่านที่อยู่ 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
  1. การใช้คำสั่ง ping เราสามารถทำการทดสอบอย่างรวดเร็วได้ โปรดทราบว่า IP นี้เป็นปลายทาง PSC และการ Ping จะไม่สําเร็จ
ping -c 2 aiplatform.googleapis.com
  1. ตอนนี้มาใช้ Python กัน พิมพ์ ipython เพื่อเปิดใช้งานอินเทอร์เฟซ ipython
ipython

845ef4291429888a.png

  1. ตอนนี้ให้คัดลอกและวางข้อความต่อไปนี้ คำสั่งนี้จะถาม 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)}")
  1. กด Enter 2 ครั้งเพื่อเรียกใช้และดูผลลัพธ์ข้อความ
  2. หากต้องการดูรูปภาพ เราต้องเปิดใช้เว็บเซอร์วิสใน Python โดยเรียกใช้คำสั่งต่อไปนี้ในเซสชัน iPython
!python3 -m http.server 8080
  1. ตอนนี้ไปที่ตัวเลือกแสดงตัวอย่างเว็บใน Cloud Shell แล้วเลือกแสดงตัวอย่างบนพอร์ต 8080
  2. เลือก cookingroti.png เพื่อดูรูปภาพที่สร้างขึ้น (ตัวอย่างด้านล่างสร้างโดย AI) bcf43fffede275cb.png
  3. ใน 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 เหล่านี้