ابزارها قابلیتهای مدلهای Gemini را گسترش میدهند و آنها را قادر میسازند تا در جهان اقدام کنند، به اطلاعات بلادرنگ دسترسی داشته باشند و وظایف محاسباتی پیچیده را انجام دهند. مدلها میتوانند از ابزارها هم در تعاملات استاندارد درخواست-پاسخ و هم در جلسات پخش بلادرنگ با استفاده از Live API استفاده کنند.
ابزارها قابلیتهای خاصی (مانند جستجوی گوگل یا اجرای کد) هستند که یک مدل میتواند برای پاسخ به پرسوجوها از آنها استفاده کند. رابط برنامهنویسی نرمافزار Gemini مجموعهای از ابزارهای کاملاً مدیریتشده و داخلی را ارائه میدهد، یا میتوانید با استفاده از فراخوانی تابع، ابزارهای سفارشی تعریف کنید.
برای ساخت سیستمهای چند مرحلهای و هدفگرا، به نمای کلی عاملها مراجعه کنید.
ابزارهای داخلی موجود
| ابزار | توضیحات | موارد استفاده |
|---|---|---|
| جستجوی گوگل | پاسخهای زمینهای به رویدادهای جاری و حقایق موجود در وب برای کاهش توهمات. | \- پاسخ به سوالات مربوط به رویدادهای اخیر \- تأیید حقایق با منابع متنوع |
| نقشههای گوگل | دستیارانی بسازید که از موقعیت مکانی آگاه باشند و بتوانند مکانها را پیدا کنند، مسیرها را دریافت کنند و اطلاعات غنی محلی ارائه دهند. | \- برنامهریزی برنامههای سفر با توقفهای متعدد \- یافتن مشاغل محلی بر اساس معیارهای کاربر |
| اجرای کد | به مدل اجازه دهید کد پایتون را بنویسد و اجرا کند تا مسائل ریاضی را حل کند یا دادهها را به طور دقیق پردازش کند. | \- حل معادلات پیچیده ریاضی \- پردازش و تحلیل دقیق دادههای متنی |
| متن URL | مدل را برای خواندن و تجزیه و تحلیل محتوا از صفحات وب یا اسناد خاص هدایت کنید. | \- پاسخ به سوالات بر اساس URLها یا اسناد خاص \- بازیابی اطلاعات از صفحات وب مختلف |
| استفاده از کامپیوتر (پیشنمایش) | Gemini را فعال کنید تا صفحه نمایش را مشاهده کند و اقداماتی را برای تعامل با رابطهای کاربری مرورگر وب ایجاد کند (اجرای سمت کلاینت). | \- خودکارسازی گردشهای کاری تکراری مبتنی بر وب \- تست رابطهای کاربری برنامههای کاربردی وب |
| جستجوی فایل | اسناد خود را فهرستبندی و جستجو کنید تا بازیابی افزوده نسل (RAG) فعال شود. | \- جستجوی دفترچههای راهنمای فنی \- پاسخ به سوالات از طریق دادههای اختصاصی |
برای جزئیات مربوط به هزینههای مربوط به ابزارهای خاص، به صفحه قیمتگذاری مراجعه کنید.
نحوه اجرای ابزارها
ابزارها به مدل اجازه میدهند تا در طول مکالمه درخواستهایی را انجام دهد. جریان کار بسته به اینکه ابزار داخلی (مدیریتشده توسط گوگل) یا سفارشی (مدیریتشده توسط شما) باشد، متفاوت است.
جریان ابزار داخلی
برای ابزارهای داخلی (جستجوی گوگل، نقشههای گوگل، متن URL، جستجوی فایل، اجرای کد)، کل فرآیند در یک فراخوانی API اتفاق میافتد:
- شما یک سوال میفرستید: «جذر آخرین قیمت سهام GOOG چقدر است؟»
- جمینی تصمیم میگیرد که به ابزارهایی نیاز دارد و آنها را روی سرورهای گوگل اجرا میکند (مثلاً قیمت سهام را جستجو میکند، سپس کد پایتون را برای محاسبه جذر اجرا میکند).
- جمینی پاسخ نهایی را که مبتنی بر نتایج ابزار است، ارسال میکند.
جریان ابزار سفارشی (فراخوانی تابع)
برای ابزارهای سفارشی و استفاده از کامپیوتر، برنامه شما اجرای موارد زیر را مدیریت میکند:
- شما یک اعلان به همراه اعلان توابع (ابزارها) ارسال میکنید.
- Gemini ممکن است JSON ساختاریافتهای را برای فراخوانی یک تابع خاص (برای مثال،
{"name": "get_order_status", "args": {"order_id": "123"}}) ارسال کند، که همیشه با یکidمنحصر به فرد همراه است. - شما تابع را در برنامه یا محیط خود اجرا میکنید.
- شما نتایج تابع را با همان
idکه تابع فراخوانی شده است، به Gemini ارسال میکنید. - جمینی از نتایج برای تولید پاسخ نهایی یا فراخوانی ابزار دیگری استفاده میکند.
برای اطلاعات بیشتر به راهنمای فراخوانی تابع مراجعه کنید.
ترکیب جریان ابزارهای داخلی و سفارشی
برای درخواستهایی که ابزارهای داخلی و ابزارهای سفارشی (فراخوانیهای تابع) را با هم ترکیب میکنند، این مدل از گردش زمینه ابزار برای هماهنگی اجرا در محیطهای مختلف استفاده میکند:
- شما یک اعلان ارسال میکنید و ابزارهای داخلی و توابع سفارشی که میخواهید فعال کنید را اعلام میکنید و یک پرچم برای فعال کردن پشتیبانی ترکیبی تنظیم میکنید.
- Gemini ابزارهای داخلی را اجرا میکند و در صورت ایجاد هرگونه فراخوانی تابع سمت کلاینت (که ابتدا اجرا میشود، به اعلان و آنچه مدل تصمیم میگیرد بستگی دارد) به کاربر پاسخ میدهد. این پاسخ را با موارد زیر ارسال میکند:
- تأیید فراخوانی ابزار
- نتایج پاسخ ابزار (اگر مدل دو فراخوانی تابع موازی ایجاد کرده باشد، این ممکن است بعد از JSON بیاید)
- JSON ساختاریافته برای فراخوانی تابع شما
- امضاهای فکری رمزگذاری شده برای حفظ زمینه
- شما تابع را در برنامه یا محیط خود اجرا میکنید.
- شما تمام بخشهای پاسخ Gemini، به علاوه نتایج فراخوانی تابع خود را برمیگردانید.
- جمینی پاسخ نهایی را با استفاده از تمام زمینههای ترکیبی تولید میکند.
برای آشنایی با نحوه فعال کردن پشتیبانی از ترکیب ابزارهای داخلی و سفارشی و نمونههایی از گردش متن، راهنمای ترکیب ابزارها را مطالعه کنید.
خروجیهای ساختاریافته در مقابل فراخوانی تابع
Gemini دو روش برای تولید خروجیهای ساختاریافته ارائه میدهد. از فراخوانی تابع زمانی استفاده کنید که مدل نیاز به انجام یک مرحله میانی با اتصال به ابزارها یا سیستمهای داده خودتان دارد. از خروجیهای ساختاریافته زمانی استفاده کنید که به شدت نیاز دارید پاسخ نهایی مدل از یک طرحواره خاص پیروی کند، مانند رندر یک رابط کاربری سفارشی.
خروجیهای ساختاریافته با ابزارها
شما میتوانید خروجیهای ساختاریافته را با ابزارهای داخلی ترکیب کنید تا اطمینان حاصل شود که پاسخهای مدل مبتنی بر دادهها یا محاسبات خارجی همچنان از یک طرحواره دقیق پیروی میکنند.
برای مثالهای کد، به خروجیهای ساختاریافته با ابزارها مراجعه کنید.