OpenAI
اس صفحے کا مشینی ترجمہ کیا گیا تھا. اصل انگریزی مضمون دیکھیں.

OpenAI API میں فنکشن کالنگ

فنکشن کالنگ کیا ہے اور یہ OpenAI API میں کیسے کام کرتی ہے؟

آخری اپ ڈیٹ: 8 days ago

11 مارچ 2025 تک، ہم نے اپنے نئے ایجنٹس پلیٹ فارم کے بنیادی اجزا جاری کر دیے ہیں۔ تفصیلات کے لیے، ہماری Responses API، ٹولز جن میں Web Search، File Search، اور Computer Use شامل ہیں، اور Agents SDK مع Tracing کے لیے ہماری API ڈاکس دیکھیں.

فنکشن کالنگ آپ کو OpenAI ماڈلز کو بیرونی ٹولز اور سسٹمز سے جوڑنے کی اجازت دیتی ہے. یہ بہت سی چیزوں کے لیے مفید ہے، جیسے AI اسسٹنٹس کو صلاحیتوں سے بااختیار بنانا، یا آپ کی ایپلیکیشنز اور LLMs کے درمیان گہرے انٹیگریشنز بنانا.

مزید معلومات ہماری فنکشن کالنگ ڈیولپر گائیڈ میں حاصل کریں.

جون 2024 میں، ہم نے اسٹرکچرڈ آؤٹ پٹس لانچ کیے. جب آپ اپنی فنکشن تعریف میں strict: true سیٹ کر کے اسے آن کرتے ہیں، تو اسٹرکچرڈ آؤٹ پٹس ضمانت دیتا ہے کہ فنکشن کال کے لیے ماڈل کے بنائے گئے آرگیومنٹس عین اسی JSON اسکیما سے میل کھاتے ہیں جو آپ نے فنکشن تعریف میں فراہم کیا ہے.

اکتوبر 2024 میں، ہم نے “کچھ بھی جنریٹ کریں” فیچر لانچ کیا، جو ڈیولپرز کو ایک فنکشن بیان کرنے، اسے براہ راست پیسٹ کرنے یا اپنا کوڈ پیسٹ کرنے اور ایک درست فنکشن اسکیما جنریٹ کرنے کی اجازت دیتا ہے. “کچھ بھی جنریٹ کریں” کے بارے میں مزید معلومات یہاں ہیلپ سینٹر کے مضمون میں حاصل کریں.

میں فنکشن کالنگ کیسے استعمال کر سکتا ہوں؟

فنکشن کالنگ بڑی تعداد میں استعمالات کے لیے مفید ہے، جیسے:

  • اسسٹنٹس کو ڈیٹا حاصل کرنے کے قابل بنانا:

  • اسسٹنٹس کو اقدامات کرنے کے قابل بنانا:

  • اسسٹنٹس کو کمپیوٹیشن انجام دینے کے قابل بنانا:

  • بھرپور ورک فلو بنانا:

  • ایک ڈیٹا ایکسٹریکشن پائپ لائن جو خام متن حاصل کرتی ہے، پھر اسے اسٹرکچرڈ ڈیٹا میں تبدیل کرتی ہے اور اسے ڈیٹا بیس میں محفوظ کرتی ہے.

فنکشن کالنگ Responses API میں سپورٹ کی جاتی ہے، جو ان صلاحیتوں کو یکجا کرتی ہے جو پہلے چیٹ کمپلیشنز API اور Assistants API میں تقسیم تھیں.

میں JSON موڈ کیسے استعمال کر سکتا ہوں؟

جب JSON موڈ آن ہوتا ہے، تو ماڈل کا آؤٹ پٹ درست JSON ہونا یقینی بنایا جاتا ہے، سوائے کچھ ایج کیسز کے جنہیں آپ کو مناسب طور پر پہچان کر ہینڈل کرنا چاہیے.

چیٹ کمپلیشنز API کے ساتھ JSON موڈ کی درخواست کرنے کے لیے، معاون ماڈلز پر response_format کو { "type": "json_object" } پر سیٹ کریں. Responses API کے ساتھ، جہاں قابل اطلاق ہو، text.format کو { "type": "json_object" } پر سیٹ کریں، مثلاً text: { "format": { "type": "json_object" } }. دونوں API میں، JSON موڈ صرف تب کام کرتا ہے جب ماڈل/میسج/ٹول کی پیشگی شرائط پوری ہوں، مثلاً ماڈل json_object کو سپورٹ کرتا ہو، گفتگو میں JSON بنانے کی ہدایات شامل ہوں، اور کوئی بھی ٹول پابندیاں مطابقت رکھتی ہوں. موثر ان پٹ کانٹیکسٹ میں کم از کم ایک درخواست میسج یا ان پٹ میسج میں حروف کی بڑائی/چھوٹائی سے قطع نظر json شامل ہونا چاہیے، جیسے JSON، json، یا Json؛ ورنہ API خرابی واپس کرتا ہے. Responses میں، صرف ٹاپ لیول instructions فیلڈ اس ویلیڈیشن کو پورا نہیں کرتی. جب مطابقت رکھنے والے ماڈلز/پاتھز پر فنکشن کالنگ استعمال کی جاتی ہے، تو فنکشن کال آرگیومنٹس پر JSON پابندیاں خودکار طور پر لاگو ہوتی ہیں؛ غیر مطابقت رکھنے والے ماڈلز یا ٹول/رسپانس فارمیٹ امتزاج مسترد کیے جا سکتے ہیں یا JSON پابندی والی سیمپلنگ استعمال نہیں کر سکتے.

اہم نوٹس:

  • JSON موڈ استعمال کرتے وقت، آپ کو گفتگو میں کسی میسج کے ذریعے، مثلاً اپنے سسٹم میسج کے ذریعے، ماڈل کو ہمیشہ JSON بنانے کی ہدایت دینی چاہیے. اگر آپ JSON جنریٹ کرنے کی واضح ہدایت شامل نہیں کرتے، تو ماڈل whitespace کا نہ ختم ہونے والا سلسلہ بنا سکتا ہے اور درخواست ٹوکن حد تک پہنچنے تک مسلسل چل سکتی ہے. یہ یقینی بنانے میں مدد کے لیے کہ آپ بھول نہ جائیں، JSON موڈ درخواستوں کو مسترد کرتا ہے جب تک متعلقہ ان پٹ میسجز یا ہدایات میں حروف کی بڑائی/چھوٹائی سے قطع نظر کسی شکل میں لفظ json موجود نہ ہو.

  • JSON موڈ یہ ضمانت نہیں دے گا کہ آؤٹ پٹ کسی مخصوص اسکیما سے میل کھاتا ہے، صرف یہ کہ وہ درست ہے اور بغیر خرابی کے پارس ہوتا ہے. یہ یقینی بنانے کے لیے کہ یہ آپ کے اسکیما سے میل کھاتا ہے، آپ کو اسٹرکچرڈ آؤٹ پٹس استعمال کرنے چاہئیں، یا اگر یہ ممکن نہ ہو تو آپ کو ایک ویلیڈیشن لائبریری اور ممکنہ طور پر دوبارہ کوششیں استعمال کرنی چاہئیں تاکہ آؤٹ پٹ آپ کے مطلوبہ اسکیما سے میل کھائے.

  • آپ کی ایپلیکیشن کو ان ایج کیسز کو پہچان کر ہینڈل کرنا چاہیے جن کے نتیجے میں ماڈل آؤٹ پٹ مکمل JSON آبجیکٹ نہ ہو سکتا ہے (نیچے دیکھیں).

کیا یہ آرٹیکل مددگار تھا؟