11 مارچ 2025 تک، ہم نے اپنے نئے ایجنٹس پلیٹ فارم کے بنیادی اجزا جاری کر دیے ہیں۔ تفصیلات کے لیے، ہماری Responses API، ٹولز جن میں Web Search، File Search، اور Computer Use شامل ہیں، اور Agents SDK مع Tracing کے لیے ہماری API ڈاکس دیکھیں.
فنکشن کالنگ کے ذریعے آپ OpenAI ماڈلز کو بیرونی ٹولز اور سسٹمز سے جوڑ سکتے ہیں. یہ کئی کاموں کے لیے مفید ہے، مثلاً مصنوعی ذہانت کے معاونین کو نئی صلاحیتیں فراہم کرنا یا اپنی ایپلیکیشنز اور بڑے لسانی ماڈلز کے درمیان گہرا انضمام قائم کرنا.
مزید جاننے کے لیے ہماری فنکشن کالنگ کی ترقی کار رہنما پڑھیں.
جون 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 آبجیکٹ نہ ہو سکتا ہے (نیچے دیکھیں).
