الوحدة 7 — الأدوات ونداءات الدوالّ
بلغ مساعد النفقات نقطة عاجزًا فيها عن الحساب: «كم يبقى من سقفي الشهريّ لعشاء العمل؟» ليست مسألة استرجاع نصّ من سياسة، بل حساب على قاعدة بيانات. النموذج اللغويّ لا يحسب موثوقًا؛ يجب أن نُتيح له استدعاء دوالّ حقيقيّة. هذه ميزة تُسمّى «نداء الدوالّ» (function calling) أو، في LangChain، الأدوات.
من دالّة مطبوعة إلى أداة
المُختصر: نُعرِّف دالّة بايثونيّة، نُوثّقها بـtype hints، ونُغلّفها بـ@tool:
from langchain_core.tools import tool
@tool
def convertir_devise(montant: float, source: str, cible: str) -> float:
"""يُحوّل مبلغًا من عملة إلى أخرى بسعر اليوم.
Args:
montant: المبلغ الأصليّ.
source: رمز العملة الأصليّة (مثل EUR).
cible: رمز العملة المستهدفة (مثل USD).
"""
taux = {("USD", "EUR"): 0.92, ("EUR", "USD"): 1.09}
return round(montant * taux[(source, cible)], 2)