تول کالینگ (Tool Calling) یا فراخوانی ابزار، قابلیتی است که در آن مدل زبانی نام یک تابع و آرگومانهای ساختاریافته آن را پیشنهاد میکند. اجرای واقعی تابع را برنامه میزبان انجام میدهد، نه صرفا متن تولیدشده مدل.
در پروژه فروشگاهی، مدل ممکن است درخواست get_order_status(order_id=123) بدهد. سرور ابتدا مجوز کاربر و اعتبار شناسه را بررسی میکند، سپس API سفارش را فراخوانی و پاسخ را به مدل برمیگرداند.
def get_order_status(order_id: int) -> dict:
# Authorize the caller before fetching the order.
return order_repository.find_public_status(order_id)
امنیت
خروجی مدل را دستور مورد اعتماد فرض نکنید. محدودیت سطح دسترسی و تایید عملیات پرریسک باید در Backend اعمال شود.
برای استانداردسازی ارتباط، امسیپی و اجنت هوشمند را بررسی کنید.
فراخوانی ابزار به معنی اجرای خودکار نیست
مدل زبانی ممکن است نام ابزار و آرگومانهای آن را پیشنهاد کند، اما برنامه میزبان باید نام و آرگومانها را اعتبارسنجی کند و اجرای واقعی را طبق مجوزها انجام دهد. نتیجه ابزار نیز ورودی غیرقابل اعتماد است.