วางแผนการเดินทางด้วยเอเจนต์ AI ที่เข้าถึงได้ใน Google Workspace

ระดับการเขียนโค้ด: ขั้นสูง
ระยะเวลา: 45 นาที
ประเภทโปรเจ็กต์: ส่วนเสริมของ Google Workspace ขยาย Chat, Gmail, ปฏิทิน, ไดรฟ์, เอกสาร, ชีต และสไลด์

บทช่วยสอนนี้จะแสดงวิธีเผยแพร่ตัวแทน AI ไปยัง Google Workspace เป็นส่วนเสริมของ Google Workspace โดยใช้ Apps Script หรือจุดสิ้นสุด HTTP หลังจากที่คุณเผยแพร่ส่วนเสริมของคุณแล้ว ผู้ใช้ของคุณจะสามารถโต้ตอบกับตัวแทน AI ภายในเวิร์กโฟลว์ของพวกเขาได้

ภาพรวม

ในบทแนะนำนี้ คุณจะทำให้ตัวอย่าง Travel Concierge ใช้งานได้จาก Agent Development Kit (ADK) Travel Concierge เป็น AI แบบหลายเอเจนต์ที่สนทนาได้ซึ่งใช้เครื่องมือต่างๆ เช่น Places API ของ Google Maps Platform, การอ้างอิงจาก Google Search และเซิร์ฟเวอร์ Model Context Protocol (MCP)

ADK จัดให้มีอินเทอร์เฟซการแชทและข้อความสำหรับนักพัฒนาตามค่าเริ่มต้น ในบทช่วยสอนนี้ คุณจะเพิ่มอินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) ให้กับแอปพลิเคชัน Google Workspace ที่ผู้ใช้ของคุณสามารถเข้าถึงได้โดยตรงในแชท Gmail ปฏิทิน ไดรฟ์ เอกสาร แผ่นงาน และสไลด์

  • การใช้ตัวแทน AI จาก Chat เพื่อระดมความคิดเกี่ยวกับการเดินทาง
    รูปที่ 1. การใช้ตัวแทน AI จาก Chat เพื่อระดมความคิดเกี่ยวกับการเดินทาง
  • การใช้เอเจนต์ AI จาก Gmail เพื่อวางแผนการเดินทางจากบริบทในอีเมลที่เลือก
    รูปที่ 2 การใช้เอเจนต์ AI จาก Gmail เพื่อวางแผนการเดินทางจากบริบทในอีเมลที่เลือก

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

  • ตั้งค่าสภาพแวดล้อม
  • ติดตั้งใช้งานเอเจนต์ AI
  • ตั้งค่าโครงการ
  • นำไปใช้กับ Gmail, ปฏิทิน, ไดรฟ์, เอกสาร, แผ่นงาน, สไลด์
  • ติดตั้งใช้งานใน Chat
  • ทดสอบโซลูชัน

เกี่ยวกับโซลูชันนี้

โซลูชันนี้ใช้เทคโนโลยีหลักต่อไปนี้ ได้แก่ ADK, Google Cloud และ Google Workspace APIs Vertex AI Agent Engine และCard Framework

GUI ได้รับการออกแบบมาให้แตกต่างกันสำหรับแอปพลิเคชัน Chat และแอปพลิเคชันที่ไม่ใช่ Chat (Gmail, ปฏิทิน, ไดรฟ์, เอกสาร, ชีต, สไลด์) เพื่อพิจารณาฟีเจอร์และข้อจำกัดเฉพาะของแอปพลิเคชันเหล่านั้น

ฟีเจอร์

ฟีเจอร์ต่อไปนี้ของแอปพลิเคชัน Travel Concierge เป็นฟีเจอร์ทั่วไปใน แอปพลิเคชัน Google Workspace ทั้งหมด

  • เซสชันผู้ใช้แบบถาวร: Vertex AI จะจัดการเซสชันเพื่อ ความต่อเนื่อง ผู้ใช้แต่ละคนจะแชร์เซสชันเดียวในแอปพลิเคชัน Workspace ทั้งหมด ผู้ใช้สามารถรีเซ็ตเซสชันด้วยตนเองเพื่อเริ่มการสนทนาใหม่

  • การส่งข้อความที่หลากหลาย: ผู้ใช้ส่งข้อความและรับการตอบกลับด้วยข้อความที่หลากหลายและวิดเจ็ตการ์ด

  • การจัดการข้อผิดพลาด: ข้อผิดพลาดที่ไม่คาดคิดจะได้รับการจัดการอย่างเหมาะสมโดยใช้ การลองใหม่และสถานะที่กำหนดค่าได้ในการตอบกลับ

แอปแชทมีคุณลักษณะเพิ่มเติมดังต่อไปนี้:

  • การส่งข้อความผู้ใช้แบบหลายโหมด: ผู้ใช้สามารถส่งข้อความพร้อมไฟล์แนบ รวมถึงเสียงและวิดีโอที่บันทึกโดยตรงจากพื้นที่แชท

  • การตอบกลับขั้นสูงด้วยภาพมากขึ้น: สามารถสร้างการตอบกลับได้ด้วยวิดเจ็ตขั้นสูง เช่น แถบเลื่อนพร้อมรูปภาพ โดยอาศัยคุณลักษณะการแชทเท่านั้นของกรอบงานการ์ดและพื้นที่การเรนเดอร์เพิ่มเติม

แอปพลิเคชันอื่นมีคุณลักษณะเพิ่มเติมดังต่อไปนี้:

  • บริบทโปรไฟล์ Google: ผู้ใช้สามารถส่งข้อความพร้อมข้อมูลโปรไฟล์ของตนเองได้ (ในตัวอย่างนี้จำกัดเฉพาะวันเกิด)

  • บริบท Gmail: ผู้ใช้สามารถส่งข้อความด้วยอีเมล (จำกัดเพียงหนึ่งหัวเรื่องและเนื้อหาในตัวอย่างนี้)

  • สิทธิ์เข้าถึงพื้นที่ Chat ของตัวแทน: ผู้ใช้สามารถเปิดพื้นที่ข้อความส่วนตัว (DM) ของแอป Chat ในแท็บใหม่ได้ด้วยการคลิกปุ่มเพียงปุ่มเดียว

สถาปัตยกรรม

แอปพลิเคชัน Travel Concierge จะรับและประมวลผลเหตุการณ์การโต้ตอบส่วนเสริมของ Google Workspace จากแอปพลิเคชัน Google Workspace ใช้ Vertex AI เพื่อแจ้งเตือนตัวแทน ADK AI และจัดการเซสชันของผู้ใช้ และอาศัย Google Cloud และ Google Workspace API เพื่อรวบรวมบริบทและแสดงการตอบกลับ

แผนภาพต่อไปนี้แสดงขั้นตอนการใช้งานหลัก: ส่งข้อความไปยังตัวแทน AI

HTTP

  • ไดอะแกรมสถาปัตยกรรมสำหรับแอปแชท
    รูปที่ 3 แอปแชทจะเติมบริบทด้วยไฟล์แนบจากข้อความของผู้ใช้ และส่งชุดข้อความพร้อมประวัติการโต้ตอบระหว่างตัวแทนย่อยและคำตอบโดยรวมขั้นสุดท้ายตามลำดับเวลา
  • แผนภาพสถาปัตยกรรมสำหรับแอปพลิเคชันที่ไม่ใช่ Chat
    รูปที่ 4 แอปพลิเคชันที่ไม่ใช่แชทจะเติมเต็มบริบทด้วยโปรไฟล์ Google ของผู้ใช้และการเลือกรายการ แล้วแสดงชุดส่วนที่มีประวัติการโต้ตอบของตัวแทนย่อยและคำตอบโดยรวมสุดท้ายตามลำดับเวลาแบบย้อนหลัง

Apps Script

  • แผนภาพสถาปัตยกรรมสำหรับแอป Chat
    รูปที่ 3 แอปแชทจะเติมบริบทด้วยไฟล์แนบจากข้อความของผู้ใช้ และส่งชุดข้อความพร้อมประวัติการโต้ตอบระหว่างตัวแทนย่อยและคำตอบโดยรวมขั้นสุดท้ายตามลำดับเวลา
  • แผนภาพสถาปัตยกรรมสำหรับแอปพลิเคชันที่ไม่ใช่ Chat
    รูปที่ 4 แอปพลิเคชันที่ไม่ใช่แชทจะเติมเต็มบริบทด้วยโปรไฟล์ Google ของผู้ใช้และการเลือกรายการ แล้วแสดงชุดส่วนที่มีประวัติการโต้ตอบของตัวแทนย่อยและคำตอบโดยรวมสุดท้ายตามลำดับเวลาแบบย้อนหลัง

ข้อกำหนดเบื้องต้น

เตรียมสภาพแวดล้อม

ส่วนนี้จะแสดงวิธีสร้างและกำหนดค่าโปรเจ็กต์ Google Cloud

สร้างโปรเจ็กต์ Google Cloud

คอนโซล Google Cloud

  1. ใน Google Cloud Console ให้ไปที่เมนู > IAM และผู้ดูแลระบบ > สร้างโปรเจ็กต์

    ไปที่สร้างโครงการ

  2. ในช่องชื่อโปรเจ็กต์ ให้ป้อนชื่อที่สื่อความหมายสำหรับโปรเจ็กต์

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

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

gcloud CLI

ในสภาพแวดล้อมการพัฒนาต่อไปนี้ ให้เข้าถึง Google Cloud CLI (gcloud):

  • Cloud Shell: หากต้องการใช้เทอร์มินัลออนไลน์โดยตั้งค่า gcloud CLI ไว้แล้ว ให้เปิดใช้งาน Cloud Shell
    เปิดใช้งาน Cloud Shell
  • เชลล์ภายในเครื่อง: หากต้องการใช้สภาพแวดล้อมการพัฒนาภายใน ติดตั้งและ เริ่มต้น gcloud CLI
    ในการสร้างโปรเจ็กต์บนคลาวด์ ให้ใช้คำสั่ง gcloud projects create:
    gcloud projects create PROJECT_ID
    แทนที่ PROJECT_ID โดยการตั้งค่า ID สำหรับโครงการที่คุณต้องการสร้าง

เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ Cloud

คอนโซล Google Cloud

  1. ในคอนโซล Google Cloud ให้ไปที่การเรียกเก็บเงิน คลิก เมนู > การเรียกเก็บเงิน > โปรเจ็กต์ของฉัน

    ไปที่การเรียกเก็บเงินสำหรับโครงการของฉัน

  2. ในเลือกองค์กร ให้เลือกองค์กรที่เชื่อมโยงกับโครงการ Google Cloud ของคุณ
  3. ในแถวของโปรเจ็กต์ ให้เปิดเมนูการดำเนินการ () คลิกเปลี่ยนการเรียกเก็บเงิน แล้วเลือก บัญชี Cloud Billing
  4. คลิกตั้งค่าบัญชี

gcloud CLI

  1. หากต้องการแสดงรายการบัญชีสำหรับการเรียกเก็บเงินที่ใช้ได้ ให้เรียกใช้คำสั่งต่อไปนี้
    gcloud billing accounts list
  2. ลิงก์บัญชีสำหรับการเรียกเก็บเงินกับโปรเจ็กต์ Google Cloud โดยทำดังนี้
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    แทนที่ค่าต่อไปนี้

    • PROJECT_ID คือรหัสโปรเจ็กต์ของ โปรเจ็กต์ Cloud ที่คุณต้องการเปิดใช้การเรียกเก็บเงิน
    • BILLING_ACCOUNT_ID คือรหัสบัญชีสำหรับการเรียกเก็บเงินที่จะลิงก์กับ โปรเจ็กต์ Google Cloud

เปิดใช้ Google Cloud APIs

HTTP

  1. ในคอนโซล Google Cloud ให้เปิดใช้ Vertex AI, Places, People, Google Chat, Gmail, Cloud Build, Cloud Functions, Cloud Pub/Sub, Cloud Logging, Artifact Registry, Cloud Run และ API ของส่วนเสริม Google Workspace

    เปิดใช้ API

  2. ยืนยันว่าคุณกำลังเปิดใช้ API ในโปรเจ็กต์ Cloud ที่ถูกต้อง แล้วคลิกถัดไป

  3. ยืนยันว่าคุณเปิดใช้ API ที่ถูกต้อง แล้วคลิกเปิดใช้

Apps Script

  1. ในคอนโซล Google Cloud ให้เปิดใช้ Vertex AI, Places, People, Google Chat API

    เปิดใช้ API

  2. ยืนยันว่าคุณกำลังเปิดใช้ API ในโปรเจ็กต์ Cloud ที่ถูกต้อง แล้วคลิกถัดไป

  3. ยืนยันว่าคุณเปิดใช้ API ที่ถูกต้อง แล้วคลิกเปิดใช้

รับคีย์ API ของ Google Maps Platform Places

  1. ในคอนโซล Google Cloud ให้ไปที่หน้า Google Maps Platform > คีย์และ ข้อมูลเข้าสู่ระบบ

    ไปที่คีย์และข้อมูลเข้าสู่ระบบ

  2. กล่องโต้ตอบ เริ่มต้นใช้งานบน Google Maps Platform จะแสดงคีย์ API ที่คุณเพิ่งสร้างขึ้น ซึ่งเป็นสตริงตัวอักษรและตัวเลข คุณจะต้องใช้สตริงนี้ในส่วนถัดไป

สร้างบัญชีบริการในคอนโซล Google Cloud

สร้างบัญชีบริการใหม่ที่มีบทบาท Vertex AI User โดยทำตามขั้นตอนเหล่านี้:

คอนโซล Google Cloud

  1. ใน Google Cloud Console ให้ไปที่เมนู > IAM & Admin > บัญชีบริการ

    ไปที่บัญชีบริการ

  2. คลิกสร้างบัญชีบริการ
  3. กรอกรายละเอียดบัญชีบริการ แล้วคลิกสร้างและต่อไป
  4. ไม่บังคับ: มอบหมายบทบาทให้กับบัญชีบริการเพื่อให้สิทธิ์เข้าถึงทรัพยากรของโปรเจ็กต์ Google Cloud ดูรายละเอียดเพิ่มเติมได้ที่การให้ เปลี่ยน และเพิกถอนสิทธิ์เข้าถึงทรัพยากร
  5. คลิกต่อไป
  6. ไม่บังคับ: ป้อนผู้ใช้หรือกลุ่มที่จัดการและดำเนินการกับบัญชีบริการนี้ได้ โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อการจัดการการแอบอ้างเป็นบัญชีบริการ
  7. คลิกเสร็จสิ้น จดบันทึกที่อยู่อีเมลสำหรับบัญชีบริการ

gcloud CLI

  1. สร้างบัญชีบริการโดยทำดังนี้
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
  2. ไม่บังคับ: มอบหมายบทบาทให้กับบัญชีบริการเพื่อให้สิทธิ์เข้าถึงทรัพยากรของโปรเจ็กต์ Google Cloud ดูรายละเอียดเพิ่มเติมได้ที่การให้ เปลี่ยน และเพิกถอนสิทธิ์เข้าถึงทรัพยากร

บัญชีบริการจะปรากฏในหน้าบัญชีบริการ ขั้นตอนต่อไปคือสร้างคีย์ส่วนตัวสำหรับบัญชีบริการ

สร้างคีย์ส่วนตัว

หากต้องการสร้างและดาวน์โหลดคีย์ส่วนตัวสำหรับบัญชีบริการ ให้ทำตามขั้นตอนเหล่านี้:

  1. ใน Google Cloud Console ให้ไปที่เมนู > IAM & Admin > บัญชีบริการ

    ไปที่บัญชีบริการ

  2. เลือกบัญชีบริการ
  3. คลิกคีย์ > เพิ่มคีย์ > สร้างคีย์ใหม่
  4. เลือก JSON จากนั้นคลิกสร้าง

    คู่คีย์สาธารณะ/ส่วนตัวใหม่ของคุณจะถูกสร้างขึ้นและดาวน์โหลดไปยังเครื่องของคุณเป็นไฟล์ใหม่ บันทึกไฟล์ JSON ที่ดาวน์โหลดเป็น credentials.json ในไดเร็กทอรีการทำงานของคุณ ไฟล์นี้เป็นสำเนาเดียวของคีย์นี้ ดูข้อมูลเกี่ยวกับวิธีจัดเก็บคีย์อย่างปลอดภัยได้ที่การจัดการคีย์ของบัญชีบริการ

  5. คลิกปิด

ดูข้อมูลเพิ่มเติมเกี่ยวกับบัญชีบริการได้ที่บัญชีบริการในเอกสารประกอบของ Google Cloud IAM

ส่วนเสริมของ Google Workspace ต้องมีการกำหนดค่าหน้าจอขอความยินยอม การกำหนดค่าหน้าจอขอความยินยอม OAuth ของส่วนเสริมจะกำหนดสิ่งที่ Google แสดงต่อผู้ใช้

  1. ในคอนโซล Google Cloud ไปที่เมนู > Google Auth platform > การสร้างแบรนด์

    ไปที่การสร้างแบรนด์

  2. หากคุณได้กำหนดค่า Google Auth platformแล้ว คุณสามารถกำหนดค่าการตั้งค่าหน้าจอการยินยอม OAuth ต่อไปนี้ได้ใน การสร้างแบรนด์, กลุ่มเป้าหมาย และ การเข้าถึงข้อมูล หากคุณเห็นข้อความที่ระบุว่า Google Auth platform ยังไม่ได้กำหนดค่า ให้คลิก เริ่มต้นใช้งาน:
    1. ในส่วนข้อมูลแอป ให้ป้อนชื่อแอปในชื่อแอป
    2. ในอีเมลสนับสนุนสำหรับผู้ใช้ ให้เลือกอีเมลสนับสนุนที่ผู้ใช้สามารถติดต่อคุณได้หากมีข้อสงสัยเกี่ยวกับการยินยอม
    3. คลิกถัดไป
    4. ภายใต้ผู้ชม ให้เลือกภายใน
    5. คลิกถัดไป
    6. ในส่วนข้อมูลติดต่อ ให้ป้อนอีเมลที่คุณต้องการรับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงในโปรเจ็กต์
    7. คลิกถัดไป
    8. ในส่วนเสร็จสิ้น ให้อ่านนโยบายข้อมูลผู้ใช้ของบริการ Google API และหากยอมรับ ให้เลือกฉันยอมรับบริการ Google API: นโยบายข้อมูลผู้ใช้
    9. คลิกต่อไป
    10. คลิกสร้าง
  3. ในตอนนี้ คุณข้ามการเพิ่มขอบเขตได้ ในอนาคต เมื่อสร้างแอปเพื่อใช้ภายนอกองค์กร Google Workspace คุณจะต้องเปลี่ยนประเภทผู้ใช้เป็นภายนอก จากนั้น เพิ่มขอบเขตการให้สิทธิ์ที่แอปของคุณต้องการ ดูข้อมูลเพิ่มเติมได้ที่คู่มือกำหนดค่าความยินยอม OAuth ฉบับเต็ม

ทำให้ AI Agent ของ ADK Travel Concierge ใช้งานได้

  1. หากยังไม่ได้ดำเนินการ ให้ตรวจสอบสิทธิ์ด้วยบัญชี Google Cloud และกำหนดค่า Google Cloud CLI ให้ใช้โปรเจ็กต์ Google Cloud

    gcloud auth application-default login
    gcloud config set project PROJECT_ID
    gcloud auth application-default set-quota-project PROJECT_ID

    แทนที่ PROJECT_ID ด้วยรหัสของโปรเจ็กต์ Cloud ที่คุณสร้างขึ้น

  2. ดาวน์โหลดที่เก็บ GitHub นี้

    ดาวน์โหลด

  3. ในสภาพแวดล้อมการพัฒนาในเครื่องที่ต้องการ ให้แตกไฟล์ที่ดาวน์โหลด มาแล้วเปิดไดเรกทอรี adk-samples/python/agents/travel-concierge

    unzip adk-samples-main.zip
    cd adk-samples-main/python/agents/travel-concierge
  4. สร้างที่เก็บข้อมูล Cloud Storage ใหม่สำหรับเอเจนต์ AI ของ ADK โดยเฉพาะ

    gcloud storage buckets create gs://CLOUD_STORAGE_BUCKET_NAME --project=PROJECT_ID --location=PROJECT_LOCATION

    แทนที่ค่าต่อไปนี้

    1. CLOUD_STORAGE_BUCKET_NAME โดยใช้ชื่อที่เก็บข้อมูลที่ไม่ซ้ำกันที่คุณต้องการใช้
    2. PROJECT_ID โดยใช้รหัสของโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่คุณสร้าง
    3. PROJECT_LOCATION ที่มีตำแหน่งของ โปรเจ็กต์ Cloud ที่คุณสร้าง
  5. ตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้

    export GOOGLE_GENAI_USE_VERTEXAI=1
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    export GOOGLE_CLOUD_LOCATION=PROJECT_LOCATION
    export GOOGLE_PLACES_API_KEY=PLACES_API_KEY
    export GOOGLE_CLOUD_STORAGE_BUCKET=CLOUD_STORAGE_BUCKET_NAME
    export TRAVEL_CONCIERGE_SCENARIO=travel_concierge/profiles/itinerary_empty_default.json

    แทนที่ค่าต่อไปนี้

    1. PROJECT_ID โดยใช้รหัสของโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่คุณสร้าง
    2. PROJECT_LOCATION ที่มีตำแหน่งของ โปรเจ็กต์ Cloud ที่คุณสร้าง
    3. PLACES_API_KEY ด้วยสตริงของคีย์ API ที่คุณสร้างขึ้น
    4. CLOUD_STORAGE_BUCKET_NAME พร้อมชื่อถังที่คุณสร้างขึ้น
  6. ติดตั้งและติดตั้งใช้งาน ADK AI Agent

    uv sync --group deployment
    uv run python deployment/deploy.py --create
  7. ดึงหมายเลขโครงการและ ID เครื่องยนต์จากบันทึกที่พิมพ์ล่าสุดเป็น PROJECT_NUMBER และ ENGINE_ID ตามลำดับ คุณจะต้องใช้ทั้งสองอย่างในภายหลังเพื่อกำหนดค่าโครงการของคุณ

    Created remote agent: projects/PROJECT_NUMBER/locations/us-central1/reasoningEngines/ENGINE_ID

ตรวจสอบโค้ดตัวอย่าง

ก่อนตั้งค่าโปรเจ็กต์ คุณอาจใช้เวลาสักครู่เพื่อตรวจสอบและ ทำความคุ้นเคยกับโค้ดตัวอย่างที่โฮสต์ใน GitHub

สร้างและกำหนดค่าโครงการ

Python

  1. ดาวน์โหลดที่เก็บ GitHub นี้

    ดาวน์โหลด

  2. ในสภาพแวดล้อมการพัฒนาในเครื่องที่ต้องการ ให้แตกไฟล์ที่ดาวน์โหลด มาแล้วเปิดไดเรกทอรี add-ons-samples/python/travel-adk-ai-agent

    unzip add-ons-samples-main.zip
    cd add-ons-samples-main/python/travel-adk-ai-agent
  3. ย้ายไฟล์คีย์ JSON credentials.json จากบัญชีบริการ ที่ดาวน์โหลดในขั้นตอนก่อนหน้าไปยังไดเรกทอรีโปรเจ็กต์

  4. ในคอนโซล Google Cloud ให้ไปที่ Cloud Run แล้วทำดังนี้

    ไปที่ Cloud Run

  5. คลิกเขียนฟังก์ชัน

  6. ในหน้าสร้างบริการ ให้ตั้งค่าฟังก์ชันดังนี้

    1. ในช่องชื่อบริการ ให้ป้อน travel-concierge-app
    2. ในรายการภูมิภาค ให้เลือกตำแหน่งของโปรเจ็กต์ Cloud ที่คุณสร้าง PROJECT_LOCATION
    3. ในส่วน URL ปลายทาง ให้คลิก ไอคอนสำหรับการทำสำเนา
    4. ในรายการรันไทม์ ให้เลือก Python เวอร์ชันล่าสุด
    5. ในส่วนการตรวจสอบสิทธิ์ ให้เลือกอนุญาตการเข้าถึงแบบสาธารณะ
    6. ในส่วน คอนเทนเนอร์, วอลุ่ม, เครือข่าย, ความปลอดภัย ภายใต้ ทรัพยากร:
      1. เลือก 1 GiB ในช่อง Memory
      2. ในฟิลด์ CPU ให้เลือก 2
    7. คลิกสร้าง แล้วรอให้ Cloud Run สร้างบริการ คอนโซลจะเปลี่ยนเส้นทางคุณไปยังแท็บแหล่งที่มา
  7. ในสภาพแวดล้อมการพัฒนาในเครื่องที่คุณต้องการ ให้ติดตั้งใช้งานแหล่งที่มาของ โปรเจ็กต์โดยทำดังนี้

    gcloud run deploy travel-concierge-app --quiet --source . \
        --region PROJECT_LOCATION  \
        --function adk_ai_agent  \
        --set-env-vars LOCATION=LOCATION,PROJECT_NUMBER=PROJECT_NUMBER,ENGINE_ID=ENGINE_ID,BASE_URL=BASE_URL

    แทนที่ค่าต่อไปนี้

    1. PROJECT_LOCATION ที่มีตำแหน่งของฟังก์ชัน Cloud Run ที่คุณสร้างไว้ก่อนหน้านี้
    2. LOCATION โดยใช้ตำแหน่งของโปรเจ็กต์ Google Cloud ที่สร้างในขั้นตอนก่อนหน้า PROJECT_LOCATION
    3. PROJECT_NUMBER พร้อมหมายเลขโครงการของ Travel Concierge ADK AI Agent ที่ใช้งานในขั้นตอนก่อนหน้านี้
    4. ENGINE_ID โดยใช้รหัสเครื่องมือของ Travel Concierge ADK AI Agent ที่ติดตั้งใช้งานในขั้นตอนก่อนหน้า
    5. BASE_URL ด้วย URL ปลายทางที่คุณคัดลอกไว้ก่อนหน้านี้

Apps Script

วิธีสร้างโปรเจ็กต์ Apps Script และกำหนดค่าให้ใช้เอเจนต์ AI ของ Travel Concierge ADK ที่คุณ ติดตั้งใช้งาน

  1. คลิกปุ่มต่อไปนี้เพื่อเปิดโครงการ Travel Concierge ADK AI Agent Apps Script
    เปิดโปรเจ็กต์

  2. คลิก ภาพรวม แล้วคลิก ไอคอนสำหรับการทำสำเนา ทำสำเนา

  3. ตั้งชื่อสำเนาโครงการ Apps Script ของคุณ:

    1. คลิก สำเนาของตัวแทน ADK AI ของ Travel Concierge
    2. ในชื่อโปรเจ็กต์ ให้พิมพ์ Travel Concierge ADK AI Agent
    3. คลิกเปลี่ยนชื่อ
  4. ในโปรเจ็กต์ Apps Script ให้ คลิกไอคอนสำหรับการตั้งค่าโปรเจ็กต์ Editor แล้ว ย้ายไฟล์ VertexAi.gs ขึ้นไปจนอยู่เหนือไฟล์ AgentHandler.gs โดยใช้การดำเนินการกับไฟล์ Move file up

  5. ในโปรเจ็กต์ Apps Script ให้ คลิก ไอคอนสำหรับการตั้งค่าโปรเจ็กต์ การตั้งค่าโปรเจ็กต์ คลิกแก้ไขพร็อพเพอร์ตี้สคริปต์ แล้วคลิกเพิ่มพร็อพเพอร์ตี้สคริปต์ เพื่อเพิ่มพร็อพเพอร์ตี้สคริปต์ต่อไปนี้

  6. ENGINE_ID โดยใช้รหัสเครื่องมือค้นหาของตัวแทน AI ของ Travel Concierge ADK ที่ติดตั้งใช้งานในขั้นตอนก่อนหน้า ENGINE_ID

  7. LOCATION พร้อมตำแหน่งของโปรเจ็กต์ Google Cloud ที่สร้างในขั้นตอนก่อนหน้านี้ PROJECT_LOCATION

  8. PROJECT_NUMBER พร้อมหมายเลขโครงการของ Travel Concierge ADK AI Agent ที่ใช้งานในขั้นตอนก่อนหน้านี้ PROJECT_NUMBER

  9. SERVICE_ACCOUNT_KEY พร้อมด้วยคีย์ JSON จากบัญชีบริการที่ดาวน์โหลดในขั้นตอนก่อนหน้า เช่น { ... }

  10. คลิกบันทึกคุณสมบัติสคริปต์

  11. ในโปรเจ็กต์ Apps Script ให้ คลิก ไอคอนสำหรับการตั้งค่าโปรเจ็กต์ การตั้งค่าโปรเจ็กต์

  12. ในส่วนโปรเจ็กต์ Google Cloud Platform (GCP) ให้คลิกเปลี่ยนโปรเจ็กต์

  13. ในหมายเลขโครงการ GCP ให้วางหมายเลขโครงการของ Travel Concierge ADK AI Agent ที่ใช้งานในขั้นตอนก่อนหน้านี้ PROJECT_NUMBER

  14. คลิกตั้งค่าโปรเจ็กต์ ตอนนี้โปรเจ็กต์ระบบคลาวด์และโปรเจ็กต์ Apps Script เชื่อมต่อกันแล้ว

นำไปใช้กับ Gmail, ปฏิทิน, ไดรฟ์, เอกสาร, แผ่นงาน, สไลด์

Python

ใช้การปรับใช้ส่วนเสริมของ Google Workspace เพื่อติดตั้งโครงการตัวอย่างไปยังแอปพลิเคชัน Google Workspace ทั้งหมด (แต่เป็น Google Chat) เพื่อเปิดใช้งานการทดสอบ

  1. ในสภาพแวดล้อมการพัฒนาในเครื่องที่คุณต้องการ ให้เปิดไฟล์ deployment.json จากแหล่งที่มาของโค้ดของโปรเจ็กต์ แล้วแทนที่อินสแตนซ์ทั้งหมดของ $BASE_URL ด้วยค่าของ BASE_URL ซึ่งเป็น URL ของปลายทางที่คุณคัดลอกไว้ในขั้นตอนก่อนหน้า

  2. สร้างการปรับใช้ส่วนเสริม Google Workspace ชื่อ travel-concierge-addon:

    gcloud workspace-add-ons deployments create travel-concierge-addon \
        --deployment-file=deployment.json
  3. ติดตั้งการปรับใช้ส่วนเสริม Google Workspace:

    gcloud workspace-add-ons deployments install travel-concierge-addon

Apps Script

ติดตั้งโครงการ Apps Script ลงในแอปพลิเคชัน Google Workspace ทั้งหมด (แต่รวมถึง Google Chat) เพื่อเปิดใช้งานการทดสอบ

  1. ในโครงการ Apps Script ของคุณ ให้คลิก ปรับใช้ > ทดสอบการปรับใช้ จากนั้นคลิก ติดตั้ง

ตอนนี้สามารถเข้าถึงส่วนเสริมได้จากแถบด้านข้างของแอปพลิเคชัน Google Workspace แล้ว

ปรับใช้ในการแชท

Python

ติดตั้งโครงการตัวอย่างในการแชทโดยใช้ URL ปลายทางเพื่อเปิดใช้งานการทดสอบ

  1. ในคอนโซล ให้ค้นหา Google Chat API คลิก Google Chat API แล้วคลิกจัดการและ การกำหนดค่า

    ไปที่หน้าการกำหนดค่า Google Chat API

  2. ตั้งค่าแอปแชท:

    1. ในช่องชื่อแอป ให้ป้อน Travel ADK AI Agent
    2. ในช่อง URL อวาตาร์ ให้ป้อน https://goo.gle/3SfMkjb
    3. ในช่องคำอธิบาย ให้ป้อน Travel ADK AI Agent
    4. ในส่วนการตั้งค่าการเชื่อมต่อ ให้เลือก URL ของปลายทาง HTTP
    5. ในส่วนทริกเกอร์ ให้เลือก ใช้ URL ปลายทาง HTTP ทั่วไปสําหรับทริกเกอร์ทั้งหมด
    6. ในช่อง URL ปลายทาง HTTP ให้วาง URL ปลายทาง ที่คุณคัดลอกไว้ก่อนหน้านี้ ซึ่งก็คือ BASE_URL
    7. ลงทะเบียนคำสั่งด่วนที่แอป Chat ที่ใช้งานได้เต็มรูปแบบใช้ ดังนี้
      1. ภายใต้คำสั่ง คลิกเพิ่มคำสั่ง
      2. ในรหัสคำสั่ง ให้พิมพ์ 1
      3. ในคำอธิบาย ให้พิมพ์ Reset session
      4. ภายใต้ประเภทคำสั่ง เลือกคำสั่งด่วน
      5. ในส่วนชื่อ ให้พิมพ์ Reset session
      6. คลิกเสร็จสิ้น คำสั่งด่วนได้รับการลงทะเบียนและแสดงรายการแล้ว
    8. ภายใต้การมองเห็น ให้เลือกทำให้แอปแชทนี้พร้อมใช้งานสำหรับบุคคลและกลุ่มเฉพาะในโดเมนพื้นที่ทำงานของคุณ และป้อนที่อยู่อีเมลของคุณ
    9. ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดไปยังการบันทึก
    10. คลิกบันทึก

Apps Script

ติดตั้งโปรเจ็กต์ Apps Script ใน Chat โดยใช้รหัสการทำให้ใช้งานได้ของ Head เพื่อเปิดใช้การทดสอบ

  1. ในโปรเจ็กต์ Apps Script ให้คลิกทำให้ใช้งานได้ > ทดสอบการทำให้ใช้งานได้ แล้วคลิกไอคอนสำหรับการคัดลอกรหัสการทำให้ใช้งานได้ของส่วนหัว คัดลอกในส่วนรหัสการทำให้ใช้งานได้ของเวอร์ชันล่าสุด

  2. ในคอนโซล ให้ค้นหา Google Chat API คลิก Google Chat API แล้วคลิกจัดการและ การกำหนดค่า

    ไปที่หน้าการกำหนดค่า Google Chat API

  3. ตั้งค่าแอปแชท:

    1. ในช่องชื่อแอป ให้ป้อน Travel ADK AI Agent
    2. ในช่อง URL อวาตาร์ ให้ป้อน https://goo.gle/3SfMkjb
    3. ในช่องคำอธิบาย ให้ป้อน Travel ADK AI Agent
    4. ภายใต้การตั้งค่าการเชื่อมต่อ เลือกสคริปต์แอป
    5. ในช่องรหัสการติดตั้งใช้งาน ให้วางรหัสการติดตั้งใช้งานส่วนหัวที่คุณคัดลอกไว้ก่อนหน้านี้
    6. ลงทะเบียนคำสั่งด่วนที่แอปแชทที่ใช้งานเต็มรูปแบบใช้:
      1. ในส่วนคำสั่ง ให้คลิกเพิ่มคำสั่ง
      2. ในรหัสคำสั่ง ให้พิมพ์ 1
      3. ในคำอธิบาย ให้พิมพ์ Reset session
      4. ภายใต้ประเภทคำสั่ง เลือกคำสั่งด่วน
      5. ในส่วนชื่อ ให้พิมพ์ Reset session
      6. คลิกเสร็จสิ้น คำสั่งด่วนได้รับการลงทะเบียนและแสดงรายการแล้ว
    7. ภายใต้การมองเห็น ให้เลือกทำให้แอปแชทนี้พร้อมใช้งานสำหรับบุคคลและกลุ่มเฉพาะในโดเมนพื้นที่ทำงานของคุณ และป้อนที่อยู่อีเมลของคุณ
    8. ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดไปยังการบันทึก
    9. คลิกบันทึก

ตอนนี้สามารถเข้าถึงแอปได้จาก Google Chat แล้ว

  1. เปิด Google Chat

    ไปที่ Google Chat

  2. สร้างพื้นที่ DM ใน Chat โดยทำดังนี้

    1. คลิก แชทใหม่
    2. พิมพ์และเลือกแอป Travel ADK AI Agent ในการค้นหา
    3. ในกล่องโต้ตอบ Install app คลิกติดตั้งแอป
    4. กล่องโต้ตอบ Install app จะปิดลงและระบบจะเลือกพื้นที่ DM ใน Chat ที่สร้างขึ้นใหม่

แอป Chat พร้อมตอบกลับข้อความแล้ว

ทดสอบเอเจนต์

  1. เปิด Gmail

    ไปที่ Gmail

  2. ส่งอีเมลต่อไปนี้ให้ตัวเอง

    • เรื่อง: You need to travel to Paris
    • เนื้อความ: Please be there between 11/25/2025 and 11/30/2025!
  3. เปิดส่วนเสริม Travel ADK AI Agent จากแถบด้านข้าง

  4. คลิกให้สิทธิ์เพื่อตั้งค่าส่วนเสริมให้เสร็จสมบูรณ์

  5. คลิกส่งหลังจากกำหนดค่าคำขอต่อไปนี้ไปยังตัวแทน

    • ข้อความ: Please help me plan this travel!
    • บริบท: เลือกอีเมลปัจจุบัน

    แถบด้านข้างจะอัปเดตตามคำตอบของเอเจนต์

    วางแผนการเดินทางจาก Gmail

  6. คลิกเปิดแชท เพื่อเปลี่ยนเส้นทางไปยังพื้นที่แชท DM

  7. คลิก + > รีเซ็ตเซสชัน

    คุณจะได้รับข้อความใหม่ที่ยืนยันว่าดำเนินการเสร็จแล้ว OK, let's start from the beginning, what can I help you with?

  8. ส่งข้อความ Give me ideas

    คุณได้รับข้อความใหม่พร้อมการตอบกลับของตัวแทน

    ระดมสมองจาก Chat

  9. ส่งข้อความ I want to go there! หลังจากอัปโหลดรูปภาพสถานที่ใดก็ได้ เช่น หอไอเฟล

    คุณได้รับข้อความใหม่พร้อมการตอบกลับของตัวแทน

    ดูรายละเอียดสถานที่ตั้งจากไฟล์แนบใน Chat

ข้อจำกัด

HTTP

ในแอปพลิเคชัน Google Workspace อื่นๆ นอกเหนือจาก Chat เอเจนต์ AI มีข้อจำกัดต่อไปนี้

  • เป็นแบบซิงโครนัส: แถบด้านข้างจะอัปเดตได้ก็ต่อเมื่อมีการโต้ตอบของผู้ใช้เท่านั้น ดังนั้นคำตอบของเอเจนต์ AI จะแสดงหลังจากดำเนินการเสร็จสมบูรณ์แล้วเท่านั้น (ไม่มีการสตรีม)

  • อาจหมดเวลาได้: แถบด้านข้างจะอัปเดตหมดเวลาเมื่อใช้เวลานานกว่าสองสามนาทีในการดำเนินการให้เสร็จสิ้น

ข้อจำกัดเหล่านี้ไม่มีอยู่ในแชท

Apps Script

ในแอปพลิเคชัน Google Workspace ทั้งหมด เอเจนต์ AI จะเรียกใช้ Vertex AI REST API โดยใช้ UrlFetchApp ซึ่งทำให้เกิดข้อจำกัดต่อไปนี้

  • เป็นแบบซิงโครนัส: ระบบจะแสดงคำตอบของเอเจนต์ AI หลังจากดำเนินการเสร็จสมบูรณ์เท่านั้น (ไม่มีการสตรีม)

  • อาจหมดเวลา: เอเจนต์ AI จะหมดเวลาเมื่อใช้เวลาดำเนินการนานกว่า 1 นาทีโดยประมาณ

การปรับแต่ง

โซลูชันนี้รองรับเอเจนต์ AI ของ ADK ที่โฮสต์ใน Vertex AI Agent Engine ซึ่งเป็น ชุดย่อยของ UI แอปพลิเคชัน Google Workspace และการแสดงผลการตอบกลับที่เฉพาะเจาะจง สำหรับการตอบกลับของตัวอย่าง Travel Concierge โซลูชันนี้ใช้เฟรมเวิร์กที่ขยายได้ คุณจึงปรับแต่งได้โดยการแก้ไขไฟล์ต่อไปนี้

Python

  • main.py: กำหนด UI หลักและตรรกะการโต้ตอบของผู้ใช้ (ตัวจัดการเหตุการณ์ Google Workspace) ส่วนขยายทั่วไปจะเป็นการเปิดใช้งานเอกสารไดรฟ์เป็นคุณลักษณะบริบทสำหรับแอปพลิเคชันไดรฟ์ คล้ายกับสิ่งที่ทำกับข้อความ Gmail สำหรับแอปพลิเคชัน Gmail

  • vertex_ai.py: จัดการเซสชัน คำตอบ ข้อผิดพลาด และ กำหนดอินเทอร์เฟซเฉพาะของ Vertex AI เพื่อนำไปใช้รองรับการโต้ตอบของเอเจนต์ และการแสดงผลคำตอบ โดยส่วนขยายทั่วไปคือการเพิ่มการรองรับหลายเซสชันสำหรับการสนทนาของผู้ใช้แยกกัน และแพลตฟอร์มการจัดการเอเจนต์ AI อื่นๆ

  • agent_handler.py: นำอินเทอร์เฟซเฉพาะ Vertex AI ที่กำหนดไว้ใน vertex_ai.py ไปใช้ในกรณีเฉพาะของแอปพลิเคชัน Chat และที่ไม่ใช่ Chat ส่วนขยายทั่วไปจะเป็นการเพิ่มปุ่มสำหรับให้ผู้ใช้ส่งข้อเสนอแนะเกี่ยวกับการตอบสนองของตัวแทน AI

  • google_workspace.py: ใช้การโต้ตอบแพลตฟอร์มการจัดการเอเจนต์ที่ไม่ใช่ AI โดยใช้การเรียก API ในตัวอย่างนี้จะใช้เฉพาะ Google Workspace API เพื่อรวบรวมรายละเอียดบริบทและดำเนินการ ส่วนขยายทั่วไปคือการเพิ่มฟังก์ชันเพื่อดึงข้อมูลธุรกิจจาก Google ปฏิทินหรือการจัดการลูกค้าสัมพันธ์ (CRM)

  • travel_agent_ui_render.gs: ใช้การแสดงผลการตอบกลับเฉพาะสำหรับ Travel Concierge สำหรับแอปพลิเคชันตัวแทนย่อยและ Workspace ส่วนขยายทั่วไปคือการเพิ่มการรองรับการแสดงผลการตอบกลับใหม่เพื่อ แสดงตัวเลือกเที่ยวบินแบบกราฟิก และเอเจนต์ AI อื่นๆ

Apps Script

  • Code.gs: กำหนด UI หลักและตรรกะการโต้ตอบของผู้ใช้ (ตัวจัดการเหตุการณ์ Google Workspace) ส่วนขยายทั่วไปจะเป็นการเปิดใช้งานเอกสารไดรฟ์เป็นคุณลักษณะบริบทสำหรับแอปพลิเคชันไดรฟ์ คล้ายกับสิ่งที่ทำกับข้อความ Gmail สำหรับแอปพลิเคชัน Gmail

  • VertexAi.gs: จัดการเซสชันของตัวแทน AI การตอบสนอง ข้อผิดพลาด และกำหนดอินเทอร์เฟซเฉพาะของ Vertex AI เพื่อนำไปใช้รองรับการโต้ตอบของตัวแทนและการเรนเดอร์การตอบสนอง โดยส่วนขยายทั่วไปคือการเพิ่มการรองรับหลายเซสชันสำหรับการสนทนาของผู้ใช้แยกกัน และแพลตฟอร์มการจัดการเอเจนต์ AI อื่นๆ

  • AgentHandler.gs: ใช้การติดตั้งใช้งานอินเทอร์เฟซเฉพาะ Vertex AI ที่กำหนดไว้ใน VertexAi.gs ในกรณีเฉพาะของแอปพลิเคชัน Chat และแอปพลิเคชันที่ไม่ใช่ Chat ส่วนขยายทั่วไปคือการเพิ่มปุ่มเพื่อให้ผู้ใช้ส่งความคิดเห็นเกี่ยวกับคำตอบของเอเจนต์ AI

  • GoogleWorkspace.gs: ใช้การโต้ตอบแพลตฟอร์มการจัดการเอเจนต์ที่ไม่ใช่ AI โดยใช้การเรียก API ในตัวอย่างนี้จะใช้เฉพาะ Google Workspace API เพื่อรวบรวมรายละเอียดบริบทและดำเนินการ ส่วนขยายทั่วไปคือการเพิ่มฟังก์ชันเพื่อดึงข้อมูลธุรกิจจาก Google ปฏิทินหรือการจัดการลูกค้าสัมพันธ์ (CRM)

  • TravelAgentUiRender.gs: นำการแสดงผลการตอบสนองที่เฉพาะเจาะจงของ Travel Concierge ไปใช้สำหรับตัวแทนย่อยและแอปพลิเคชัน Workspace ส่วนขยายทั่วไปคือการเพิ่มการรองรับการเรนเดอร์การตอบสนองใหม่เพื่อแสดงตัวเลือกการบินและตัวแทน AI อื่นๆ ในรูปแบบกราฟิก

ล้างข้อมูล

เพื่อหลีกเลี่ยงการเรียกเก็บเงินกับบัญชี Google Cloud ของคุณสำหรับทรัพยากรที่ใช้ในการสอนนี้ เราขอแนะนำให้คุณลบโครงการ Cloud

  1. ใน Google Cloud Console ให้ไปที่หน้าจัดการทรัพยากร คลิก เมนู > IAM และผู้ดูแลระบบ > จัดการทรัพยากร

    ไปที่ตัวจัดการทรัพยากร

  2. ในรายการโครงการ ให้เลือกโครงการที่คุณต้องการลบ จากนั้นคลิกลบ
  3. ในกล่องโต้ตอบ ให้พิมพ์ ID โปรเจ็กต์ จากนั้นคลิกปิดระบบเพื่อลบโปรเจ็กต์