2025 წლის 11 მარტის მდგომარეობით, გამოვაქვეყნეთ ჩვენი ახალი აგენტების პლატფორმის საბაზისო სამშენებლო ბლოკები. დეტალებისთვის იხილეთ ჩვენი API დოკუმენტაცია Responses API-სთვის, Tools-ისთვის, მათ შორის Web Search, File Search და Computer Use, ასევე ჩვენი Agents SDK-სთვის Tracing-თან ერთად.
ფუნქციის გამოძახება საშუალებას გაძლევთ OpenAI-ის მოდელები გარე ინსტრუმენტებსა და სისტემებს დაუკავშიროთ. ეს სასარგებლოა მრავალი რამისთვის, მაგალითად AI ასისტენტების შესაძლებლობებით გაძლიერებისთვის ან თქვენს აპლიკაციებსა და LLM-ებს შორის ღრმა ინტეგრაციების ასაგებად.
გაიგეთ მეტი ჩვენს ფუნქციის გამოძახების დეველოპერის სახელმძღვანელოში.
2024 წლის ივნისში ჩვენ გავუშვით სტრუქტურირებული შედეგები. როდესაც მას ჩართავთ ფუნქციის განსაზღვრებაში strict: true დაყენებით, სტრუქტურირებული შედეგები გარანტიას იძლევა, რომ ფუნქციის გამოძახებისთვის მოდელის მიერ გენერირებული არგუმენტები ზუსტად ემთხვევა JSON სქემას, რომელიც ფუნქციის განსაზღვრებაში მიუთითეთ.
2024 წლის ოქტომბერში ჩვენ გავუშვით „ყველაფრის გენერირების“ ფუნქცია, რომელიც დეველოპერებს საშუალებას აძლევს აღწერონ ფუნქცია, პირდაპირ ჩასვან იგი ან ჩასვან საკუთარი კოდი და შექმნან ვალიდური ფუნქციის სქემა. გაიგეთ მეტი „ყველაფრის გენერირების“ შესახებ დახმარების ცენტრის ამ სტატიაში
როგორ გამოვიყენო ფუნქციის გამოძახება?
ფუნქციის გამოძახება სასარგებლოა მრავალი გამოყენების შემთხვევისთვის, როგორიცაა:
ასისტენტებისთვის მონაცემების მიღების შესაძლებლობის მიცემა:
ასისტენტებისთვის მოქმედებების შესრულების შესაძლებლობის მიცემა:
ასისტენტებისთვის გამოთვლების შესრულების შესაძლებლობის მიცემა:
მდიდარი სამუშაო პროცესების აგება:
მონაცემთა ამოღების კონვეერი, რომელიც იღებს დაუმუშავებელ ტექსტს, შემდეგ გარდაქმნის მას სტრუქტურირებულ მონაცემებად და ინახავს მონაცემთა ბაზაში.
ფუნქციის გამოძახება მხარდაჭერილია API-ში Responses API, რომელიც აერთიანებს შესაძლებლობებს, რომლებიც ადრე ნაწილდებოდა ორ API-ზე: ჩატის დასრულების API და ასისტენტების 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-ის დაუსრულებელი ნაკადი და მოთხოვნა უწყვეტად შესრულდეს, სანამ token-ის ლიმიტს არ მიაღწევს. რომ არ დაგავიწყდეთ, JSON რეჟიმი უარყოფს მოთხოვნებს, თუ შესაბამისი შეყვანის შეტყობინებები ან ინსტრუქციები არ შეიცავს სიტყვა
json-ს რომელიმე ფორმით, რეგისტრისადმი არამგრძნობიარედ.JSON რეჟიმი არ იძლევა გარანტიას, რომ შედეგი რომელიმე კონკრეტულ სქემას დაემთხვევა; ის მხოლოდ უზრუნველყოფს, რომ შედეგი ვალიდურია და შეცდომების გარეშე გარჩევადია. უნდა გამოიყენოთ სტრუქტურირებული შედეგები, რათა დარწმუნდეთ, რომ ის თქვენს სქემას ემთხვევა; ხოლო თუ ეს შეუძლებელია, გამოიყენეთ ვალიდაციის ბიბლიოთეკა და, საჭიროების შემთხვევაში, განმეორებითი ცდები, რათა უზრუნველყოთ, რომ შედეგი სასურველ სქემას ემთხვევა.
თქვენმა აპლიკაციამ უნდა აღმოაჩინოს და დაამუშაოს ზღვრული შემთხვევები, რომლებმაც შეიძლება გამოიწვიოს, რომ მოდელის შედეგი სრული JSON ობიექტი არ იყოს (იხილეთ ქვემოთ)
