Function calling (LLM) (UR)
Function Calling (فنکشن کالنگ) — یہ بڑے زبانی ماڈلز (LLM) میں ایک ایسا طریقہ کار ہے جو ماڈل کو بیرونی ٹولز اور API کے ساتھ تعامل کرنے کی اجازت دیتا ہے، اور براہِ راست متنی جواب دینے کی بجائے فنکشن کال کرنے کے لیے منظم ڈیٹا (عموماً JSON) تیار کرتا ہے[1]۔
دوسرے لفظوں میں، ماڈل صارف کی درخواست کی بنیاد پر یہ طے کرتا ہے کہ دیے گئے فنکشنز کے مجموعے میں سے کون سا فنکشن کن پیرامیٹرز کے ساتھ کال کیا جائے۔ یہ طریقہ کار LLM کے دائرۂ استعمال کو وسعت دیتا ہے اور انہیں قدرتی زبان اور عملی اقدامات کے درمیان ایک واسطے کے طور پر کام کرنے کے قابل بناتا ہے۔ اس سے AI کو بیرونی نظاموں کے ساتھ ضم کرنے کے مواقع کھلتے ہیں: ماڈل تازہ ترین ڈیٹا حاصل کر سکتا ہے، آپریشنز انجام دے سکتا ہے یا سروسز استعمال کر سکتا ہے، جو ذہین معاون اور خودمختار ایجنٹس بنانے میں خاص طور پر قیمتی ہے۔ بیرونی ٹولز کا استعمال قابلِ اعتماد ذرائع سے رجوع کر کے فریب (من گھڑت حقائق) کے خطرے کو بھی کم کرتا ہے[2]۔
تاریخ اور نفاذ کے طریقے
ابتدائی طریقے (prompting اور Toolformer)
زبانی ماڈلز کو ٹولز کال کرنا سکھانے کا خیال 2022–2023 کے دوران پروان چڑھا۔ ابتدائی طریقے پیچیدہ prompting کی تکنیکوں پر مبنی تھے۔ مثال کے طور پر، 2022 میں ReAct اسکیم پیش کی گئی، جس میں ماڈل گفتگو کے دوران ایک ہی متن میں کوڈ شدہ استدلال اور عمل (ٹول کالز) کو باری باری انجام دیتا تھا۔
ایک اہم سنگِ میل Toolformer ماڈل کا ظہور تھا، جسے Meta کے محققین نے 2023 کے اوائل میں پیش کیا۔ Toolformer نے ثابت کیا کہ LLM کو خاص طور پر fine-tune کیا جا سکتا ہے تاکہ وہ متنی اشارے کی بنیاد پر از خود بیرونی ٹولز (کیلکولیٹر، سرچ انجن، کیلنڈر) کال کر سکے اور تیار کردہ متن میں API کال کے خصوصی token داخل کر سکے[3]۔
باضابطہ حمایت اور ترقی
OpenAI نے ایک خاص سنگِ میل ثبت کیا جب اس نے جون 2023 میں GPT-3.5 اور GPT-4 ماڈلز کے لیے اپنے API میں Function Calling کی باضابطہ حمایت شامل کی[4]۔ ماڈلز کے نئے ورژنز کو fine-tune کیا گیا تاکہ وہ ایسے حالات پہچان سکیں جہاں صارف کی درخواست میں بیرونی فنکشن سے رجوع کرنا مطلوب ہو، اور دلائل کے ساتھ درست طریقے سے منظم JSON آبجیکٹ تیار کریں۔ OpenAI نے اس صلاحیت کو GPT کو بیرونی ٹولز اور API سے قابلِ اعتماد طریقے سے جوڑنے کا نیا ذریعہ قرار دیا۔
کھلی پہلقدمیاں
تجارتی نفاذات کے بعد ایسے کھلے ماڈلز سامنے آئے جنہیں درست فنکشن کالز تیار کرنے کے لیے fine-tune کیا گیا تھا۔
- Gorilla: UC Berkeley کا منصوبہ، LLaMA کا fine-tuned ورژن، جو ہزاروں مختلف API کے لیے کالز تیار کرنے کی صلاحیت رکھتا ہے۔ ایسے ماڈلز کی جانچ کے لیے Berkeley Function-Calling Leaderboard benchmark بنایا گیا[5]۔
- ToolAlpaca، ToolLLaMA، Hermes: کھلے ماڈلز کی سیریز، جنہیں فنکشن کال کے مصنوعی نمونوں پر fine-tune کیا گیا، جو اکثر زیادہ طاقتور ماڈلز کے ذریعے تیار کیے گئے تھے۔
کام کا طریقہ کار
Function Calling کے استعمال کا عمل عموماً چند مراحل پر مشتمل ہوتا ہے:
- فنکشنز کی تعریف۔ ڈویلپر پہلے سے ماڈل کے لیے دستیاب فنکشنز کا مجموعہ (مثلاً بیرونی API) متعین کرتا ہے اور ان کے signatures اور مقصد کو عموماً JSON Schema فارمیٹ میں بیان کرتا ہے۔
- درخواست کا تجزیہ۔ گفتگو کے دوران ماڈل صارف کے ارادے کا تجزیہ کرتا ہے اور خود فیصلہ کرتا ہے کہ آیا جواب دینے کے لیے متعین فنکشنز میں سے کوئی ایک کال کرنا ضروری ہے۔
- کال کی تیاری۔ اگر عمل درکار ہو تو LLM عام متن کی بجائے ایک خاص منظم آؤٹ پٹ (مثلاً فنکشن کے نام اور دلائل کے ساتھ JSON) تیار کرتا ہے۔ اگر کال ضروری نہ ہو تو ماڈل معمول کا متنی جواب دیتا ہے۔
- فنکشن کا اجرا۔ بیرونی پروگرام (چیٹ بوٹ کا خول یا ایجنٹ) JSON وصول کرتا ہے، تجویز کردہ پیرامیٹرز کے ساتھ مذکور فنکشن کی اصل کال انجام دیتا ہے اور نتیجہ واپس ماڈل کو بھیجتا ہے۔
- حتمی جواب کی تشکیل۔ ماڈل حاصل شدہ ڈیٹا کو استعمال کرتے ہوئے صارف کے لیے حتمی جواب تیار کرتا ہے[4]۔
اس کثیر مرحلاتی عمل کو منظم کرنے کے لیے ماڈلز کی تربیت کے دوران خاص گفتگو کے فارمیٹس استعمال کیے جاتے ہیں، مثلاً OpenAI کی ChatML مارک اَپ، جہاں صارف اور معاون کے کرداروں کے علاوہ کال کے نتائج منتقل کرنے کے لیے فنکشن کا کردار بھی متعارف کرایا جاتا ہے۔
استعمال اور فوائد
فنکشنز کال کرنے کی صلاحیت LLM کی مدد سے حل کیے جانے والے مسائل کے دائرے کو نمایاں طور پر وسعت دیتی ہے۔
- بیرونی API کے ساتھ انضمام۔ ماڈل ایسی درخواستوں کا جواب دے سکتا ہے جن کے لیے تازہ ترین معلومات درکار ہوں، بیرونی سروسز کال کر کے (مثلاً موسم، کرنسی کی شرح، خبریں حاصل کرنے کے لیے)۔
- صارف کے اعمال کی خودکاری۔ LLM معمول کے کام انجام دے سکتا ہے: ای میل بھیجنا، کیلنڈر میں تقریبات بنانا، آن لائن اسٹورز میں آرڈر دینا۔
- ڈیٹا بیس اور تجزیات تک رسائی۔ قدرتی زبان میں درخواستیں ڈیٹا نکالنے اور تجزیے کے لیے اندرونی API کالز یا SQL سوالات میں تبدیل کی جا سکتی ہیں۔
- منظم معلومات کا اخراج۔ LLM طویل متن سے حقائق (مثلاً نام، تاریخیں، پتے) خود نکال کر انہیں منظم JSON سرنی کی شکل میں واپس کر سکتا ہے، جو بعد میں پروگرامی پروسیسنگ کے لیے موزوں ہوتی ہے۔
حفاظتی مسائل
Function Calling ماڈلز کی صلاحیتوں کو بڑھانے کے ساتھ ساتھ نئے خطرات بھی لاتا ہے۔
- غیر تصدیق شدہ آؤٹ پٹ۔ بیرونی ٹولز کے ساتھ ماڈل کا تعامل محفوظ طریقے سے تحفظ یافتہ ہونا چاہیے۔ اگر ماڈل API سے نقصاندہ یا غلط قدر وصول کرے تو وہ اسے جواب میں شامل کر سکتا ہے یا اس کی بنیاد پر کوئی دوسرا فنکشن کال کر سکتا ہے، جو غیر متوقع نتائج کا باعث بن سکتا ہے۔
- فنکشن دلائل کے ذریعے حملے۔ محققین نے Function Calling موڈ کے لیے مخصوص کمزوریاں دریافت کی ہیں۔ 2025 میں ایک ایسا حملہ ظاہر کیا گیا جسے Function Calling کا تاریک پہلو کا نام دیا گیا۔ اس کا جوہر یہ ہے کہ ماڈل کو ایک خاص فنکشن پیش کیا جاتا ہے جس کے دلائل کے اندر ایک ممنوع ہدایت (jailbreak پے لوڈ) چھپی ہوتی ہے۔ ماڈل، فنکشن کال کرنے کے اصول پر عمل کرتے ہوئے، ایسے دلائل تیار کرتا ہے جن میں قوانین کی خلاف ورزی کرنے والا مواد ہوتا ہے، اور اس طرح اعتدال پسندی کے فلٹرز کو نظرانداز کر دیتا ہے۔ جانچ سے معلوم ہوا کہ GPT-4 اور Claude سمیت چھ جدید ماڈلز پر 90% سے زیادہ معاملات میں یہ حملہ کامیاب رہا[2]۔
ایسے واقعات کی روک تھام کے لیے تجویز کیا جاتا ہے کہ ماڈل کو صرف قابلِ اعتماد ٹولز فراہم کیے جائیں، اہم اقدامات انجام دینے سے پہلے صارف کی تصدیق لازمی قرار دی جائے، اور خاص دفاعی prompts اور دلائل میں خطرناک مواد کی سخت جانچ بھی استعمال کی جائے۔
روابط
- OpenAI کی جانب سے Function Calling کا باضابطہ اعلان
- Gorilla LLM منصوبے کا صفحہ
- Apideck (2024). An Introduction to Function Calling and Tool Use. Apideck Blog.
- LangChain (2025). Tool Calling (Documentation). LangChain Docs.
- Mistral AI (2025). Function Calling – Documentation. Mistral Docs.
- Hopsworks (2024). What is Function Calling with LLMs?. Hopsworks Dictionary.
- Hopsworks (2024). Unlocking the Power of Function Calling with LLMs. Hopsworks Blog.
- University of California, Berkeley (2025). Berkeley Function Calling Leaderboard V3. Online Resource.
ادبیات
- Wu, Z. et al. (2025). The Dark Side of Function Calling: Pathways to Jailbreaking Large Language Models. ACL 2025.
- OpenAI (2023). Function Calling and Other API Updates. OpenAI Blog.
- Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
- Patil, S. G. et al. (2023). Gorilla: Large Language Model Connected with Massive APIs. arXiv:2305.15334.
- Liu, W. et al. (2024). ToolACE: Winning the Points of LLM Function Calling. arXiv:2409.00920.
- Yao, S. et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629.
حواشی
- ↑ «What is Function Calling with LLMs?». Hopsworks. [1]
- ↑ 2.0 2.1 Wu, Z. et al. «The Dark Side of Function Calling: Pathways to Jailbreaking Large Language Models». Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing, 2025. [2]
- ↑ Schick, T. et al. «Toolformer: Language Models Can Teach Themselves to Use Tools». arXiv:2302.04761, 2023. [3]
- ↑ 4.0 4.1 «Function calling and other API updates». OpenAI, 2023. [4]
- ↑ «Gorilla: Large Language Model Connected to Massive APIs». University of California, Berkeley. [5]