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

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

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

ภาพรวม

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

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

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

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

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

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

โซลูชันนี้ใช้เทคโนโลยีหลักต่อไปนี้ ได้แก่ ADK, Google Cloud และ Google Workspace API, Vertex AI Agent Engine และเฟรมเวิร์กการ์ด

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

ฟีเจอร์

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

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

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

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

แอป Chat มีฟีเจอร์เพิ่มเติมต่อไปนี้

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

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

แอปพลิเคชันอื่นๆ มีฟีเจอร์เพิ่มเติมต่อไปนี้

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

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

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

สถาปัตยกรรม

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

แผนภาพต่อไปนี้แสดงโฟลว์ผู้ใช้หลัก ซึ่งก็คือการส่งข้อความไปยัง AI Agent

HTTP

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

Apps Script

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

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

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

ส่วนนี้จะแสดงวิธีสร้างและกำหนดค่าโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google

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

คอนโซล Google Cloud

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

    ไปที่สร้างโปรเจ็กต์

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

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

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

gcloud CLI

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

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

เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์

คอนโซล Google Cloud

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

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

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

gcloud CLI

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

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

    • PROJECT_ID คือรหัสโปรเจ็กต์สำหรับ โปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่คุณต้องการเปิดใช้การเรียกเก็บเงิน
    • 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, ส่วนเสริม Google Workspace และ Cloud Resource Manager API

    เปิดใช้ API

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

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

Apps Script

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

    เปิดใช้ API

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

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

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

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

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

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

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

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

คอนโซล Google Cloud

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > 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 ให้ไปที่เมนู > IAM & Admin > บัญชีบริการ

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

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

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

  5. คลิกปิด

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

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

  1. ใน Google API Console ให้ไปที่เมนู > แพลตฟอร์มการตรวจสอบสิทธิ์ของ Google > การสร้างแบรนด์

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

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

ติดตั้งใช้งาน AI Agent ของ Travel Concierge ADK

  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 ด้วยรหัสของโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่คุณสร้างขึ้น

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

    ดาวน์โหลด

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

    unzip adk-samples-main.zip
    cd adk-samples-main/python/agents/travel-concierge
  4. สร้าง Bucket ของ Cloud Storage ใหม่สำหรับ AI Agent ของ ADK โดยเฉพาะ

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

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

    1. CLOUD_STORAGE_BUCKET_NAME โดยใช้ชื่อ Bucket ที่ไม่ซ้ำกันซึ่งคุณต้องการใช้
    2. PROJECT_ID โดยใช้รหัสของโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่คุณสร้าง
    3. PROJECT_LOCATION ที่มีตำแหน่งของ โปรเจ็กต์ที่อยู่ในระบบคลาวด์ ที่คุณสร้าง
  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 ที่มีตำแหน่งของ โปรเจ็กต์ที่อยู่ในระบบคลาวด์ ที่คุณสร้าง
    3. PLACES_API_KEY ด้วยสตริงของคีย์ API ที่คุณสร้างขึ้น
    4. CLOUD_STORAGE_BUCKET_NAME โดยใช้ชื่อที่เก็บข้อมูลที่คุณ สร้างขึ้น
  6. ติดตั้งและติดตั้งใช้งาน AI Agent ของ ADK

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

    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 API ให้ไปที่ Cloud Run

    ไปที่ Cloud Run

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

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

    1. ในช่องชื่อบริการ ให้ป้อน travel-concierge-app
    2. ในรายการภูมิภาค ให้เลือกตำแหน่งของโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่คุณสร้าง 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 Agent ของ Travel Concierge ADK ที่ติดตั้งใช้งานแล้ว

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

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

  3. ตั้งชื่อสำเนาโปรเจ็กต์ Apps Script โดยทำดังนี้

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

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

  6. ENGINE_ID โดยใช้รหัสเครื่องมือค้นหาของ Travel Concierge ADK AI Agent ที่ติดตั้งใช้งานในขั้นตอนก่อนหน้า 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

ติดตั้งใช้งานใน Chat

Python

ติดตั้งโปรเจ็กต์ตัวอย่างใน Chat โดยใช้URL ของปลายทาง เพื่อเปิดใช้การทดสอบ

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

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

  2. ตั้งค่าแอป Chat โดยทำดังนี้

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

Apps Script

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

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

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

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

  3. ตั้งค่าแอป Chat โดยทำดังนี้

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

ทดสอบ Agent

  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. คลิกเปิด Chat เพื่อเปลี่ยนเส้นทางไปยังพื้นที่ DM ของ Chat

  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 Agent จะแสดงหลังจากดำเนินการเสร็จสมบูรณ์แล้วเท่านั้น (ไม่มีการสตรีม)

  • อาจหมดเวลา: แถบด้านข้างจะหมดเวลาอัปเดตเมื่อใช้เวลามากกว่า 2-3 นาทีจึงจะเสร็จสมบูรณ์

แต่จะไม่มีข้อจำกัดเหล่านี้ใน Chat

Apps Script

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

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

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

การปรับแต่ง

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

Python

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

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

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

  • google_workspace.py: ใช้แพลตฟอร์มการจัดการ AI Agent ที่ไม่ใช่ 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 Agent และกำหนดอินเทอร์เฟซเฉพาะของ Vertex AI เพื่อนำไปใช้รองรับการโต้ตอบของ AI Agent และการแสดงผลคำตอบ โดยส่วนขยายทั่วไปคือการเพิ่มการรองรับหลายเซสชันสำหรับการสนทนาของผู้ใช้แยกกัน และแพลตฟอร์มการจัดการ AI Agent อื่นๆ

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

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

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

ล้างข้อมูล

เราขอแนะนำให้ลบโปรเจ็กต์ที่อยู่ในระบบคลาวด์เพื่อหลีกเลี่ยงการเรียกเก็บเงินจากบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้

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

    ไปที่เครื่องมือจัดการทรัพยากร

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