تول کالینگ (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 اعمال شود.

برای استانداردسازی ارتباط، ام‌سی‌پی و اجنت هوشمند را بررسی کنید.

فراخوانی ابزار به معنی اجرای خودکار نیست

مدل زبانی ممکن است نام ابزار و آرگومان‌های آن را پیشنهاد کند، اما برنامه میزبان باید نام و آرگومان‌ها را اعتبارسنجی کند و اجرای واقعی را طبق مجوزها انجام دهد. نتیجه ابزار نیز ورودی غیرقابل اعتماد است.