1. ภาพรวม
ใน Codelab นี้ คุณจะได้สร้าง Data Science Agent ที่ค้นหาข้อมูลจริงจากชุดข้อมูลสาธารณะของ BigQuery และจดจำค่ากำหนดของคุณในเซสชันต่างๆ จากนั้นคุณจะนำไปใช้งานใน Agent Runtime ซึ่งเป็นบริการ Google Cloud ที่มีการจัดการครบวงจรซึ่งจะจัดการโครงสร้างพื้นฐาน การปรับขนาด และการจัดการเซสชัน
เอเจนต์ใช้ความสามารถหลัก 3 อย่างที่เปิดใช้งานแบบค่อยเป็นค่อยไป ดังนี้
- ชุดเครื่องมือ BigQuery: เอเจนต์จะสำรวจสคีมาและเรียกใช้การค้นหา SQL กับชุดข้อมูล BigQuery จริง ซึ่งจะทำงานทั้งในเครื่องและเมื่อติดตั้งใช้งาน
- คลังความทรงจำ: เมื่อใช้งานแล้ว เอเจนต์จะจดจำค่ากำหนดและบริบทของผู้ใช้ในเซสชันที่ไม่ได้เชื่อมต่อ
- ความสามารถในการสังเกต: Cloud Trace จะบันทึกขั้นตอนการให้เหตุผล การเรียกใช้เครื่องมือ และเวลาในการตอบสนองของ Agent ผ่านการวัดผล OpenTelemetry
สิ่งที่คุณจะได้เรียนรู้
- วิธีสร้างเอเจนต์ ADK ด้วย
BigQueryToolsetเพื่อเข้าถึงข้อมูลจริง - วิธีกำหนดค่า Memory Bank เพื่อให้ข้อมูลคงอยู่ข้ามเซสชัน
- วิธีทำให้ Agent ใช้งานได้กับ Agent Runtime ด้วย
adk deploy - วิธีให้สิทธิ์ IAM สำหรับบัญชีบริการของเอเจนต์ที่ติดตั้งใช้งาน
- วิธีทดสอบการคงอยู่ของหน่วยความจำและความสามารถในการสังเกต
สิ่งที่คุณต้องมี
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน
- เว็บเบราว์เซอร์ เช่น Chrome
- หากคุณเรียกใช้โค้ดในเครื่องของคุณเองแทนที่จะใช้ Cloud Shell คุณจะต้องมี Google Cloud SDK (
gcloudCLI), uv (เครื่องมือจัดการแพ็กเกจ Python) และ Python 3.12 ขึ้นไป (uvจะติดตั้งให้โดยอัตโนมัติหากจำเป็น)
ADK (Agent Development Kit) คือเฟรมเวิร์กของ Google สำหรับสร้าง AI Agent Codelab นี้ใช้ ADK เพื่อสร้าง Agent และติดตั้งใช้งานใน Agent Runtime
Codelab นี้เหมาะสำหรับนักพัฒนาแอประดับกลางที่มีความคุ้นเคยกับ Python และ Google Cloud บ้าง
Codelab นี้ใช้เวลาประมาณ 35 นาที (รวมถึง 5-10 นาทีสำหรับการติดตั้งใช้งาน)
ทรัพยากรที่สร้างในโค้ดแล็บนี้ควรมีค่าใช้จ่ายน้อยกว่า $5
2. ตั้งค่าสภาพแวดล้อม
สร้างโปรเจ็กต์ Google Cloud
- ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์
- ตรวจสอบว่าโปรเจ็กต์ที่อยู่ในระบบคลาวด์เปิดใช้การเรียกเก็บเงินแล้ว ดูวิธีตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินในโปรเจ็กต์แล้วหรือไม่
สร้างโปรเจ็กต์
เปิด Cloud Shell Editor ในโปรเจ็กต์ GCP ที่คุณสร้างขึ้น
จากนั้นสร้างเทอร์มินัล > เทอร์มินัลใหม่ แล้วเรียกใช้คำสั่งต่อไปนี้เพื่อตั้งค่าโปรเจ็กต์ คำสั่งในภายหลังจะอ่านรหัสโปรเจ็กต์จากการตั้งค่านี้
gcloud config set project <INSERT_YOUR_GCP_PROJECT_HERE>
เปิดใช้ API
เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล
gcloud services enable \
aiplatform.googleapis.com \
bigquery.googleapis.com \
telemetry.googleapis.com \
--project=$(gcloud config get project)
aiplatform.googleapis.com: โฮสต์ Agent ของคุณใน Agent Runtime ซึ่งรวมถึงเซสชัน Gemini Enterprise และ Memory Bank รวมถึงให้บริการโมเดล Gemini- BigQuery API (
bigquery.googleapis.com): การค้นหา SQL กับชุดข้อมูลสาธารณะและส่วนตัว - Telemetry API (
telemetry.googleapis.com): การติดตาม OpenTelemetry สำหรับการสังเกตการณ์ตัวแทน
ติดตั้ง ADK
ในเทอร์มินัล ให้เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างโฟลเดอร์สำหรับ Codelab นี้ และติดตั้ง ADK รวมถึงส่วนที่ใช้อ้างอิง
mkdir -p ~/adk-deploy-scale
cd ~/adk-deploy-scale
uv init --bare
uv add google-adk google-auth google-cloud-bigquery "google-cloud-aiplatform[agent_engines]"
uv จะสร้างสภาพแวดล้อม Python ที่แยกต่างหากสำหรับ Codelab นี้ คุณจึงไม่ต้องเปิดใช้งานสิ่งใด นำหน้าคำสั่ง Python ด้วย uv run
google-adk แพ็กเกจมีเครื่องมือ adk CLI ที่คุณจะใช้เพื่อทดสอบและติดตั้งใช้งานเอเจนต์ adk deploy ใช้ google-cloud-aiplatform เพื่อสร้าง Agent ใน Agent Runtime และ google-cloud-bigquery คือไลบรารีของไคลเอ็นต์ที่อยู่เบื้องหลังเครื่องมือ BigQuery ของ ADK
3. สร้าง Agent
สร้างไดเรกทอรีตัวแทนในโฟลเดอร์ ~/adk-deploy-scale เรียกใช้คำสั่งทั้งหมดในภายหลังจาก ~/adk-deploy-scale (โฟลเดอร์หลักของ data_science_agent/)
mkdir data_science_agent
จากนั้นเรียกใช้คำสั่งต่อไปนี้เพื่อสร้าง data_science_agent/.env ด้วยโปรเจ็กต์ ภูมิภาคที่จะติดตั้งใช้งาน Agent และการตั้งค่าสำหรับ Agent ที่ติดตั้งใช้งาน adk deploy จะอ่านไฟล์นี้ ดังนั้นการตั้งค่าเหล่านี้จะยังคงใช้งานได้หากคุณเปิดเทอร์มินัลใหม่
cat > ~/adk-deploy-scale/data_science_agent/.env <<EOF
GOOGLE_CLOUD_PROJECT=$(gcloud config get project)
GOOGLE_CLOUD_LOCATION=us-central1
GOOGLE_GENAI_USE_ENTERPRISE=True
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true
EOF
GOOGLE_CLOUD_PROJECTและGOOGLE_CLOUD_LOCATION: รหัสโปรเจ็กต์ (กรอกจากgcloud) และภูมิภาคที่เอเจนต์ทำงานGOOGLE_GENAI_USE_ENTERPRISE: มีการเรียก ADK ไปยัง Gemini ผ่านโปรเจ็กต์ Google Cloud ของคุณOTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT: บันทึกอินพุตพรอมต์ทั้งหมดและการตอบกลับของเอเจนต์ ซึ่งมีประโยชน์สำหรับการแก้ไขข้อบกพร่อง
โครงสร้างไดเรกทอรีสุดท้ายจะมีลักษณะดังนี้
adk-deploy-scale/
data_science_agent/
.env
__init__.py
agent.py
requirements.txt # created in the Deploy step
คุณจะสร้าง __init__.py และ agent.py ตอนนี้ จากนั้นเพิ่ม requirements.txt ในขั้นตอนการติดตั้งใช้งาน
สร้าง data_science_agent/__init__.py - ต้องมีไฟล์นี้เพื่อให้ ADK ค้นพบและโหลด Agent ของคุณได้
from . import agent # noqa: F401 — required by `adk eval` and `adk web`
สร้าง data_science_agent/agent.py:
เอเจนต์นี้เชื่อมต่อกับ BigQuery เพื่อดึงข้อมูลและคงเซสชันไว้ใน Memory Bank
ความทรงจำจะเปิดใช้งานโดยอัตโนมัติเมื่อมีการติดตั้งใช้งาน Agent Runtime จะตั้งค่าตัวแปรสภาพแวดล้อม GOOGLE_CLOUD_AGENT_ENGINE_ID ซึ่งจะไม่มีเมื่อเรียกใช้ในเครื่อง
from __future__ import annotations
import os
from google.adk.agents import LlmAgent
from google.adk.agents.callback_context import CallbackContext
from google.adk.apps import App
from google.adk.integrations.bigquery import BigQueryCredentialsConfig
from google.adk.integrations.bigquery import BigQueryToolset
from google.adk.models import Gemini
from google.adk.tools.preload_memory_tool import PreloadMemoryTool
from google.genai import types
import google.auth
PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
if not PROJECT_ID:
raise ValueError(
"GOOGLE_CLOUD_PROJECT environment variable is required. "
"Add it to data_science_agent/.env: GOOGLE_CLOUD_PROJECT=<your-project-id>"
)
credentials, _ = google.auth.default()
bq_toolset = BigQueryToolset(credentials_config=BigQueryCredentialsConfig(credentials=credentials))
# GOOGLE_CLOUD_AGENT_ENGINE_ID is set automatically by Agent Runtime.
agent_engine_id = os.getenv("GOOGLE_CLOUD_AGENT_ENGINE_ID")
async def _save_memory(callback_context: CallbackContext) -> None:
"""Persist the session to Memory Bank after each agent run.
Only activates on Agent Runtime, where Memory Bank is available.
"""
if agent_engine_id:
await callback_context.add_session_to_memory()
root_agent = LlmAgent(
name="data_science_agent",
model=Gemini(
model="gemini-3.8-flash",
# gemini-3.8-flash is served from the global endpoint. The agent
# itself runs in GOOGLE_CLOUD_LOCATION (us-central1).
client_kwargs={"location": "global"},
retry_options=types.HttpRetryOptions(attempts=5),
),
instruction=(
"You are an expert Data Science Agent. "
"Your goal is to query enterprise BigQuery datasets, analyze the data, "
"and summarize your findings. "
f"When executing SQL queries, use project_id `{PROJECT_ID}` as the "
"billing project unless the user specifies a different one. "
"Present results clearly with formatted numbers. "
"Remember user preferences like preferred regions, date ranges, "
"or analysis formats across conversations."
),
tools=[bq_toolset, PreloadMemoryTool()],
after_agent_callback=_save_memory,
)
app = App(
name="data_science_agent",
root_agent=root_agent,
)
มาดูกันว่าโค้ดนี้ทำอะไร
- BigQueryToolset จะให้เครื่องมือแก่ตัวแทน เช่น
execute_sql,list_table_idsและget_table_infoซึ่งสามารถสำรวจสคีมาและค้นหาชุดข้อมูลใดก็ได้ที่ผู้โทรมีสิทธิ์เข้าถึง - PreloadMemoryTool จะดึงความทรงจำที่เกี่ยวข้องโดยอัตโนมัติก่อนการเรียกใช้ LLM แต่ละครั้งโดยการค้นหาเนื้อหาที่เกี่ยวข้องกับข้อความของผู้ใช้ใน Memory Bank
_save_memoryการโทรกลับจะคงเซสชันไว้ในธนาคารความทรงจำหลังจากที่เอเจนต์ทำงานแต่ละครั้ง เพื่อให้เอเจนต์เรียกคืนบริบทในเซสชันในอนาคตได้ - แอปจะรวม Agent รูทไว้ในแอปพลิเคชันที่ทำให้ใช้งานได้ซึ่ง Agent Runtime สามารถให้บริการได้
nameต้องตรงกับชื่อไดเรกทอรี (data_science_agent) โดยadk webจะใช้ชื่อนี้เพื่อค้นหาและโหลดเอเจนต์ - คำสั่งจะบอกให้ Agent ใช้โปรเจ็กต์สำหรับการเรียกเก็บเงินสำหรับการค้นหา SQL และจดจำค่ากำหนดของผู้ใช้
- Gemini ที่มี
client_kwargs={"location": "global"}จะส่งการเรียกโมเดลไปยังปลายทางส่วนกลางที่gemini-3.8-flashพร้อมให้บริการ ตัว Agent เองจะทํางานในus-central1:adk deployจะตั้งค่าGOOGLE_CLOUD_LOCATIONใน Agent ที่ติดตั้งใช้งานเป็นภูมิภาคที่คุณติดตั้งใช้งาน ดังนั้นระบบจะตั้งค่าตําแหน่งของโมเดลในโค้ดแทน
4. ทำให้ใช้งานได้กับ Agent Runtime
สร้างไฟล์ requirements.txt ในไดเรกทอรี data_science_agent
google-adk
google-genai
google-auth
google-cloud-bigquery
python-dotenv
opentelemetry-instrumentation-google-genai
opentelemetry-instrumentation-httpx
opentelemetry-instrumentation-grpc
google-adkและgoogle-genai: ADK และไคลเอ็นต์ Geminigoogle-auth: การตรวจสอบสิทธิ์ Google Cloudgoogle-cloud-bigquery: ไลบรารีของไคลเอ็นต์ BigQuery ที่BigQueryToolsetใช้ ADK ไม่ได้ติดตั้งไว้โดยค่าเริ่มต้นpython-dotenv: โหลดไฟล์.envเมื่อเริ่มต้น- แพ็กเกจ 3 รายการ
opentelemetry-instrumentation-*จะเปิดใช้ฟีเจอร์ความสามารถในการสังเกตที่คุณจะสำรวจในภายหลัง โดยจะวัดการเรียกใช้โมเดล Gemini และการสื่อสาร gRPC/HTTP ภายในเพื่อให้ร่องรอยปรากฏในแท็บร่องรอยของเอเจนต์
adk deploy ยังอ่านไฟล์ data_science_agent/.env ที่คุณสร้างไว้ก่อนหน้านี้และตั้งค่าในเอเจนต์ที่ติดตั้งใช้งานด้วย
ติดตั้งใช้งาน Agent อาร์กิวเมนต์สุดท้าย data_science_agent คือไดเรกทอรีที่มีโค้ดตัวแทน
uv run adk deploy agent_engine \
--project=$(gcloud config get project) \
--region=us-central1 \
--display_name="Data Science Agent" \
--otel_to_cloud \
data_science_agent
ที่จุดเริ่มต้น เอาต์พุตจะแสดงเส้นสีเหลือง 2 เส้น Ignoring GOOGLE_CLOUD_PROJECT in .env ... และ Ignoring GOOGLE_CLOUD_LOCATION in .env ... โดยคาดว่าแฟล็ก --project และ --region จะมีความสำคัญเหนือกว่าค่าเดียวกันใน .env
ธง | วัตถุประสงค์ |
| โปรเจ็กต์ที่อยู่ในระบบคลาวด์และภูมิภาค Google Cloud เป้าหมาย |
| ชื่อที่ผู้ใช้อ่านได้ซึ่งแสดงใน Cloud Console |
| ส่งออกการติดตามและบันทึก OpenTelemetry ไปยัง Google Cloud และเปิดการวัดและส่งข้อมูล ( |
เมื่อติดตั้งใช้งานใน Agent Runtime ความสามารถ 2 อย่างจะเปิดใช้งานโดยอัตโนมัติ ได้แก่
- Memory Bank:
adk deployเชื่อมต่อ Agent กับเซสชันและ Memory Bank ในอินสแตนซ์ Agent RuntimePreloadMemoryToolจะอ่านจากธนาคารความทรงจำและ_save_memoryจะคงเซสชันไว้โดยอัตโนมัติ - ความสามารถในการสังเกต: Cloud Trace จะบันทึกขั้นตอนการให้เหตุผล การเรียกใช้เครื่องมือ และเวลาในการตอบสนองของ Agent
5. ให้สิทธิ์เข้าถึง BigQuery
คุณต้องให้สิทธิ์เข้าถึง BigQuery แก่ Agent ของบริการ Agent Runtime (Agent ของบริการเครื่องมือให้เหตุผลของ AI Platform) เมื่อติดตั้งใช้งานแล้ว เอเจนต์จะทำงานในฐานะบัญชีบริการที่จัดการโดย Google นี้ (ไม่ใช่ข้อมูลเข้าสู่ระบบส่วนตัวของคุณ) จึงต้องมีสิทธิ์ที่ชัดเจนในการเรียกใช้คำค้นหา SQL
PROJECT_NUMBER=$(gcloud projects describe $(gcloud config get project) \
--format='value(projectNumber)')
SA="service-${PROJECT_NUMBER}@gcp-sa-aiplatform-re.iam.gserviceaccount.com"
# Required to execute SQL queries
gcloud projects add-iam-policy-binding $(gcloud config get project) \
--member="serviceAccount:${SA}" \
--role="roles/bigquery.jobUser"
# Required to read table metadata and data
gcloud projects add-iam-policy-binding $(gcloud config get project) \
--member="serviceAccount:${SA}" \
--role="roles/bigquery.dataViewer"
แต่ละคำสั่งจะพิมพ์ Updated IAM policy for project [...] เมื่อสำเร็จ
6. ทดสอบ Agent ที่ติดตั้งใช้งาน
เปิดหน้าการติดตั้งใช้งานในคอนโซล Google Cloud คลิกเอเจนต์ที่ติดตั้งใช้งาน แล้วคลิกแท็บสนามเด็กเล่น
ทดสอบความสามารถของ BigQuery โดยทำดังนี้
- "แสดงรายการตารางใน bigquery-public-data.hacker_news"
- คาดการณ์: เอเจนต์เรียกใช้
list_table_idsและแสดงชื่อตาราง รวมถึงfull
- คาดการณ์: เอเจนต์เรียกใช้
- "ค้นหาจํานวนโพสต์ต่อปีใน bigquery-public-data.hacker_news.full"
- คาดการณ์: เอเจนต์เรียกใช้
execute_sqlด้วยการค้นหา SQL และแสดงผลตารางปีและจำนวนโพสต์
- คาดการณ์: เอเจนต์เรียกใช้
- "การเปลี่ยนแปลงของเปอร์เซ็นต์โพสต์เมื่อเทียบกับปีก่อนเป็นเท่าใด"
- คาดการณ์: เอเจนต์เรียกใช้
execute_sqlด้วยการค้นหา SQL ที่คำนวณการเปลี่ยนแปลงเปอร์เซ็นต์และแสดงผลลัพธ์
- คาดการณ์: เอเจนต์เรียกใช้
7. ทดสอบความต่อเนื่องของหน่วยความจำ
ใน Playground ให้สอนความชอบแก่เอเจนต์โดยทำดังนี้
- "จำไว้ว่าชุดข้อมูลโปรดของฉันคือ bigquery-public-data.hacker_news"
- "มีตารางอะไรบ้าง"
รอสักครู่เพื่อให้หน่วยความจำคงอยู่ (_save_memory การเรียกกลับจะทำงานหลังจากที่ตัวแทนตอบกลับ)
ตอนนี้เริ่มเซสชันใหม่โดยคลิกเซสชันใหม่ใน Playground แล้วถามว่า
- "ชุดข้อมูลที่ฉันชื่นชอบคืออะไร"
เอเจนต์ควรจดจำ bigquery-public-data.hacker_news ได้แม้ว่าจะเป็นเซสชันใหม่ที่ไม่มีประวัติการสนทนาก็ตาม ซึ่งได้ผลเนื่องจากเหตุผลต่อไปนี้
_save_memoryจะบันทึกแต่ละเซสชันลงในธนาคารความทรงจำผ่านcallback_context.add_session_to_memory()PreloadMemoryToolจะดึงความทรงจำที่เกี่ยวข้องก่อนการเรียกใช้ LLM แต่ละครั้ง- Memory Bank จะจับคู่เนื้อหาตามความหมาย ไม่ใช่แค่ตามคีย์เวิร์ด
8. สำรวจความสามารถในการสังเกต
ใน Cloud Console ให้ไปที่ Agent ที่ติดตั้งใช้งาน แล้วคลิกแท็บการติดตาม

คุณควรเห็นตารางเซสชันที่แสดงเซสชันจากคำค้นหาทดสอบที่คุณเรียกใช้ในขั้นตอนก่อนหน้า ตารางจะแสดงเมตริกสรุปสําหรับแต่ละเซสชัน ได้แก่ ระยะเวลาเฉลี่ย การเรียกโมเดล การเรียกเครื่องมือ การใช้โทเค็น และข้อผิดพลาด
คลิกเซสชันเพื่อตรวจสอบรายละเอียดการติดตาม ซึ่งรวมถึง
- กราฟแบบมีทิศทางแบบไม่มีวงจร (DAG) ของช่วง ซึ่งแสดงรายละเอียดทีละขั้นตอนของการให้เหตุผลของ Agent การเรียกใช้เครื่องมือ (การค้นหา BigQuery) และเวลาในการตอบสนอง
- อินพุตและเอาต์พุตสำหรับแต่ละช่วง (เปิดใช้ผ่านตัวแปรสภาพแวดล้อม
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENTใน.env) - แอตทริบิวต์ข้อมูลเมตา เช่น รหัส Span, รหัสการติดตาม และการกำหนดเวลา
นอกจากนี้ คุณยังเปลี่ยนไปใช้มุมมองช่วง (สลับที่ด้านบน) เพื่อดูช่วงแต่ละช่วงในทุกเซสชันได้ด้วย
วิธีการทำงานของการติดตาม
เมื่อคุณติดตั้งใช้งานด้วย --otel_to_cloud adk deploy จะสร้างคอนเทนเนอร์ที่เรียกใช้เซิร์ฟเวอร์ ADK API โดยเปิด OpenTelemetry ไว้ ใน Agent Runtime เซิร์ฟเวอร์จะเริ่มต้นไปป์ไลน์ OpenTelemetry ซึ่งมีลักษณะดังนี้
- สร้าง TracerProvider ด้วย OTLP Exporter ที่ส่งช่วงไปยัง
telemetry.googleapis.com - บันทึกสแปนของ ADK เองสำหรับการเรียกใช้เอเจนต์ การเรียกโมเดล และการเรียกใช้เครื่องมือ และใช้แพ็กเกจการตรวจสอบทั้ง 3 รายการจาก
requirements.txtเพื่อเพิ่มสแปนจากไลบรารีหลัก (Gemini, httpx, gRPC) - ส่งชุดข้อมูลและช่วงไปยัง Telemetry API ซึ่งแท็บการติดตามจะอ่านข้อมูลเหล่านั้น
คอนเทนเนอร์ที่ติดตั้งใช้งานมี ADK รวมถึง OpenTelemetry SDK และเครื่องมือส่งออก แต่ไม่มีแพ็กเกจการตรวจสอบ requirements.txt จึงแสดงทั้ง 3 รายการ หากไม่มีเซิร์ฟเวอร์ ADK API จะบันทึกคำเตือนและข้ามช่วงเหล่านั้น
การแก้ปัญหา
หากไม่พบร่องรอยใดๆ หลังจากผ่านไป 2-3 นาที ให้ทำดังนี้
- ตรวจสอบว่าเปิดใช้ Telemetry API แล้ว: คุณเปิดใช้ในขั้นตอนการตั้งค่า ยืนยันด้วย
gcloud services list --enabled --project=$(gcloud config get project) | grep telemetry - ตรวจสอบคำเตือนใน Cloud Logging: ไปที่ Logging > Logs Explorer แล้วค้นหา
"proceeding without"หรือ"GoogleGenAiSdkInstrumentor"คำเตือนที่ระบุชื่อเครื่องมือวัด (GenAI, HTTPX หรือ gRPC) หมายความว่าไม่มีแพ็กเกจopentelemetry-instrumentation-*ที่ตรงกันในrequirements.txt - อย่าเพิ่ม
google-cloud-aiplatformลงในrequirements.txtadk deployจะเพิ่มโดยอัตโนมัติ การประกาศด้วยตนเองอาจทำให้แพ็กเกจ OpenTelemetry ขัดแย้งกันและทำให้การตรวจสอบล้มเหลวโดยไม่มีการแจ้งเตือน
9. ล้าง
โปรดลบทรัพยากรที่สร้างขึ้นระหว่างการทำ Codelab นี้เพื่อหลีกเลี่ยงการเรียกเก็บเงินอย่างต่อเนื่อง
ลบเอเจนต์ที่ติดตั้งใช้งานจากหน้าการติดตั้งใช้งานใน Cloud Console เลือกเอเจนต์แล้วคลิกลบ
หากสร้างโปรเจ็กต์สำหรับ Codelab นี้โดยเฉพาะ คุณสามารถลบทั้งโปรเจ็กต์แทนได้โดยทำดังนี้
gcloud projects delete <YOUR_PROJECT_ID>
ไม่บังคับ: ล้างข้อมูลสภาพแวดล้อมในเครื่อง
cd ~
rm -rf ~/adk-deploy-scale
10. ขอแสดงความยินดี
คุณได้สร้างเอเจนต์วิทยาศาสตร์ข้อมูลแบบมีสถานะและทําให้ใช้งานได้ใน Agent Runtime แล้ว
สิ่งที่คุณได้เรียนรู้
- วิธีสร้างเอเจนต์ ADK ด้วย
BigQueryToolsetเพื่อเข้าถึงข้อมูลจริง - วิธีเปิดใช้หน่วยความจำถาวรด้วย Memory Bank โดยใช้
PreloadMemoryToolและafter_agent_callback - วิธีให้สิทธิ์ IAM สำหรับบัญชีบริการของเอเจนต์ที่ติดตั้งใช้งาน
- วิธีติดตั้งใช้งาน Agent Runtime และเปิดใช้ความสามารถในการสังเกตด้วย Cloud Trace
ขั้นตอนถัดไป
- ค้นหาชุดข้อมูล BigQuery ส่วนตัวของคุณเองโดยให้สิทธิ์เข้าถึงข้อมูลแก่ตัวแทนบริการ Agent Runtime
- เพิ่มการดำเนินการโค้ดเพื่อเรียกใช้การวิเคราะห์ Python ในแซนด์บ็อกซ์ที่ปลอดภัย
- ตั้งค่าแดชบอร์ดการสังเกตการณ์ Cloud Trace เพื่อตรวจสอบเอเจนต์ในเวอร์ชันที่ใช้งานจริง
- เผยแพร่ผลลัพธ์ไปยัง Google Workspace โดยใช้เครื่องมือ MCP