ตรวจสอบข้อเท็จจริงของคำสั่งด้วยเอเจนต์ AI ของ ADK และโมเดล Gemini

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

ภาพรวม

ฟังก์ชันที่กำหนดเองสำหรับการตรวจสอบข้อเท็จจริงสำหรับ Google ชีตที่จะใช้เป็นโปรเจ็กต์ Google Apps Script ที่เชื่อมโยงซึ่งขับเคลื่อนโดยเอเจนต์ Vertex AI และโมเดล Gemini

ตัวอย่างนี้แสดงวิธีใช้แหล่งข้อมูล AI 2 ประเภทที่มีประสิทธิภาพ ในสเปรดชีตชีตโดยตรง

  1. AI Agent สำหรับความสามารถในการให้เหตุผลหลายขั้นตอนแบบหลายเครื่องมือที่ซับซ้อน โดยใช้ Agent ADK ที่ติดตั้งใช้งานใน Vertex AI Agent Engine
  2. โมเดล AI สำหรับความสามารถด้านความเข้าใจขั้นสูง การสร้าง และการสรุปโดยใช้โมเดล Gemini จาก Vertex AI

ตัวอย่างการใช้งานฟังก์ชันที่กำหนดเองของ Google ชีตสำหรับการตรวจสอบข้อเท็จจริง

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

  • ทำความเข้าใจสิ่งที่โซลูชันทำ
  • ทำความเข้าใจวิธีใช้โซลูชัน
  • ทำให้เอเจนต์ Vertex AI ใช้งานได้
  • ตั้งค่าสคริปต์
  • เรียกใช้สคริปต์

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

ฟังก์ชันที่กำหนดเองของชีตมีชื่อว่า FACT_CHECK และทำงาน เป็นโซลูชันแบบครบวงจร โดยจะวิเคราะห์ข้อความ อ้างอิงคำตอบโดยใช้ข้อมูลล่าสุดบนเว็บ และแสดงผลลัพธ์ในรูปแบบที่คุณต้องการ

  • การใช้งาน
    • =FACT_CHECK("Your statement here") เพื่อให้ได้ผลลัพธ์ที่กระชับและสรุปแล้ว
    • =FACT_CHECK("Your statement here", "Your output formatting instructions here") สำหรับรูปแบบเอาต์พุตที่เฉพาะเจาะจง
  • เหตุผล: LLM Auditor ADK AI Agent (ตัวอย่าง Python)
  • การจัดรูปแบบเอาต์พุต: โมเดล Gemini

โซลูชันนี้จะส่งคำขอไปยัง Vertex AI REST API โดยใช้ UrlFetchApp

สถาปัตยกรรม

แผนภาพต่อไปนี้แสดงสถาปัตยกรรมของ Google Workspace และ ทรัพยากร Google Cloud ที่ฟังก์ชันที่กำหนดเองใช้

แผนภาพสถาปัตยกรรมสำหรับฟังก์ชันที่กำหนดเองของ Google ชีตสำหรับการตรวจสอบข้อเท็จจริง

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

หากต้องการใช้ตัวอย่างนี้ คุณต้องมีข้อกำหนดเบื้องต้นต่อไปนี้

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

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

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

คอนโซล Google Cloud

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

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

คอนโซล 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

เปิดใช้ Vertex AI API

คอนโซล Google Cloud

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

    เปิดใช้ API

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

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

gcloud CLI

  1. หากจำเป็น ให้ตั้งค่าโปรเจ็กต์ที่อยู่ในระบบคลาวด์ปัจจุบันเป็นโปรเจ็กต์ที่คุณสร้างด้วยคำสั่ง gcloud config set project

    gcloud config set project PROJECT_ID

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

  2. เปิดใช้ Vertex AI API ด้วยคำสั่ง gcloud services enable

    gcloud services enable aiplatform.googleapis.com

สร้างบัญชีบริการในคอนโซล 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

ติดตั้งใช้งาน LLM Auditor ADK AI Agent

  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/llm-auditor

    unzip adk-samples-main.zip
    cd adk-samples-main/python/agents/llm-auditor
  4. สร้าง Bucket ของ Cloud Storage ใหม่สำหรับ 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=true
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    export GOOGLE_CLOUD_LOCATION=PROJECT_LOCATION
    export GOOGLE_CLOUD_STORAGE_BUCKET=CLOUD_STORAGE_BUCKET_NAME

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

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

    python3 -m venv myenv
    source myenv/bin/activate
    poetry install --with deployment
    python3 deployment/deploy.py --create
  7. เรียกข้อมูลรหัสตัวแทน คุณจะต้องใช้รหัสนี้ในภายหลังเพื่อกำหนดค่าฟังก์ชันที่กำหนดเอง

    python3 deployment/deploy.py --list

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

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

ดูใน GitHub

สร้างและกำหนดค่าในสเปรดชีตใหม่

  1. หากต้องการทำสำเนาสเปรดชีตชีตตัวอย่างให้สมบูรณ์ รวมถึงโปรเจ็กต์ Apps Script ที่ผูกกับคอนเทนเนอร์ ให้คลิกปุ่ม ต่อไปนี้

    คัดลอกสเปรดชีต Google ชีต

  2. ในสเปรดชีตที่สร้างขึ้นใหม่ ให้ไปที่ส่วนขยาย > Apps Script

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

    1. LOCATION ที่มีตำแหน่งของโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google ที่สร้างใน ขั้นตอนก่อนหน้า เช่น us-central1
    2. GEMINI_MODEL_ID ด้วยโมเดล Gemini ที่คุณต้องการใช้ เช่น gemini-2.5-flash-lite
    3. REASONING_ENGINE_ID โดยมีรหัสของ LLM Auditor ADK Agent ที่ติดตั้งใช้งาน ในขั้นตอนก่อนหน้า เช่น 1234567890
    4. SERVICE_ACCOUNT_KEY โดยใช้คีย์ JSON จากบัญชีบริการ ที่ดาวน์โหลดในขั้นตอนก่อนหน้า เช่น { ... }
  4. คลิกบันทึกพร็อพเพอร์ตี้ของสคริปต์

ทดสอบฟังก์ชันที่กำหนดเอง

  1. ไปที่สเปรดชีตที่สร้างขึ้นใหม่
  2. เปลี่ยนข้อความในคอลัมน์ A
  3. สูตรในคอลัมน์ B จะทำงานแล้วแสดงผลการตรวจสอบข้อเท็จจริง

ล้างข้อมูล

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

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

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

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

ขั้นตอนถัดไป