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

เครื่องมือช่วยขยายขีดความสามารถของโมเดล 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 ดังนี้

  1. คุณ ส่งพรอมต์ว่า "รากที่ 2 ของราคาหุ้นล่าสุดของ GOOG คืออะไร"
  2. Gemini ตัดสินใจว่าต้องใช้เครื่องมือและรันเครื่องมือเหล่านั้นในเซิร์ฟเวอร์ของ Google (เช่น ค้นหาราคาหุ้น แล้วรันโค้ด Python เพื่อคำนวณรากที่ 2)
  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 ที่กำหนดเอง

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

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

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