۱. مرور کلی
میتوان از طریق اینترنت به API هوش مصنوعی ورتکس دسترسی پیدا کرد، با این حال، ممکن است در شرکت خود بخواهید بدون نیاز به اینترنت و به صورت خصوصی به APIهای هوش مصنوعی ورتکس دسترسی داشته باشید. در این آزمایش ابتدا این کار را انجام خواهید داد.
- دسترسی به API Gemini 3 Pro از طریق Vertex با استفاده از python sdk
- این روی یک نمونه ماشین مجازی اجرا خواهد شد
- اتصال از طریق Cloud NAT به اینترنت عمومی خواهد بود.
سپس یک نقطه پایانی Private Service Connect به API های گوگل ایجاد خواهید کرد و جریان ترافیک را طوری تغییر خواهید داد که از نقطه پایانی خصوصی برای اتصال به API چت Gemini استفاده کند. پیکربندیها ترکیبی از Terraform، gcloud و console خواهند بود.
در این آزمایش، شما قرار است الگوی زیر را ایجاد کنید.
شکل ۱.

۲. هدف
در این آزمایشگاه یاد خواهید گرفت که چگونه وظایف زیر را انجام دهید:
- راهاندازی نمونه ماشین مجازی برای استفاده از python sdk
- اتصال به چت جمینی از طریق اسکریپت پایتون
- پیکربندی نقطه پایانی PSC برای اتصال به Googleapis
- مسیر اتصال به Googleais را تأیید کنید
- پیکربندی ورودیهای DNS دستی
تنظیم محیط خودتنظیم
- وارد کنسول گوگل کلود شوید و یک پروژه جدید ایجاد کنید یا از یک پروژه موجود دوباره استفاده کنید. اگر از قبل حساب جیمیل یا گوگل ورک اسپیس ندارید، باید یکی ایجاد کنید .



- نام پروژه، نام نمایشی برای شرکتکنندگان این پروژه است. این یک رشته کاراکتری است که توسط APIهای گوگل استفاده نمیشود. شما همیشه میتوانید آن را بهروزرسانی کنید.
- شناسه پروژه در تمام پروژههای گوگل کلود منحصر به فرد است و تغییرناپذیر است (پس از تنظیم، قابل تغییر نیست). کنسول کلود به طور خودکار یک رشته منحصر به فرد تولید میکند؛ معمولاً برای شما مهم نیست که چه باشد. در اکثر آزمایشگاههای کد، باید شناسه پروژه خود را (که معمولاً با عنوان
PROJECT_IDشناخته میشود) ارجاع دهید. اگر شناسه تولید شده را دوست ندارید، میتوانید یک شناسه تصادفی دیگر ایجاد کنید. به عنوان یک جایگزین، میتوانید شناسه خودتان را امتحان کنید و ببینید که آیا در دسترس است یا خیر. پس از این مرحله قابل تغییر نیست و در طول پروژه باقی میماند. - برای اطلاع شما، یک مقدار سوم، شماره پروژه ، وجود دارد که برخی از APIها از آن استفاده میکنند. برای کسب اطلاعات بیشتر در مورد هر سه این مقادیر، به مستندات مراجعه کنید.
- در مرحله بعد، برای استفاده از منابع/API های ابری، باید پرداخت صورتحساب را در کنسول ابری فعال کنید . اجرای این آزمایشگاه کد هزینه زیادی نخواهد داشت، اگر اصلاً هزینهای داشته باشد. برای خاموش کردن منابع به منظور جلوگیری از پرداخت صورتحساب پس از این آموزش، میتوانید منابعی را که ایجاد کردهاید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان ۳۰۰ دلاری هستند.
شروع پوسته ابری
اگرچه میتوان از راه دور و از طریق لپتاپ، گوگل کلود را مدیریت کرد، اما در این آزمایشگاه کد، از گوگل کلود شل ، یک محیط خط فرمان که در فضای ابری اجرا میشود، استفاده خواهید کرد.
از کنسول گوگل کلود ، روی آیکون Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:

آمادهسازی و اتصال به محیط فقط چند لحظه طول میکشد. وقتی تمام شد، باید چیزی شبیه به این را ببینید:

این ماشین مجازی با تمام ابزارهای توسعهای که نیاز دارید، مجهز شده است. این ماشین مجازی یک دایرکتوری خانگی پایدار ۵ گیگابایتی ارائه میدهد و روی فضای ابری گوگل اجرا میشود که عملکرد شبکه و احراز هویت را تا حد زیادی بهبود میبخشد. تمام کارهای شما در این آزمایشگاه کد را میتوان در یک مرورگر انجام داد. نیازی به نصب چیزی ندارید.
۳. وظیفه ۱. راهاندازی محیط با Terraform
ما یک VPC سفارشی با قوانین فایروال و زیرشبکه ایجاد خواهیم کرد. کنسول ابری را باز کنید و پروژهای را که استفاده خواهید کرد انتخاب کنید.
- Cloud Shell را که در بالای کنسول شما در سمت راست قرار دارد باز کنید، مطمئن شوید که شناسه پروژه صحیح را در Cloud Shell مشاهده میکنید، هرگونه درخواستی را برای اجازه دسترسی تأیید کنید.

- یک پوشه به نام terraform-build ایجاد کنید و به پوشه مورد نظر منتقل کنید.
mkdir terraform-build && cd terraform-build
- یک فایل main.tf و یک فایل variable.tf ایجاد کنید.
touch main.tf variable.tf
- به نمای ویرایشگر Cloud Shell بروید. ویرایشگر را انتخاب کنید، مطمئن شوید که هرگونه درخواست لازم را مجاز میدانید تا رابط کاربری بتواند بارگیری شود.
- پس از بارگذاری، به مسیر File > Open Folder بروید و به مسیر /home/your-user-name/terraform-build بروید و برای باز کردن پوشه در ویرایشگر، Ok را انتخاب کنید.

- فایل variable.tf را انتخاب کنید و موارد زیر را اضافه کنید. متن
your-project-id-hereرا با شناسه پروژه واقعی خود در داخل گیومه جایگزین کنید.
variable "project_id" {
type = string
default = "your-project-id-here"
}
variable "network_id" {
type = string
default = "python-net"
}
- سپس فایل main.tf را باز کنید. ما قصد داریم مقداری کد terraform برای انجام اقدامات مختلف، همانطور که در زیر توضیح داده شده است، اضافه کنیم.
فعال کردن APIها | |
ایجاد VPC با نام python-net | |
اضافه کردن زیرشبکه | |
دو قانون فایروال اضافه کنید | |
- موارد زیر را کپی کرده و در فایل اصلی .tf قرار دهید.
resource "google_project_service" "default" {
project = var.project_id
for_each = toset([
"dns.googleapis.com",
"aiplatform.googleapis.com",
"servicedirectory.googleapis.com"
])
service = each.value
disable_on_destroy = false
}
resource "google_compute_network" "default" {
project = var.project_id
name = var.network_id
auto_create_subnetworks = false
mtu = 1460
routing_mode = "GLOBAL"
}
resource "google_compute_subnetwork" "default" {
name = "vm1-subnet"
ip_cidr_range = "10.0.11.0/24"
project = var.project_id
region = "us-east1"
stack_type = "IPV4_ONLY"
network = google_compute_network.default.id
}
resource "google_compute_firewall" "allow_icmp" {
name = "allow-icmp-${google_compute_network.default.name}"
network = google_compute_network.default.id
project = var.project_id
allow {
protocol = "icmp"
}
source_ranges = ["0.0.0.0/0"]
target_tags = ["allow-icmp"]
}
resource "google_compute_firewall" "allow_ssh" {
name = "allow-ssh-${google_compute_network.default.name}"
network = google_compute_network.default.id
project = var.project_id
allow {
protocol = "tcp"
ports = ["22"]
}
source_ranges = ["0.0.0.0/0"]
target_tags = ["allow-ssh"]
}
- به ترمینال Cloud Shell برگردید و مطمئن شوید که در دایرکتوری terraform-build هستید.
cd terraform-buildاجرا کنید و دستورات زیر را اجرا کنید.
terraform init
دایرکتوری کاری را مقداردهی اولیه میکند. این مرحله ارائهدهندگان مورد نیاز برای پیکربندی داده شده را دانلود میکند.
terraform plan
یک طرح اجرایی ایجاد میکند که نشان میدهد Terraform چه اقداماتی را برای استقرار زیرساخت شما انجام خواهد داد.
- حالا برای ایجاد منابع، دستور
terraform applyاجرا کنید و برای اجرا،yesرا تایپ کنید.
۴. وظیفه ۲. ایجاد دروازه NAT و ماشینهای مجازی با Terraform
ما باید دسترسی خارجی خروجی به اینترنت را فراهم کنیم، بنابراین بیایید یک دروازه Cloud NAT ایجاد کنیم و آن را وصل کنیم.
- Cloud Shell را باز کنید، به پوشه terraform-build بروید و فایلهای زیر را ایجاد کنید (در مجموع سه فایل). بعداً آنها را ویرایش خواهیم کرد.
touch nat-vm.tf psc.tf dns.tf
- به نمای ویرایشگر Cloud Shell بروید و فایل nat-vm.tf را انتخاب کنید و کد Terraform زیر را اضافه کنید. این کار یک دروازه NAT و دو ماشین مجازی ایجاد میکند.
Terraform nat-vm.tf
resource "google_compute_router" "default" {
name = "py-outbound-nat"
region = "us-east1"
network = google_compute_network.default.id
project = var.project_id
bgp {
asn = 64514
}
}
resource "google_compute_router_nat" "default" {
name = "py-outbound-nat-gw"
router = google_compute_router.default.name
region = google_compute_router.default.region
nat_ip_allocate_option = "AUTO_ONLY"
project = var.project_id
source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES"
log_config {
enable = true
filter = "ERRORS_ONLY"
}
}
resource "google_compute_instance" "vm1" {
name = "py-vm1"
zone = "us-east1-b"
machine_type = "n2-standard-2"
project = var.project_id
boot_disk {
initialize_params {
image = "debian-cloud/debian-12"
}
}
network_interface {
subnetwork = google_compute_subnetwork.default.id
stack_type = "IPV4_ONLY"
}
tags = ["allow-ssh", "allow-icmp"]
metadata_startup_script = <<-EOF
#! /bin/bash
sudo apt-get update
sudo apt-get install python3 python3-dev python3-venv git -y
sudo apt-get install tcpdump dnsutils -y
mkdir -p ~/py-gem-env
cd ~/py-gem-env
python3 -m venv env
source env/bin/activate
pip install --upgrade pip
pip install ipython google-genai
'
EOF
}
- به ترمینال Cloud Shell بروید، مطمئن شوید که در پوشه terraform-build هستید و
terraform planاجرا کنید. این به شما نشان میدهد که ۴ مورد اضافه خواهد شد، سپسterraform applyاجرا کنید و برای ایجاد دروازه NAT و ماشین مجازی،yesرا تایپ کنید.
۵. وظیفه ۳. پیکربندی ماشینهای مجازی و آزمایش
- به نمونههای ماشین مجازی بروید. ماشین مجازی که با py-vm1 شروع میشود را انتخاب کنید. SSH را انتخاب کنید.
- پس از اینکه با SSH به py-vm1 وارد شدید، با تایپ
sudo -iدسترسی root را فعال کنید. - محیط venv خود را فعال کنید:
cd py-gem-env
source env/bin/activate
- حالا بیایید این را احراز هویت کنیم تا بعداً آزمایشهایی انجام دهیم. دستور زیر را در ماشین مجازی اجرا کنید، وقتی از شما خواسته شد، کلید y را فشار دهید.
gcloud auth application-default login
- سپس آدرس اینترنتی (url) که با https:// شروع میشود را کپی کنید. یک تب جدید در پنجره مرورگر آزمایشگاه خود باز کنید و آدرس اینترنتی را جایگذاری کنید. دستورالعملها را بپذیرید (یا بپذیرید).
- وقتی کپی انتخابشدهی زیر را مشاهده کردید، به جلسهی vm py-vm1 برگردید و برای Enter authorization code: کدی را که کپی کردهاید، جایگذاری کنید و برای تأیید اعتبار، enter را فشار دهید.

- حالا بیایید یک آزمایش سریع انجام دهیم تا ببینیم آیا میتوانیم به API ورتکس متصل شویم یا خیر، این از * -aiplatform.googleapis.com استفاده میکند، بنابراین ما به آن آدرس
digمیاندازیم تا ببینیم ترافیک چگونه هدایت میشود.
dig *-aiplatform.googleapis.com
- شما باید چیزی مشابه را ببینید (آدرس متفاوت خواهد بود). توجه داشته باشید که مسیر از طریق آدرسهای IP عمومی است زیرا API یک API عمومی است. کپی نکنید
; <<>> DiG 9.18.41-1~deb12u1-Debian <<>> *-aiplatform.googleapis.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60947 ;; 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 173.194.216.95 *-aiplatform.googleapis.com. 300 IN A 108.177.11.95 *-aiplatform.googleapis.com. 300 IN A 192.178.219.95 *-aiplatform.googleapis.com. 300 IN A 74.125.134.95 *-aiplatform.googleapis.com. 300 IN A 74.125.139.95 *-aiplatform.googleapis.com. 300 IN A 108.177.12.95 *-aiplatform.googleapis.com. 300 IN A 173.194.210.95 *-aiplatform.googleapis.com. 300 IN A 74.125.26.95 *-aiplatform.googleapis.com. 300 IN A 173.194.212.95 *-aiplatform.googleapis.com. 300 IN A 172.217.204.95
- حالا بیایید از پایتون استفاده کنیم. برای فعال کردن رابط کاربری ipython
ipythonرا تایپ کنید.
ipython

- حالا کد زیر را کپی و پیست کنید. این کد از Gemini میپرسد که « رنگهای لوگوی گوگل چیست » و « رنگ آسمان چیست ».
from google import genai
from google.genai import types
import os
import sys
LOCATION = "global"
MODEL_ID = "gemini-3-pro-preview"
try:
client = genai.Client(vertexai=True, location=LOCATION)
print(f"Successfully initialized Google Gen AI Client (Vertex AI mode) in {LOCATION}")
except Exception as e:
print(f"Error initializing client: {e}")
print("Ensure you have installed the library: `pip install google-genai`")
print("And authenticated: `gcloud auth application-default login`")
sys.exit(1)
class SimpleChatSession:
def __init__(self, model_id):
self.model_id = model_id
self.history = []
def send_message(self, prompt, stream=True):
user_content = types.Content(
role="user",
parts=[types.Part(text=prompt)]
)
self.history.append(user_content)
try:
response_stream = client.models.generate_content_stream(
model=self.model_id,
contents=self.history,
config=types.GenerateContentConfig(
temperature=0.7
)
)
accumulated_text = ""
for chunk in response_stream:
if chunk.text:
yield chunk.text
accumulated_text += chunk.text
model_content = types.Content(
role="model",
parts=[types.Part(text=accumulated_text)]
)
self.history.append(model_content)
except Exception as e:
print(f"\n[Error during generation: {e}]")
def get_chat_response(session: SimpleChatSession, prompt: str):
print(f"\n--- User: {prompt} ---")
print("--- Model: ", end="")
stream_generator = session.send_message(prompt)
full_text = ""
for chunk_text in stream_generator:
full_text += chunk_text
print(chunk_text, end="", flush=True)
print()
return full_text
if __name__ == "__main__":
chat_session = SimpleChatSession(MODEL_ID)
get_chat_response(chat_session, "Hello.")
get_chat_response(chat_session, "What are all the colors of the Google logo?")
get_chat_response(chat_session, "What color is the sky?")
- برای اجرا و مشاهده نتیجه، دو بار Enter را فشار دهید.
- این درخواست از طریق API عمومی به Vertex دسترسی پیدا کرد.
- جلسه SSH را ببندید، ادامه میدهیم.
۶. وظیفه ۴. ایجاد نقطه پایانی PSC برای googleapis با Terraform
برای فعال کردن اتصال خصوصی به نقطه پایانی Vertex API خود، یک نقطه پایانی Private Service Connect برای Google APIs ایجاد خواهیم کرد. این به ما امکان میدهد از یک آدرس IP خصوصی که برای مسیریابی ترافیک به Google APIs مورد نیازمان، در این مورد Vertex، اختصاص میدهیم، استفاده کنیم.
- اگر Cloud Shell از قبل باز نیست، آن را در نمای ویرایشگر باز کنید. ما قصد داریم موارد زیر را ایجاد کنیم:
- یک IP برای نقطه پایانی PSC ایجاد کنید : ۱۹۲.۱۶۸.۲۵۵.۲۵۰ (
resource "google_compute_global_address" "default") - یک نقطه پایانی PSC برای API های گوگل ایجاد کنید (
resource "google_compute_global_forwarding_rule" "default")
فایل psc.tf را در پوشه terraform-build باز کنید. کد زیر را به فایل اضافه کنید.
Terraform psc.tf
resource "google_compute_global_address" "default" {
name = "vertex-ip"
purpose = "PRIVATE_SERVICE_CONNECT"
network = google_compute_network.default.id
address_type = "INTERNAL"
address = "192.168.255.250"
}
resource "google_compute_global_forwarding_rule" "default" {
name = "pscvertexgemini"
target = "all-apis"
network = google_compute_network.default.id
ip_address = google_compute_global_address.default.id
load_balancing_scheme = ""
}
- به ترمینال Cloud Shell بروید، مطمئن شوید که در پوشه
terraform-buildهستید. سپسterraform initرا اجرا کنید. سپسterraform planاجرا کنید. این به شما نشان میدهد که ۲ مورد اضافه خواهد شد،
سپسterraform applyاجرا کنید و برای ایجاد نقطه پایانی IP و PSC Google APIs، عبارتyesرا تایپ کنید. - تأیید وجود نقطه پایانی
gcloud compute addresses list --filter="name=( 'vertex-ip' ...)"
gcloud compute forwarding-rules describe pscvertexgemini --global
۷. وظیفه ۵. ایجاد ورودی DNS دستی به googleapis با Terraform
شما میتوانید یک ورودی DNS دستی ایجاد کنید تا با استفاده از DNS خصوصی به نقطه پایانی PSC اشاره کند. این کار بر تمام شبکههایی که به آن اختصاص میدهید تأثیر میگذارد.
- به سرویسهای شبکه بروید و Cloud DNS را انتخاب کنید.
- در بخش Zoneها، باید یک Zone که به طور خودکار برای Private Service Connect for Google APIs ایجاد شده است، با نوع Zone، به نام Service Directory، مشاهده کنید. این Zone میتواند برای اتصال به نقطه پایانی PSC با فرمت ** SERVICE-ENDPOINT استفاده شود. مثال: p.googleapis.com :
aiplatform-pscvertexgemini.p.googleapis.com - در این مورد، ما میخواهیم به صورت دستی یک ورودی DNS خصوصی ایجاد کنیم. پیکربندی به شرح زیر خواهد بود.
- یک DNS zone خصوصی با نام "googleapis-private" برای "googleapis.com" ایجاد کنید و آن را به شبکه "python-net" محدود کنید.
- یک رکورد A برای نگاشت "googleapis.com" به آدرس IP "192.168.255.250" اضافه کنید .
- یک رکورد CNAME اضافه کنید تا تمام زیر دامنههای "googleapis.com" (مثلاً www.googleapis.com) به "googleapis.com" ریدایرکت شوند.
- اگر Cloud Shell از قبل باز نیست، آن را در نمای ویرایشگر باز کنید. فایل dns.tf را در پوشه terraform-build باز کنید. کد زیر را به فایل اضافه کنید.
Terraform dns.tf
resource "google_dns_managed_zone" "private_zone" {
name = "googleapis-private"
dns_name = "googleapis.com."
visibility = "private"
project = var.project_id
private_visibility_config {
networks {
network_url = google_compute_network.default.id
}
}
}
resource "google_dns_record_set" "a_record" {
name = "googleapis.com."
type = "A"
ttl = 300
managed_zone = google_dns_managed_zone.private_zone.name
project = var.project_id
rrdatas = ["192.168.255.250"]
}
resource "google_dns_record_set" "cname_record" {
name = "*.googleapis.com."
type = "CNAME"
ttl = 300
managed_zone = google_dns_managed_zone.private_zone.name
project = var.project_id
rrdatas = ["googleapis.com."]
}
- به ترمینال Cloud Shell بروید، مطمئن شوید که در پوشه
terraform-buildهستید. سپسterraform planاجرا کنید. این به شما نشان میدهد که چه مواردی اضافه خواهند شد.
سپسterraform applyاجرا کنید و برای ایجاد ورودی DNS خصوصی، عبارتyesرا تایپ کنید. - شما باید تنظیماتی با یک رکورد A و CNAME مانند این را ببینید.

- در مرحله بعد، اتصال را با این تغییرات در py-vm1 تأیید میکنیم.
۸. وظیفه ۶. تأیید اتصال نقطه پایانی از طریق آدرس IP
بیایید با استفاده از نقطه پایانی خصوصی به Gemini متصل شویم.
- به VM Instance py-vm1 بروید. SSH را انتخاب کنید و SSH را وارد ماشین مجازی کنید.
- با تایپ
sudo -iبه دسترسی روت دسترسی پیدا کنید - با استفاده از دستور
pingمسیر اتصال به aiplatform.googleapis.com را بررسی کنید. این دستور، آدرس IP موجود در DNS خصوصی، یک رکورد برای googleapis، را پینگ میکند. این IP یک نقطه پایانی PSC است و پینگهای شما ناموفق خواهند بود.
ping -c 2 aiplatform.googleapis.com
- مسیر اتصال را با
pingبا استفاده از ورودی DNS که به طور خودکار برای APIهای PSC Google باaiplatform-pscvertexgemini.p.googleapis.comایجاد شده است، بررسی کنید. این به آدرس IP نقطه پایانی PSC اشاره میکند و پینگهای شما ناموفق خواهند بود.
ping -c 2 aiplatform-pscvertexgemini.p.googleapis.com
- با استفاده از دستور
dig، مسیر اتصال به aiplatform.googleapis.com را بررسی کنید. این باید آدرس IP نقطه پایانی PSC باشد.
dig aiplatform.googleapis.com
- به کنسول برگردید و یک نمونه دیگر از ماشین مجازی با نام py-vm1 باز کنید. SSH را انتخاب کنید و SSH را به ماشین مجازی وارد کنید.
- با تایپ
sudo -iبه دسترسی روت دسترسی پیدا کنید - دستور follow را اجرا کنید تا اتصال را در یک فایل TCP dump مشاهده کنید.
sudo tcpdump -i any port 53 -n or host aiplatform.googleapis.com
- حالا به اولین نمونه SSH از VM Instance py-vm1 برگردید.
- فعال کردن env با استفاده از
cd py-gem-env
source env/bin/activate
- حالا بیایید پایتون را آزمایش کنیم. برای فعال کردن رابط کاربری ipython
ipythonرا تایپ کنید.
ipython
- حالا کد زیر را کپی و پیست کنید. این کد از Gemini میپرسد: « در یک جمله کوتاه، توکنایزر را در زمینه هوش مصنوعی خلاصه کنید؟ » و « آیا نهنگها عالی هستند یا نه؟ »
from google import genai
from google.genai import types
import os
import sys
LOCATION = "global"
MODEL_ID = "gemini-3-pro-preview"
try:
client = genai.Client(vertexai=True, location=LOCATION)
print(f"Successfully initialized Google Gen AI Client (Vertex AI mode) in {LOCATION}")
except Exception as e:
print(f"Error initializing client: {e}")
print("Ensure you have installed the library: `pip install google-genai`")
print("And authenticated: `gcloud auth application-default login`")
sys.exit(1)
class SimpleChatSession:
def __init__(self, model_id):
self.model_id = model_id
self.history = []
def send_message(self, prompt, stream=True):
user_content = types.Content(
role="user",
parts=[types.Part(text=prompt)]
)
self.history.append(user_content)
try:
response_stream = client.models.generate_content_stream(
model=self.model_id,
contents=self.history,
config=types.GenerateContentConfig(
temperature=0.7
)
)
accumulated_text = ""
for chunk in response_stream:
if chunk.text:
yield chunk.text
accumulated_text += chunk.text
model_content = types.Content(
role="model",
parts=[types.Part(text=accumulated_text)]
)
self.history.append(model_content)
except Exception as e:
print(f"\n[Error during generation: {e}]")
def get_chat_response(session: SimpleChatSession, prompt: str):
print(f"\n--- User: {prompt} ---")
print("--- Model: ", end="")
stream_generator = session.send_message(prompt)
full_text = ""
for chunk_text in stream_generator:
full_text += chunk_text
print(chunk_text, end="", flush=True)
print()
return full_text
if __name__ == "__main__":
chat_session = SimpleChatSession(MODEL_ID)
get_chat_response(chat_session, "Hello.")
get_chat_response(chat_session, "In one short sentence summarize what is a tokenizer in the context of AI?")
get_chat_response(chat_session, "Are whales awesome or not?")
- برای اجرا و مشاهده نتیجه ، دو بار Enter را فشار دهید.
- به نمونه دوم VM Instance py-vm1 برگردید. باید نتیجه TCPDUMP را ببینید. متوجه خواهید شد که آدرس IP ماشین مجازی از آدرس IP نقطه پایانی PSC برای اتصال به aiplatform.googleapis.com استفاده میکند.
بستن تمام نشستهای SSH به ماشین مجازی py-vm1
۹. تمیز کردن
- به Cloud Shell بروید و مطمئن شوید که در دایرکتوری terraform-build هستید
cd terraform-build - برای مشاهده تمام تغییراتی که اعمال خواهد شد
terraform plan destroyاجرا کنید.
terraform plan -destroy
- سپس دستور
terraform destroyاجرا کنید و بعدyesرا تایپ کنید و تمام منابعی که در پروژه خود با Terraform ایجاد کردهاید حذف خواهند شد.
terraform destroy
۱۰. تبریک
تبریک میگوییم، شما با موفقیت به Vertex متصل شدید و از طریق آدرس API عمومی و به صورت خصوصی با استفاده از Private Service Connect Endpoint برای APIهای گوگل ، از Gemini 3 pro استفاده کردید. این قابلیت میتواند اتصال API خصوصی را به محیط ابری on-premium/دیگر محیطهای ابری شما که از طریق (Interconnect، Cross-Cloud Interconnect و VPC) متصل هستند، گسترش دهد.
مراحل بعدی / اطلاعات بیشتر
میتوانید درباره شبکه هوش مصنوعی Vertex بیشتر بخوانید
آزمایشگاه بعدی خود را انجام دهید
به تلاش خود با Google Cloud ادامه دهید و این آزمایشگاههای دیگر Google Cloud Skills Boost را بررسی کنید: