การใช้เครื่องมือกับ Gemini API

เครื่องมือจะขยายความสามารถของโมเดล Gemini ทำให้โมเดลสามารถดำเนินการในโลก เข้าถึงข้อมูลแบบเรียลไทม์ และทำงานด้านการคำนวณที่ซับซ้อนได้ โมเดลสามารถใช้เครื่องมือได้ทั้งในการโต้ตอบแบบคำขอ-การตอบกลับมาตรฐานและเซสชันการสตรีมแบบเรียลไทม์โดยใช้ Live API

เครื่องมือคือความสามารถเฉพาะ (เช่น Google Search หรือการดำเนินการโค้ด) ที่โมเดลใช้เพื่อตอบคำค้นหาได้ Gemini API มีชุดเครื่องมือบิวท์อินที่มีการจัดการอย่างเต็มรูปแบบ หรือคุณจะกำหนดเครื่องมือที่กำหนดเองโดยใช้การเรียกใช้ฟังก์ชันก็ได้

หากต้องการสร้างระบบแบบหลายขั้นตอนที่มุ่งเน้นเป้าหมาย โปรดดูภาพรวมของเอเจนต์

เครื่องมือในตัวที่พร้อมใช้งาน

เครื่องมือ คำอธิบาย กรณีการใช้งาน
Google Search อิงคำตอบตามเหตุการณ์ปัจจุบันและข้อเท็จจริงจากเว็บเพื่อลดอาการหลอน - ตอบคำถามเกี่ยวกับเหตุการณ์ล่าสุด
- ยืนยันข้อเท็จจริงด้วยแหล่งข้อมูลที่หลากหลาย
Google Maps สร้างผู้ช่วยที่รับรู้ตำแหน่งซึ่งค้นหาสถานที่ ขอเส้นทาง และให้บริบทในท้องถิ่นที่สมบูรณ์ได้ - การวางแผนกำหนดการเดินทางที่มีหลายจุดแวะพัก
- การค้นหาธุรกิจในพื้นที่ตามเกณฑ์ของผู้ใช้
การรันโค้ด อนุญาตให้โมเดลเขียนและรันโค้ด Python เพื่อแก้โจทย์คณิตศาสตร์หรือประมวลผลข้อมูลได้อย่างถูกต้อง - การแก้สมการคณิตศาสตร์ที่ซับซ้อน
- การประมวลผลและวิเคราะห์ข้อมูลข้อความอย่างแม่นยำ
บริบท URL สั่งให้โมเดลอ่านและวิเคราะห์เนื้อหาจากหน้าเว็บหรือเอกสารที่เฉพาะเจาะจง - ตอบคำถามโดยอิงตาม URL หรือเอกสารที่เฉพาะเจาะจง
- ดึงข้อมูลจากหน้าเว็บต่างๆ
การใช้งานคอมพิวเตอร์ (ตัวอย่าง) เปิดใช้ Gemini เพื่อดูหน้าจอและสร้างการดำเนินการเพื่อโต้ตอบกับ UI ของเว็บเบราว์เซอร์ (การดำเนินการฝั่งไคลเอ็นต์) - การทำงานอัตโนมัติของเวิร์กโฟลว์บนเว็บที่ทำซ้ำๆ
- การทดสอบอินเทอร์เฟซผู้ใช้ของเว็บแอปพลิเคชัน
การค้นหาไฟล์ จัดทำดัชนีและค้นหาเอกสารของคุณเองเพื่อเปิดใช้ Retrieval Augmented Generation (RAG) - การค้นหาคู่มือทางเทคนิค
- การตอบคำถามเกี่ยวกับข้อมูลที่เป็นกรรมสิทธิ์

ดูรายละเอียดเกี่ยวกับค่าใช้จ่ายที่เชื่อมโยงกับเครื่องมือที่เฉพาะเจาะจงได้ในหน้าราคา

วิธีการทำงานของการเรียกใช้เครื่องมือ

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

โฟลว์เครื่องมือในตัว

สำหรับเครื่องมือในตัว (Google Search, Google Maps, บริบท URL, การค้นหาไฟล์ การเรียกใช้โค้ด) กระบวนการทั้งหมดจะเกิดขึ้นในการเรียก API ครั้งเดียว ดังนี้

  1. คุณส่งพรอมต์ว่า "รากที่สองของราคาหุ้นล่าสุดของ GOOG คืออะไร"
  2. Gemini จะตัดสินใจว่าต้องการเครื่องมือและเรียกใช้เครื่องมือเหล่านั้นในเซิร์ฟเวอร์ของ Google (เช่น ค้นหาราคาหุ้น แล้วเรียกใช้โค้ด Python เพื่อคำนวณ รากที่สอง)
  3. Gemini จะส่งคำตอบสุดท้ายที่อิงตามผลลัพธ์ของเครื่องมือกลับมา

โฟลว์เครื่องมือที่กำหนดเอง (การเรียกใช้ฟังก์ชัน)

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

  1. คุณส่งพรอมต์พร้อมกับการประกาศฟังก์ชัน (เครื่องมือ)
  2. Gemini อาจส่ง JSON ที่มีโครงสร้างกลับมาเพื่อเรียกใช้ฟังก์ชันที่เฉพาะเจาะจง (เช่น {"name": "get_order_status", "args": {"order_id": "123"}}) พร้อมกับ id ที่ไม่ซ้ำกันเสมอ
  3. คุณเรียกใช้ฟังก์ชันในแอปพลิเคชันหรือสภาพแวดล้อม
  4. คุณส่งผลลัพธ์ของฟังก์ชันพร้อมด้วย id เดียวกันกับการเรียกใช้ฟังก์ชัน กลับไปให้ Gemini
  5. Gemini ใช้ผลลัพธ์เพื่อสร้างคำตอบสุดท้ายหรือการเรียกใช้เครื่องมืออื่น

ดูข้อมูลเพิ่มเติมได้ในคู่มือการเรียกใช้ฟังก์ชัน

การรวมโฟลว์เครื่องมือในตัวและเครื่องมือที่กำหนดเอง

สำหรับคำขอที่รวมเครื่องมือในตัวและเครื่องมือที่กำหนดเอง (การเรียกใช้ฟังก์ชัน) โมเดลจะใช้การหมุนเวียนบริบทของเครื่องมือเพื่อ ประสานงานการดำเนินการในสภาพแวดล้อมต่างๆ ดังนี้

  1. คุณส่งพรอมต์และประกาศเครื่องมือในตัวและฟังก์ชันที่กำหนดเองที่คุณ ต้องการเปิดใช้ โดยตั้งค่าสถานะเพื่อเปิดการรองรับการรวม
  2. Gemini จะเรียกใช้เครื่องมือที่มีในตัวและแสดงผลแก่ผู้ใช้หากมีการสร้างการเรียกฟังก์ชันฝั่งไคลเอ็นต์ (ซึ่งการเรียกใช้ครั้งแรกจะขึ้นอยู่กับพรอมต์และสิ่งที่โมเดลตัดสินใจ) โดยจะส่งการตอบกลับพร้อมข้อมูลต่อไปนี้
    • การยืนยันการเรียกใช้เครื่องมือ
    • ผลลัพธ์ของการตอบกลับของเครื่องมือ (อาจปรากฏหลัง JSON หากโมเดล สร้างการเรียกใช้ฟังก์ชันแบบขนาน 2 รายการ)
    • JSON ที่มีโครงสร้างเพื่อเรียกใช้ฟังก์ชัน
    • ลายเซ็นความคิดที่เข้ารหัสเพื่อรักษาบริบท
  3. คุณเรียกใช้ฟังก์ชันในแอปพลิเคชันหรือสภาพแวดล้อม
  4. คุณส่งคืนคำตอบของ Gemini ทั้งหมด รวมถึงผลลัพธ์การเรียกใช้ฟังก์ชัน
  5. Gemini จะสร้างคำตอบสุดท้ายโดยใช้บริบททั้งหมดที่รวมกัน

อ่านคู่มือการรวมเครื่องมือเพื่อดูวิธี เปิดใช้การรองรับการรวมเครื่องมือในตัวและเครื่องมือที่กำหนดเอง รวมถึงตัวอย่าง การหมุนเวียนบริบท

เอาต์พุตที่มีโครงสร้างเทียบกับการเรียกใช้ฟังก์ชัน

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

เอาต์พุตที่มีโครงสร้างด้วยเครื่องมือ

คุณสามารถรวม Structured Output กับเครื่องมือในตัวเพื่อตรวจสอบว่าคำตอบของโมเดลที่อิงตามข้อมูลภายนอกหรือการคำนวณยังคงเป็นไปตามสคีมาที่เข้มงวด

ดูตัวอย่างโค้ดได้ที่เอาต์พุตที่มีโครงสร้างด้วยเครื่องมือ