วางแผนการเดินทางด้วยเอเจนต์ 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 ที่ผู้ใช้เข้าถึงได้โดยตรงใน Chat, 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 ทั้งหมด ผู้ใช้สามารถรีเซ็ตเซสชันด้วยตนเองเพื่อเริ่มการสนทนาใหม่

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

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

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

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

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

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

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

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

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

สถาปัตยกรรม

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

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

HTTP

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

Apps Script

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

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

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

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

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

คอนโซล Google Cloud

  1. ใน Google Cloud Console ให้ไปที่เมนู > 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 โดยตั้งรหัสสำหรับโปรเจ็กต์ที่ต้องการสร้าง

เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ 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 ของ 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 ด้วยรหัสของโปรเจ็กต์ 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. ดึงหมายเลขโปรเจ็กต์และรหัสเครื่องยนต์จากบันทึกที่พิมพ์ล่าสุดเป็น 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 Cloud ให้ไปที่ 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 ของ 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 โดยใช้รหัสเครื่องมือค้นหาของตัวแทน 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

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

Python

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

  1. ในคอนโซล ให้ค้นหา 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. ในคอนโซล ให้ค้นหา 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 พร้อมตอบกลับข้อความแล้ว

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

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

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

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

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 ในกรณีเฉพาะของแอปพลิเคชันแชทและแอปพลิเคชันที่ไม่ใช่แชท ส่วนขยายทั่วไปคือการเพิ่มปุ่มเพื่อให้ผู้ใช้ส่งความคิดเห็นเกี่ยวกับ คำตอบของเอเจนต์ 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: ใช้การเรียก API เพื่อดำเนินการโต้ตอบกับแพลตฟอร์มการจัดการเอเจนต์ที่ไม่ใช่ AI ในตัวอย่างนี้จะใช้เฉพาะ Google Workspace API เพื่อรวบรวมรายละเอียดบริบทและดำเนินการ ส่วนขยายทั่วไปคือการเพิ่มฟังก์ชันเพื่อดึงข้อมูลธุรกิจจาก Google ปฏิทินหรือการจัดการลูกค้าสัมพันธ์ (CRM)

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

ล้างข้อมูล

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

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

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

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