เครื่องมือจะขยายความสามารถของโมเดล 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 ครั้งเดียว ดังนี้
- คุณส่งพรอมต์ว่า "รากที่สองของราคาหุ้นล่าสุดของ GOOG คืออะไร"
- Gemini จะตัดสินใจว่าต้องการเครื่องมือและเรียกใช้เครื่องมือเหล่านั้นในเซิร์ฟเวอร์ของ Google (เช่น ค้นหาราคาหุ้น แล้วเรียกใช้โค้ด Python เพื่อคำนวณ รากที่สอง)
- Gemini จะส่งคำตอบสุดท้ายที่อิงตามผลลัพธ์ของเครื่องมือกลับมา
โฟลว์เครื่องมือที่กำหนดเอง (การเรียกใช้ฟังก์ชัน)
สำหรับเครื่องมือที่กำหนดเองและการใช้คอมพิวเตอร์ แอปพลิเคชันของคุณจะจัดการการดำเนินการ
- คุณส่งพรอมต์พร้อมกับการประกาศฟังก์ชัน (เครื่องมือ)
- Gemini อาจส่ง JSON ที่มีโครงสร้างกลับมาเพื่อเรียกใช้ฟังก์ชันที่เฉพาะเจาะจง
(เช่น
{"name": "get_order_status", "args": {"order_id": "123"}}) พร้อมกับidที่ไม่ซ้ำกันเสมอ - คุณเรียกใช้ฟังก์ชันในแอปพลิเคชันหรือสภาพแวดล้อม
- คุณส่งผลลัพธ์ของฟังก์ชันพร้อมด้วย
idเดียวกันกับการเรียกใช้ฟังก์ชัน กลับไปให้ Gemini - Gemini ใช้ผลลัพธ์เพื่อสร้างคำตอบสุดท้ายหรือการเรียกใช้เครื่องมืออื่น
ดูข้อมูลเพิ่มเติมได้ในคู่มือการเรียกใช้ฟังก์ชัน
การรวมโฟลว์เครื่องมือในตัวและเครื่องมือที่กำหนดเอง
สำหรับคำขอที่รวมเครื่องมือในตัวและเครื่องมือที่กำหนดเอง (การเรียกใช้ฟังก์ชัน) โมเดลจะใช้การหมุนเวียนบริบทของเครื่องมือเพื่อ ประสานงานการดำเนินการในสภาพแวดล้อมต่างๆ ดังนี้
- คุณส่งพรอมต์และประกาศเครื่องมือในตัวและฟังก์ชันที่กำหนดเองที่คุณ ต้องการเปิดใช้ โดยตั้งค่าสถานะเพื่อเปิดการรองรับการรวม
- Gemini จะเรียกใช้เครื่องมือที่มีในตัวและแสดงผลแก่ผู้ใช้หากมีการสร้างการเรียกฟังก์ชันฝั่งไคลเอ็นต์ (ซึ่งการเรียกใช้ครั้งแรกจะขึ้นอยู่กับพรอมต์และสิ่งที่โมเดลตัดสินใจ) โดยจะส่งการตอบกลับพร้อมข้อมูลต่อไปนี้
- การยืนยันการเรียกใช้เครื่องมือ
- ผลลัพธ์ของการตอบกลับของเครื่องมือ (อาจปรากฏหลัง JSON หากโมเดล สร้างการเรียกใช้ฟังก์ชันแบบขนาน 2 รายการ)
- JSON ที่มีโครงสร้างเพื่อเรียกใช้ฟังก์ชัน
- ลายเซ็นความคิดที่เข้ารหัสเพื่อรักษาบริบท
- คุณเรียกใช้ฟังก์ชันในแอปพลิเคชันหรือสภาพแวดล้อม
- คุณส่งคืนคำตอบของ Gemini ทั้งหมด รวมถึงผลลัพธ์การเรียกใช้ฟังก์ชัน
- Gemini จะสร้างคำตอบสุดท้ายโดยใช้บริบททั้งหมดที่รวมกัน
อ่านคู่มือการรวมเครื่องมือเพื่อดูวิธี เปิดใช้การรองรับการรวมเครื่องมือในตัวและเครื่องมือที่กำหนดเอง รวมถึงตัวอย่าง การหมุนเวียนบริบท
เอาต์พุตที่มีโครงสร้างเทียบกับการเรียกใช้ฟังก์ชัน
Gemini มี 2 วิธีในการสร้างเอาต์พุตที่มีโครงสร้าง ใช้การเรียกใช้ฟังก์ชันเมื่อโมเดลต้องดำเนินการขั้นตอนกลางโดยเชื่อมต่อกับเครื่องมือหรือระบบข้อมูลของคุณเอง ใช้เอาต์พุตที่มีโครงสร้างเมื่อคุณต้องการให้คำตอบสุดท้ายของโมเดลเป็นไปตามสคีมาที่เฉพาะเจาะจงอย่างเคร่งครัด เช่น เพื่อแสดงผล UI ที่กำหนดเอง
เอาต์พุตที่มีโครงสร้างด้วยเครื่องมือ
คุณสามารถรวม Structured Output กับเครื่องมือในตัวเพื่อตรวจสอบว่าคำตอบของโมเดลที่อิงตามข้อมูลภายนอกหรือการคำนวณยังคงเป็นไปตามสคีมาที่เข้มงวด
ดูตัวอย่างโค้ดได้ที่เอาต์พุตที่มีโครงสร้างด้วยเครื่องมือ