1. نظرة عامة
يمكن الوصول إلى واجهة برمجة التطبيقات Vertex AI API عبر الإنترنت، ولكن في مؤسستك، قد تحتاج إلى الوصول إلى واجهة برمجة التطبيقات Vertex AI API بشكل خاص بدون استخدام الإنترنت. في هذا التمرين المعملي، عليك أولاً
- الوصول إلى Gemini 3 Pro API عبر Vertex باستخدام حزمة تطوير البرامج (SDK) الخاصة بلغة Python
- سيتم تشغيل هذا التطبيق على مثيل جهاز افتراضي
- سيتم الاتصال عبر Cloud NAT بالإنترنت المتاح للجميع.
بعد ذلك، ستنشئ نقطة نهاية Private Service Connect لواجهات Google APIs، وتغيّر مسار نقل البيانات لاستخدام نقطة النهاية الخاصة للاتصال بواجهة Gemini Chat API. ستكون عمليات الإعداد مزيجًا من Terraform وgcloud ووحدة التحكّم.
في هذا الدرس التطبيقي، ستنشئ النمط التالي.
الشكل 1.

2. الهدف
في هذه الميزة الاختبارية، ستتعرّف على كيفية تنفيذ المهمة التالية:
- إعداد مثيل الجهاز الافتراضي لاستخدام حزمة تطوير البرامج (SDK) الخاصة بلغة Python
- الربط مع Gemini Chat من خلال نص برمجي بلغة Python
- ضبط نقطة نهاية PSC للاتصال بـ Googleapis
- التحقّق من مسار الاتصال بـ Googleais
- ضبط إدخالات نظام أسماء النطاقات اليدوية
إعداد البيئة بالسرعة التي تناسبك
- سجِّل الدخول إلى Google Cloud Console وأنشِئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.



- اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي سلسلة أحرف لا تستخدمها Google APIs. ويمكنك تعديلها في أي وقت.
- معرّف المشروع هو معرّف فريد في جميع مشاريع Google Cloud ولا يمكن تغييره بعد ضبطه. تنشئ Cloud Console تلقائيًا سلسلة فريدة، ولا يهمّك عادةً ما هي. في معظم دروس البرمجة، عليك الرجوع إلى رقم تعريف مشروعك (يُشار إليه عادةً باسم
PROJECT_ID). إذا لم يعجبك رقم التعريف الذي تم إنشاؤه، يمكنك إنشاء رقم تعريف عشوائي آخر. يمكنك بدلاً من ذلك تجربة اسم مستخدم من اختيارك ومعرفة ما إذا كان متاحًا. لا يمكن تغيير هذا الخيار بعد هذه الخطوة وسيظل ساريًا طوال مدة المشروع. - للعلم، هناك قيمة ثالثة، وهي رقم المشروع، تستخدمها بعض واجهات برمجة التطبيقات. يمكنك الاطّلاع على مزيد من المعلومات حول هذه القيم الثلاث في المستندات.
- بعد ذلك، عليك تفعيل الفوترة في Cloud Console لاستخدام موارد/واجهات برمجة تطبيقات Cloud. لن تكلفك تجربة هذا الدرس البرمجي الكثير، إن وُجدت أي تكلفة على الإطلاق. لإيقاف الموارد وتجنُّب تحمّل تكاليف تتجاوز هذا البرنامج التعليمي، يمكنك حذف الموارد التي أنشأتها أو حذف المشروع. يمكن لمستخدمي Google Cloud الجدد الاستفادة من برنامج الفترة التجريبية المجانية بقيمة 300 دولار أمريكي.
بدء Cloud Shell
على الرغم من إمكانية تشغيل Google Cloud عن بُعد من الكمبيوتر المحمول، ستستخدم في هذا الدرس العملي Google Cloud Shell، وهي بيئة سطر أوامر تعمل في السحابة الإلكترونية.
من Google Cloud Console، انقر على رمز Cloud Shell في شريط الأدوات أعلى يسار الصفحة:

لن يستغرق توفير البيئة والاتصال بها سوى بضع لحظات. عند الانتهاء، من المفترض أن يظهر لك ما يلي:

يتم تحميل هذه الآلة الافتراضية مزوّدة بكل أدوات التطوير التي ستحتاج إليها. توفّر هذه الخدمة دليلًا منزليًا دائمًا بسعة 5 غيغابايت، وتعمل على Google Cloud، ما يؤدي إلى تحسين أداء الشبكة والمصادقة بشكل كبير. يمكن إكمال جميع المهام في هذا الدرس العملي ضمن المتصفّح. ليس عليك تثبيت أي تطبيق.
3- المهمة رقم 1 إعداد بيئة باستخدام Terraform
سننشئ سحابة VPC مخصّصة تتضمّن قواعد جدار الحماية والشبكة الفرعية. افتح Cloud Console واختَر المشروع الذي ستستخدمه.
- افتح Cloud Shell في أعلى يسار وحدة التحكّم، وتأكَّد من ظهور رقم تعريف المشروع الصحيح في Cloud Shell، وأكِّد أي طلبات تظهر لك للسماح بالوصول.

- إنشاء مجلد باسم terraform-build والانتقال إليه
mkdir terraform-build && cd terraform-build
- أنشئ ملف main.tf وملف variable.tf.
touch main.tf variable.tf
- انتقِل إلى طريقة عرض محرّر Cloud Shell. انقر على المحرّر، وتأكَّد من السماح بأي طلبات ضرورية كي يتم تحميل الواجهة.
- بعد التحميل، انتقِل إلى ملف > فتح مجلد وانتقِل إلى /home/your-user-name/terraform-build وانقر على حسنًا لفتح المجلد في المحرّر.

- اختَر الملف 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 البرمجية لتنفيذ إجراءات مختلفة كما هو موضّح أدناه.
تفعيل واجهات برمجة التطبيقات |
|
إنشاء شبكة VPC باسم python-net |
|
إضافة شبكة فرعية |
|
إضافة قاعدتَين لجدار الحماية |
|
- انسخ ما يلي وألصِقه في ملف main .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لتشغيله.
4. المهمة رقم 2 إنشاء بوابة 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سيظهر لك أنّه ستتم إضافة 4 عناصر، ثم شغِّلterraform applyواكتبyesلإنشاء بوابة NAT والجهاز الظاهري.
5- المهمة رقم 3 ضبط الآلات الافتراضية واختبارها
- انتقِل إلى مثيلات الأجهزة الافتراضية. اختَر الجهاز الافتراضي الذي يبدأ بـ py-vm1. اختَر SSH.
- بعد تسجيل الدخول إلى py-vm1 باستخدام SSH، فعِّل حساب الجذر عن طريق كتابة
sudo -i - فعِّل بيئة venv:
cd py-gem-env
source env/bin/activate
- لنثبت الآن صحة هذا الرمز لنتمكّن من إجراء بعض الاختبارات لاحقًا. نفِّذ الأمر التالي في الجهاز الظاهري، واضغط على y عند المطالبة بذلك.
gcloud auth application-default login
- بعد ذلك، انسخ عنوان URL الذي يظهر في البداية مع https://، وافتح علامة تبويب جديدة في نافذة متصفّح المختبر والصِق عنوان URL. اقبل الطلبات.
- عند ظهور خيار النسخ التالي، ارجع إلى جلسة py-vm1 في الجهاز الظاهري، ثم الصِق الرمز الذي نسخته في Enter authorization code: واضغط على Enter للمصادقة.

- لنُجرِ الآن اختبارًا سريعًا لمعرفة ما إذا كان بإمكاننا الربط بواجهة Vertex API، وهي تستخدم *-aiplatform.googleapis.com، لذا سننفّذ
digعلى هذا العنوان لمعرفة كيفية توجيه الزيارات.
dig *-aiplatform.googleapis.com
- من المفترض أن يظهر لك شيء مشابه (سيختلف العنوان). يُرجى العِلم أنّ المسار يتم عبر عناوين IP العامة لأنّ واجهة برمجة التطبيقات هي واجهة عامة. عدم النسخ
; <<>> 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
- لنستخدم الآن لغة Python. اكتب
ipythonلتفعيل واجهة ipython.
ipython

- الآن، انسخ ما يلي والصِقه. يطرح هذا السؤال على Gemini "ما هي جميع ألوان شعار Google" و "ما هو لون السماء" .
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 مرّتين لتشغيل الأمر والاطّلاع على النتيجة.
- وصل هذا الطلب إلى Vertex من خلال واجهة برمجة التطبيقات العامة.
- أغلِق جلسة SSH لنتمكّن من المتابعة.
6. المهمة رقم 4 إنشاء نقطة نهاية PSC إلى googleapis باستخدام Terraform
لتفعيل الاتصال الخاص بنقطة نهاية Vertex API، سننشئ نقطة نهاية Private Service Connect لواجهات Google APIs. سيسمح لنا ذلك باستخدام عنوان IP خاص نحدّده لتوجيه الزيارات إلى واجهات Google APIs التي نحتاج إليها، وفي هذه الحالة Vertex.
- افتح Cloud Shell في طريقة عرض المحرّر إذا لم يكن مفتوحًا من قبل. سننشئ ما يلي:
- أنشئ عنوان IP لنقطة نهاية PSC 192.168.255.250 (
resource "google_compute_global_address" "default") - إنشاء نقطة نهاية PSC لواجهات Google APIs (
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واكتبyesلإنشاء نقطة نهاية لواجهات برمجة التطبيقات الخاصة بـ IP وPSC من Google. - التحقّق من توفّر نقطة النهاية
gcloud compute addresses list --filter="name=( 'vertex-ip' ...)"
gcloud compute forwarding-rules describe pscvertexgemini --global
7. المهمة رقم 5 إنشاء إدخال نظام أسماء نطاقات يدوي إلى googleapis باستخدام Terraform
يمكنك إنشاء إدخال يدوي لنظام أسماء النطاقات (DNS) للإشارة إلى نقطة نهاية Private Service Connect (PSC) باستخدام نظام أسماء النطاقات الخاص. سيؤثّر ذلك في جميع الشبكات التي تحدّدها له.
- انتقِل إلى "خدمات الشبكة" واختَر Cloud DNS.
- في المناطق، من المفترض أن تظهر منطقة تم إنشاؤها تلقائيًا لخدمة Private Service Connect لواجهات Google APIs، مع دليل خدمة لنوع المنطقة. يمكن استخدام ذلك للاتصال بنقطة نهاية PSC بالتنسيق **SERVICE-ENDPOINT.p.googleapis.com. مثال:
aiplatform-pscvertexgemini.p.googleapis.com - في هذه الحالة، نريد إنشاء إدخال نظام أسماء نطاقات خاص يدويًا. ستكون الإعدادات على النحو التالي
- أنشئ منطقة نظام أسماء نطاقات خاصًا باسم "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واكتبyesلإنشاء إدخال نظام أسماء النطاقات الخاص. - من المفترض أن يظهر لك إعداد يتضمّن سجلّ A وسجلّ CNAME على النحو التالي:

- بعد ذلك، نتحقّق من إمكانية الاتصال بهذه التغييرات على py-vm1.
8. المهمة 6 تأكيد إمكانية الاتصال بنقطة النهاية من خلال عنوان IP
لنبدأ بالربط باستخدام نقطة النهاية الخاصة للاتصال بـ Gemini.
- انتقِل إلى مثيل الجهاز الافتراضي py-vm1. اختَر SSH وادخل إلى الجهاز الافتراضي باستخدام SSH
- يمكنك الحصول على إذن الوصول إلى الجذر من خلال كتابة
sudo -i - تحقَّق من مسار الاتصال بـ aiplatform.googleapis.com باستخدام الأمر
ping. سيؤدي ذلك إلى إرسال طلب اختبار الاتصال إلى عنوان IP في نظام أسماء النطاقات الخاص، وهو سجلّ A لـ googleapis. عنوان IP هذا هو نقطة نهاية PSC، ولن تنجح عمليات اختبار الاتصال.
ping -c 2 aiplatform.googleapis.com
- تحقَّق من مسار الاتصال باستخدام
pingمن خلال إدخال نظام أسماء النطاقات الذي تم إنشاؤه تلقائيًا لواجهات برمجة تطبيقات Google في Private Service Connect باستخدامaiplatform-pscvertexgemini.p.googleapis.com. يشير ذلك إلى عنوان IP لنقطة نهاية PSC، ولن تنجح عمليات إرسال الإشارات.
ping -c 2 aiplatform-pscvertexgemini.p.googleapis.com
- تحقَّق من مسار الاتصال بـ aiplatform.googleapis.com باستخدام الأمر
dig. يجب أن يكون هذا هو عنوان IP لنقطة نهاية PSC.
dig aiplatform.googleapis.com
- ارجع إلى وحدة التحكّم وافتح مثيلاً آخر من الجهاز الافتراضي py-vm1. اختَر SSH واستخدِم SSH للوصول إلى الجهاز الافتراضي
- يمكنك الحصول على إذن الوصول إلى الجذر من خلال كتابة
sudo -i - نفِّذ الأمر التالي للاطّلاع على الاتصال في تفريغ TCP
sudo tcpdump -i any port 53 -n or host aiplatform.googleapis.com
- الآن، ارجع إلى مثيل SSH الأول من الجهاز الافتراضي py-vm1.
- تفعيل البيئة باستخدام
cd py-gem-env
source env/bin/activate
- لنختبر الآن لغة Python. اكتب
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 مرتين لتنفيذ الأمر والاطّلاع على النتيجة.
- ارجع إلى مثيل الجهاز الافتراضي الثاني py-vm1. من المفترض أن تظهر لك نتيجة TCPDUMP. ستلاحظ أنّ عنوان IP الخاص بالجهاز الظاهري يستخدم عنوان IP الخاص بنقطة نهاية PSC للاتصال بـ aiplatform.googleapis.com.
أغلِق جميع جلسات SSH إلى مثيل الجهاز الافتراضي py-vm1
9- تنظيف
- انتقِل إلى Cloud Shell وتأكَّد من أنّك في الدليل terraform-build
cd terraform-build - نفِّذ
terraform plan destroyللاطّلاع على جميع التغييرات التي سيتم إجراؤها.
terraform plan -destroy
- بعد ذلك، شغِّل الأمر
terraform destroyثم اكتبyesوستتم إزالة جميع الموارد التي أنشأتها في مشروعك باستخدام Terraform.
terraform destroy
10. تهانينا
تهانينا، لقد تم الربط بنجاح بخدمة Vertex واستخدام Gemini 3 Pro من خلال عنوان واجهة برمجة التطبيقات العامة وبشكل خاص باستخدام نقطة نهاية Private Service Connect لواجهات Google APIs. يمكن أن توسّع هذه الوظيفة نطاق الاتصال الخاص بواجهات برمجة التطبيقات ليشمل بيئة السحابة المحلية أو السحابة الأخرى المرتبطة من خلال (Interconnect وCross-Cloud Interconnect وVPC).
الخطوات التالية / مزيد من المعلومات
يمكنك الاطّلاع على مزيد من المعلومات حول شبكات Vertex AI.
الدرس التطبيقي التالي
يمكنك مواصلة رحلتك التعليمية مع Google Cloud والاطّلاع على هذه المختبرات الأخرى في Google Cloud Skills Boost: