از ۱۱ مارس ۲۰۲۵، اجزای سازنده پلتفرم جدید Agents خود را منتشر کردهایم. برای جزئیات، مستندات API ما را برای Responses API، ابزارها از جمله Web Search، File Search و Computer Use، و Agents SDK ما همراه با Tracing ببینید.
درخواست عملکرد به شما امکان میدهد مدلهای OpenAI را به ابزارها و سیستمهای خارجی متصل کنید. این قابلیت کاربردهای فراوانی دارد؛ برای مثال، میتوان دستیارهای هوش مصنوعی را به قابلیتهای بیشتری مجهز کرد یا میان برنامههای کاربردی و مدلهای زبانی بزرگ یکپارچگی عمیقی ایجاد کرد.
در راهنمای توسعهدهندگانِ درخواست عملکرد بیشتر بیاموزید.
در ژوئن ۲۰۲۴، خروجی های دارای ساختار را عرضه کردیم. در مدلها و پیکربندیهای درخواستِ پشتیبانیشده، وقتی مدل یک فراخوانی تابع ایجاد میکند، تنظیم strict: true در تعریف تابع تضمین میکند که آرگومانهای تولیدشده با الگوی ارائهشده مطابقت داشته باشند؛ بهشرط آنکه الگو از زیرمجموعهٔ پشتیبانیشدهٔ الگوی JSON استفاده کند و الزامات حالت سختگیرانه را برآورده سازد. درخواستهایی که الگوی پشتیبانینشده یا ناسازگار دارند، با نمایش خطا رد میشوند.
در اکتبر ۲۰۲۴، قابلیت «هر چیزی تولید کنید» را عرضه کردیم. این قابلیت به توسعهدهندگان امکان میدهد یک تابع را توصیف و مستقیماً جایگذاری کنند، یا کد خود را بچسبانند و یک الگوی معتبر برای تابع بسازند. دربارهٔ «هر چیزی تولید کنید» در این مقالهٔ مرکز راهنما بیشتر بخوانید.
چگونه میتوانم از درخواست عملکرد استفاده کنم؟
درخواست عملکرد برای تعداد زیادی از موارد استفاده مفید است، مانند:
توانمند کردن دستیارها برای واکشی داده:
توانمند کردن دستیارها برای انجام اقدامات:
توانمند کردن دستیارها برای انجام محاسبه:
ساخت گردشکارهای غنی:
یک پایپلاین استخراج داده که متن خام را واکشی میکند، سپس آن را به داده دارای ساختار تبدیل میکند و در یک پایگاه داده ذخیره میکند.
درخواست عملکرد در API پاسخها پشتیبانی میشود، که قابلیتهایی را یکپارچه میکند که پیشتر بین API های انتهای چت و API دستیاران تقسیم شده بودند.
چگونه میتوانم از حالت JSON استفاده کنم؟
وقتی حالت JSON روشن است، تضمین میشود خروجی مدل JSON معتبر باشد، بهجز در برخی موارد مرزی که باید آنها را تشخیص دهید و بهدرستی مدیریت کنید.
برای درخواست حالت JSON با API های انتهای چت، در مدلهای پشتیبانیشده response_format را روی { "type": "json_object" } تنظیم کنید. با API پاسخها، در موارد قابلاستفاده، text.format را روی { "type": "json_object" } تنظیم کنید؛ برای مثال text: { "format": { "type": "json_object" } }. در هر دو API، حالت JSON فقط زمانی کار میکند که پیشنیازهای مدل/پیام/ابزار برآورده شده باشند (برای مثال، مدل از json_object پشتیبانی کند، مکالمه شامل دستورالعملهایی برای تولید JSON باشد و هرگونه محدودیت ابزار سازگار باشد). حداقل یک پیام درخواست یا پیام ورودی در بافت ورودی مؤثر باید json را به شکلی بدون حساسیت به بزرگی/کوچکی حروف، مانند JSON، json یا Json، دربر داشته باشد؛ در غیر این صورت، API خطا برمیگرداند. در Responses، فیلد دستورالعملهای سطح بالا بهتنهایی این اعتبارسنجی را برآورده نمیکند. وقتی درخواست عملکرد در مدلها/مسیرهای سازگار استفاده میشود، محدودیتهای JSON بهطور خودکار روی آرگومانهای فراخوانی عملکرد اعمال میشوند؛ مدلهای ناسازگار یا ترکیبهای ابزار/قالب پاسخ ممکن است رد شوند یا از نمونهگیری محدودشده به JSON استفاده نکنند.
نکات مهم:
هنگام استفاده از حالت JSON، همیشه باید از طریق پیامی در مکالمه، برای مثال از طریق پیام سیستمی خود، به مدل دستور دهید JSON تولید کند. اگر دستور صریحی برای تولید JSON قرار ندهید، مدل ممکن است جریانی بیپایان از فاصلههای خالی تولید کند و درخواست ممکن است تا رسیدن به حد توکن بهطور مداوم اجرا شود. برای کمک به اینکه فراموش نکنید، حالت JSON درخواستها را رد میکند مگر اینکه پیامها یا دستورالعملهای ورودی مرتبط، واژه
jsonرا به شکلی و بدون حساسیت به بزرگی/کوچکی حروف دربر داشته باشند.حالت JSON تضمین نمیکند که خروجی با الگوی مشخصی مطابقت داشته باشد؛ فقط تضمین میکند که معتبر باشد و بدون خطا تجزیه شود. برای اطمینان از مطابقت آن با الگوی خود باید از خروجی های دارای ساختار استفاده کنید، یا اگر این ممکن نیست، باید از یک کتابخانه اعتبارسنجی و احتمالاً تلاشهای دوباره استفاده کنید تا مطمئن شوید خروجی با الگوی موردنظر شما مطابقت دارد.
برنامه شما باید موارد مرزیای را که میتوانند باعث شوند خروجی مدل یک شیء کامل JSON نباشد، تشخیص دهد و مدیریت کند (در ادامه ببینید)
