১১ মার্চ, ২০২৫ অনুযায়ী, আমরা আমাদের নতুন এজেন্টস প্ল্যাটফর্মের মৌলিক বিল্ডিং ব্লকগুলো প্রকাশ করেছি। বিস্তারিত জানতে, Responses API, Web Search, File Search, এবং Computer Use সহ Tools, এবং Agents SDK with Tracing সম্পর্কে আমাদের API ডকস দেখুন।
ফাংশন কলিং আপনাকে OpenAI মডেলগুলোকে বাহ্যিক টুল ও সিস্টেমের সঙ্গে সংযুক্ত করতে দেয়. এটি অনেক কিছুর জন্য উপযোগী, যেমন AI অ্যাসিস্ট্যান্টদের সক্ষমতা দেওয়া, অথবা আপনার অ্যাপ্লিকেশন ও LLM-গুলোর মধ্যে গভীর ইন্টিগ্রেশন তৈরি করা.
আমাদের ফাংশন কলিং ডেভেলপার গাইডে আরও জানুন.
২০২৪ সালের জুনে, আমরা স্ট্রাকচার্ড আউটপুটস চালু করেছি. আপনার ফাংশন সংজ্ঞায় strict: true সেট করে এটি চালু করলে, স্ট্রাকচার্ড আউটপুটস নিশ্চয়তা দেয় যে ফাংশন কলের জন্য মডেল যে আর্গুমেন্ট তৈরি করে তা ফাংশন সংজ্ঞায় আপনার দেওয়া JSON স্কিমার সঙ্গে হুবহু মেলে.
২০২৪ সালের অক্টোবরে, আমরা ‘যেকোনো কিছু জেনারেট করুন’ ফিচার চালু করেছি, যা ডেভেলপারদের কোনো ফাংশন বর্ণনা করতে, সেটি সরাসরি পেস্ট করতে বা আপনার কোড পেস্ট করে একটি বৈধ ফাংশন স্কিমা তৈরি করতে দেয়. এখানে সহায়তা কেন্দ্রের নিবন্ধে ‘যেকোনো কিছু জেনারেট করুন’ সম্পর্কে আরও জানুন.
আমি কীভাবে ফাংশন কলিং ব্যবহার করতে পারি?
ফাংশন কলিং বহু ব্যবহারের ক্ষেত্রে উপযোগী, যেমন:
অ্যাসিস্ট্যান্টদের ডেটা আনতে সক্ষম করা:
অ্যাসিস্ট্যান্টদের পদক্ষেপ নিতে সক্ষম করা:
অ্যাসিস্ট্যান্টদের গণনা করতে সক্ষম করা:
সমৃদ্ধ ওয়ার্কফ্লো তৈরি করা:
একটি ডেটা এক্সট্র্যাকশন পাইপলাইন, যা কাঁচা টেক্সট আনে, তারপর সেটিকে স্ট্রাকচার্ড ডেটায় রূপান্তর করে এবং একটি ডেটাবেসে সংরক্ষণ করে.
ফাংশন কলিং 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 জেনারেট করার স্পষ্ট নির্দেশনা না দেন, মডেল অবিরাম হোয়াইটস্পেসের একটি ধারা তৈরি করতে পারে এবং অনুরোধটি টোকেন সীমায় পৌঁছানো পর্যন্ত চলতেই পারে. আপনি যেন ভুলে না যান, তা নিশ্চিত করতে JSON মোড অনুরোধ প্রত্যাখ্যান করে, যদি না প্রাসঙ্গিক ইনপুট মেসেজ বা নির্দেশনায় কেস-ইনসেনসিটিভভাবে কোনো রূপে
jsonশব্দটি থাকে.JSON মোড আউটপুট কোনো নির্দিষ্ট স্কিমার সঙ্গে মেলাবে—এমন নিশ্চয়তা দেয় না; এটি শুধু নিশ্চিত করে যে আউটপুটটি বৈধ এবং ত্রুটি ছাড়া পার্স করা যায়. এটি আপনার স্কিমার সঙ্গে মেলে তা নিশ্চিত করতে স্ট্রাকচার্ড আউটপুটস ব্যবহার করা উচিত, অথবা তা সম্ভব না হলে, আউটপুট আপনার কাঙ্ক্ষিত স্কিমার সঙ্গে মেলে তা নিশ্চিত করতে একটি ভ্যালিডেশন লাইব্রেরি এবং প্রয়োজনে রিট্রাই ব্যবহার করা উচিত.
আপনার অ্যাপ্লিকেশনকে এমন বিশেষ পরিস্থিতি শনাক্ত ও সামলাতে হবে, যার ফলে মডেল আউটপুট একটি সম্পূর্ণ JSON অবজেক্ট নাও হতে পারে (নিচে দেখুন).
