เครื่องมือช่วยขยายขีดความสามารถของโมเดล Gemini ให้สามารถดำเนินการต่างๆ ในโลกจริง เข้าถึงข้อมูลแบบเรียลไทม์ และทำงานด้านการคำนวณที่ซับซ้อนได้ โมเดลสามารถใช้เครื่องมือได้ทั้งในการโต้ตอบแบบคำขอและการตอบกลับมาตรฐาน รวมถึง เซสชันการสตรีมแบบเรียลไทม์โดยใช้ Live API
เครื่องมือคือความสามารถเฉพาะ (เช่น Google Search หรือการรันโค้ด) ที่โมเดลใช้เพื่อตอบคำค้นหาได้ Gemini API มีชุดเครื่องมือในตัวที่จัดการโดยสมบูรณ์ หรือคุณจะกำหนดเครื่องมือที่กำหนดเองโดยใช้ การเรียก ฟังก์ชันก็ได้
หากต้องการสร้างระบบหลายขั้นตอนที่มุ่งเน้นเป้าหมาย โปรดดูภาพรวมของ Agent
เครื่องมือในตัวที่พร้อมใช้งาน
| เครื่องมือ | คำอธิบาย | กรณีการใช้งาน |
|---|---|---|
| Google Search | อิงคำตอบตามเหตุการณ์และข้อเท็จจริงปัจจุบันจากเว็บเพื่อลดอาการหลอนของ AI | \- ตอบคำถามเกี่ยวกับเหตุการณ์ล่าสุด \- ยืนยันข้อเท็จจริงด้วยแหล่งข้อมูลที่หลากหลาย |
| Google Maps | สร้างผู้ช่วยที่รับรู้ตำแหน่งซึ่งสามารถค้นหาสถานที่ ขอเส้นทาง และให้บริบทท้องถิ่นที่สมบูรณ์ได้ | - วางแผนการเดินทางที่มีหลายจุดแวะ - ค้นหาธุรกิจในท้องถิ่นตามเกณฑ์ของผู้ใช้ |
| การรันโค้ด | อนุญาตให้โมเดลเขียนและรันโค้ด Python เพื่อแก้ปัญหาทางคณิตศาสตร์หรือประมวลผลข้อมูลได้อย่างแม่นยำ | \- แก้สมการทางคณิตศาสตร์ที่ซับซ้อน \- ประมวลผลและวิเคราะห์ข้อมูลข้อความได้อย่างแม่นยำ |
| บริบท URL | สั่งให้โมเดลอ่านและวิเคราะห์เนื้อหาจากหน้าเว็บหรือเอกสารที่เฉพาะเจาะจง | \- ตอบคำถามโดยอิงตาม URL หรือเอกสารที่เฉพาะเจาะจง \- ดึงข้อมูลจากหน้าเว็บต่างๆ |
| การใช้คอมพิวเตอร์ (เวอร์ชันตัวอย่าง) | เปิดใช้ Gemini เพื่อดูหน้าจอและสร้างการดำเนินการเพื่อโต้ตอบกับ UI ของเว็บเบราว์เซอร์ (การดำเนินการฝั่งไคลเอ็นต์) | \- ทำให้เวิร์กโฟลว์ที่อิงตามเว็บซึ่งทำซ้ำๆ เป็นไปโดยอัตโนมัติ \- ทดสอบอินเทอร์เฟซผู้ใช้ของเว็บแอปพลิเคชัน |
| การค้นหาไฟล์ | จัดทำดัชนีและค้นหาเอกสารของคุณเองเพื่อเปิดใช้ Retrieval Augmented Generation (RAG) | \- ค้นหาคู่มือทางเทคนิค \- ตอบคำถามเกี่ยวกับข้อมูลที่เป็นกรรมสิทธิ์ |
ดูรายละเอียดเกี่ยวกับค่าใช้จ่ายที่เกี่ยวข้องกับเครื่องมือที่เฉพาะเจาะจงได้ในหน้าการกำหนดราคา
วิธีการทำงานของการรันเครื่องมือ
เครื่องมือช่วยให้โมเดลขอการดำเนินการระหว่างการสนทนาได้ ขั้นตอนจะแตกต่างกันไปโดยขึ้นอยู่กับว่าเครื่องมือเป็นเครื่องมือในตัว (จัดการโดย Google) หรือเครื่องมือที่กำหนดเอง (จัดการโดยคุณ)
ขั้นตอนการทำงานของเครื่องมือในตัว
สำหรับเครื่องมือในตัว (Google Search, Google Maps, บริบท URL, การค้นหาไฟล์, การรันโค้ด) กระบวนการทั้งหมดจะเกิดขึ้นภายในหนึ่งการเรียก API ดังนี้
- คุณ ส่งพรอมต์ว่า "รากที่ 2 ของราคาหุ้นล่าสุดของ GOOG คืออะไร"
- Gemini ตัดสินใจว่าต้องใช้เครื่องมือและรันเครื่องมือเหล่านั้นในเซิร์ฟเวอร์ของ Google (เช่น ค้นหาราคาหุ้น แล้วรันโค้ด Python เพื่อคำนวณรากที่ 2)
- Gemini ส่งคำตอบสุดท้ายกลับมาโดยอิงตามผลลัพธ์ของเครื่องมือ
ขั้นตอนการทำงานของเครื่องมือที่กำหนดเอง (การเรียกฟังก์ชัน)
สำหรับเครื่องมือที่กำหนดเองและการใช้คอมพิวเตอร์ แอปพลิเคชันของคุณจะจัดการการดำเนินการ ดังนี้
- คุณ ส่งพรอมต์พร้อมกับการประกาศฟังก์ชัน (เครื่องมือ)
- Gemini อาจส่ง JSON ที่มีโครงสร้างกลับมาเพื่อเรียกฟังก์ชันที่เฉพาะเจาะจง
(เช่น
{"name": "get_order_status", "args": {"order_id": "123"}}), พร้อมidที่ไม่ซ้ำกันเสมอ - คุณ รันฟังก์ชันในแอปพลิเคชันหรือสภาพแวดล้อมของคุณ
- คุณ ส่งผลลัพธ์ของฟังก์ชันพร้อม
idเดียวกันกับการเรียกใช้ฟังก์ชันกลับไปที่ Gemini - Gemini ใช้ผลลัพธ์เพื่อสร้างคำตอบสุดท้ายหรือการเรียกเครื่องมืออื่น
ดูข้อมูลเพิ่มเติมได้ในคู่มือการเรียกฟังก์ชัน
การรวมขั้นตอนการทำงานของเครื่องมือในตัวและเครื่องมือที่กำหนดเอง
- คุณ ส่งพรอมต์และประกาศเครื่องมือในตัวและฟังก์ชันที่กำหนดเองที่ต้องการเปิดใช้ โดยตั้งค่าแฟล็กเพื่อเปิดใช้การรองรับการรวม
- Gemini รันเครื่องมือในตัวและส่งผลลัพธ์ให้ผู้ใช้หากมีการสร้างการเรียกฟังก์ชันฝั่งไคลเอ็นต์ (การดำเนินการก่อนขึ้นอยู่กับพรอมต์และสิ่งที่โมเดลตัดสินใจ) โดยจะส่งการตอบกลับพร้อมข้อมูลต่อไปนี้
- การยืนยันการเรียกเครื่องมือ
- ผลลัพธ์ของการตอบกลับของเครื่องมือ (อาจแสดงหลังจาก JSON หากโมเดลสร้างการเรียกฟังก์ชันแบบขนาน 2 รายการ)
- JSON ที่มีโครงสร้างเพื่อเรียกฟังก์ชัน
- ลายเซ็นความคิดที่เข้ารหัสเพื่อรักษาบริบท
- คุณ รันฟังก์ชันในแอปพลิเคชันหรือสภาพแวดล้อมของคุณ
- คุณ ส่งคืนการตอบกลับของ Gemini ทุกส่วน รวมถึงผลลัพธ์การเรียกใช้ฟังก์ชัน
- Gemini สร้างการตอบกลับสุดท้ายโดยใช้บริบทที่รวมทั้งหมด
อ่านคู่มือการรวมเครื่องมือเพื่อดูวิธีเปิดใช้การรองรับการรวมเครื่องมือในตัวและเครื่องมือที่กำหนดเอง รวมถึงตัวอย่างการหมุนเวียนบริบท
เอาต์พุตที่มีโครงสร้างเทียบกับการเรียกฟังก์ชัน
Gemini มี 2 วิธีในการสร้างเอาต์พุตที่มีโครงสร้าง ใช้ การเรียกฟังก์ชันเมื่อโมเดลต้องดำเนินการขั้น กลางโดยเชื่อมต่อกับเครื่องมือหรือระบบข้อมูลของคุณเอง ใช้ เอาต์พุตที่มีโครงสร้างเมื่อคุณต้องการให้ การตอบกลับสุดท้ายของโมเดลเป็นไปตามสคีมาที่เฉพาะเจาะจงอย่างเคร่งครัด เช่น เพื่อแสดงผล UI ที่กำหนดเอง
เอาต์พุตที่มีโครงสร้างพร้อมเครื่องมือ
คุณสามารถรวมเอาต์พุตที่มีโครงสร้างกับ เครื่องมือในตัวเพื่อให้การตอบกลับของโมเดลที่อิงตามข้อมูลหรือ การคำนวณภายนอกยังคงเป็นไปตามสคีมาที่เคร่งครัด
ดูตัวอย่างโค้ดได้ที่เอาต์พุตที่มีโครงสร้างพร้อมเครื่องมือ