استفاده کردن از ابزارها با Gemini API

ابزارها قابلیت‌های مدل‌های Gemini را گسترش می‌دهند و آن‌ها را قادر می‌سازند تا در جهان اقدام کنند، به اطلاعات هم‌زمان دسترسی داشته باشند، و کارهای محاسباتی پیچیده انجام دهند. مدل‌ها می‌توانند از ابزارها هم در تعامل‌های استاندارد درخواست-پاسخ و هم در جلسه‌های جاری‌سازی هم‌زمان بااستفاده از Live API استفاده کنند.

ابزارها قابلیت‌های خاصی هستند (مثل «جستجوی Google» یا «اجرای کد») که مدل می‌تواند از آن‌ها برای پاسخ دادن به پُرسمان‌ها استفاده کند. ‫Gemini API مجموعه‌ای از ابزارهای کاملاً مدیریت‌شده و داخلی را ارائه می‌دهد، یا می‌توانید بااستفاده از فراخوانی تابع ابزارهای سفارشی تعریف کنید.

برای ساختن سیستم‌های چندمرحله‌ای و هدف‌گرا، به نمای کلی عوامل مراجعه کنید.

ابزارهای داخلی دردسترس

ابزار شرح موارد استفاده
جستجوی Google پاسخ‌ها را براساس رویدادهای جاری و حقایق موجود در وب پایه‌گذاری کنید تا توهمات کاهش یابد. پاسخ دادن به سؤالات درباره رویدادهای اخیر، درستی‌سنجی واقعیت‌ها با منابع مختلف.
Google Maps دستیارهای آگاه از مکان بسازید که می‌توانند مکان‌ها را پیدا کنند، مسیرها را دریافت کنند، و بافت محلی غنی ارائه دهند. برنامه‌ریزی برنامه سفر با چند توقف، پیدا کردن کسب‌وکارهای محلی براساس معیارهای کاربر.
اجرای کد به مدل اجازه دهید برای حل مسائل ریاضی یا پردازش دقیق داده‌ها، کد Python بنویسد و اجرا کند. حل معادلات پیچیده ریاضی، پردازش و تجزیه‌وتحلیل دقیق داده‌های نوشتاری.
بافت نشانی وب به مدل دستور دهید محتوای صفحه‌های وب یا اسناد خاصی را بخواند و تحلیل کند. پاسخ دادن به سؤالات براساس نشانی‌های وب یا اسناد خاص، بازیابی اطلاعات در صفحه‌های وب مختلف.
استفاده از رایانه (پیش‌نمایش) به Gemini اجازه دهید صفحه‌نمایش را ببیند و کنش‌هایی برای تعامل با واسط‌های کاربر مرورگر وب تولید کند (اجرای سمت مشتری). خودکارسازی گردش‌های کار تکراری مبتنی بر وب، آزمایش واسط‌های کاربر برنامه وب.
جستجوی فایل اسناد خودتان را نمایه و جستجو کنید تا «تولید با کمک بازیابی» (RAG) را فعال کنید. جستجوی دفترچه‌های راهنمای فنی، پاسخ دادن به سؤالات درباره داده‌های اختصاصی.

برای جزئیات بیشتر درباره هزینه‌های مربوط به ابزارهای خاص، به صفحه قیمت‌گذاری مراجعه کنید.

نحوه عملکرد اجرای ابزارها

ابزارها به مدل اجازه می‌دهند درطول مکالمه کنش درخواست کند. جریان بسته به اینکه ابزار داخلی (مدیریت‌شده توسط Google) یا سفارشی (مدیریت‌شده توسط شما) باشد، متفاوت است.

جریان ابزار داخلی

برای ابزارهای داخلی («جستجوی Google»،‏ Google Maps،‏ «زمینه نشانی وب»، «جستجوی فایل»، اجرای کد)، کل فرایند در یک تماس 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 که در فراخوانی تابع استفاده شده است به شما برمی‌گرداند.
  5. Gemini از نتایج برای تولید پاسخ نهایی یا فراخوانی ابزاری دیگر استفاده می‌کند.

در راهنمای فراخوانی تابع بیشتر بدانید.

ترکیب کردن جریان ابزارهای سفارشی و داخلی

برای درخواست‌هایی که ابزارهای داخلی و ابزارهای سفارشی (فراخوانی تابع) را ترکیب می‌کنند، مدل از گردش بافتار ابزار برای هماهنگی اجرا در محیط‌های مختلف استفاده می‌کند:

  1. شما پیام‌واره‌ای ارسال می‌کنید و ابزارهای داخلی و توابع سفارشی‌ای را که می‌خواهید فعال شوند اعلام می‌کنید و پرچمی را برای روشن کردن پشتیبانی ترکیبی تنظیم می‌کنید.
  2. Gemini ابزارهای داخلی را اجرا می‌کند و اگر فراخوانی‌های تابع سمت کارخواه تولید شود، به کاربر واگذار می‌کند (اینکه کدام‌یک اول اجرا شود به پیام‌واره و تصمیم مدل بستگی دارد). پاسخی با این موارد ارسال می‌کند:
    • تأیید فراخوانی ابزار
    • نتایج پاسخ ابزار (اگر مدل دو فراخوانی تابع موازی تولید کرده باشد، این ممکن است بعداز JSON بیاید)
    • ‫JSON ساختاریافته برای فراخوانی تابع شما
    • امضاهای فکر رمزگذاری‌شده برای حفظ زمینه
  3. شما تابع را در برنامه یا محیط خود اجرا می‌کنید.
  4. شما همه بخش‌های پاسخ Gemini، به‌علاوه نتایج فراخوانی تابع خود را برمی‌گردانید.
  5. Gemini پاسخ نهایی را بااستفاده از همه بافت‌های ترکیب‌شده تولید می‌کند.

راهنمای ترکیب ابزار را بخوانید تا با نحوه روشن کردن پشتیبانی از ترکیب ابزارهای سفارشی و داخلی و نمونه‌های گردش زمینه‌ای آشنا شوید.

بروندادهای ساختاریافته درمقابل فراخوانی تابع

‫Gemini دو روش برای تولید بروندادهای ساختاریافته ارائه می‌دهد. وقتی مدل باید با اتصال به ابزارها یا سیستم‌های داده شما مرحله‌ای میانی را انجام دهد، از فراخوانی تابع استفاده کنید. وقتی به‌شدت نیاز دارید پاسخ نهایی مدل از طرحواره‌ای خاص پیروی کند، مثلاً برای پرداز کردن واسط کاربر سفارشی، از بروندادهای ساختاریافته استفاده کنید.

بروندادهای ساختاریافته با ابزارها

می‌توانید بروندادهای ساختاری را با ابزارهای داخلی ترکیب کنید تا مطمئن شوید پاسخ‌های مدل که مبتنی بر داده‌های خارجی یا محاسبات است همچنان از طرحواره‌ای دقیق پیروی می‌کند.

برای نمونه‌های کد، بروندادهای ساختاریافته با ابزارها را ببینید.