OpenAI
ეს გვერდი მანქანური თარგმანის მეშვეობით ითარგმნა. სტატიის ინგლისური დედნის ნახვა.

ფუნქციის გამოძახება OpenAI API-ში

რა არის ფუნქციის გამოძახება და როგორ მუშაობს ის OpenAI API-ში?

განახლებულია: 18 days ago

2025 წლის 11 მარტის მდგომარეობით, გამოვაქვეყნეთ ჩვენი ახალი აგენტების პლატფორმის საბაზისო სამშენებლო ბლოკები. დეტალებისთვის იხილეთ ჩვენი API დოკუმენტაცია Responses API-სთვის, Tools-ისთვის, მათ შორის Web Search, File Search და Computer Use, ასევე ჩვენი Agents SDK-სთვის Tracing-თან ერთად.

ფუნქციის გამოძახება საშუალებას გაძლევთ, OpenAI-ის მოდელები გარე ხელსაწყოებსა და სისტემებს დაუკავშიროთ. ეს მრავალი მიზნისთვისაა გამოსადეგი, მაგალითად, AI ასისტენტებისთვის დამატებითი შესაძლებლობების მისაცემად ან თქვენს აპლიკაციებსა და LLM-ებს შორის ღრმა ინტეგრაციების შესაქმნელად.

დამატებითი ინფორმაცია იხილეთ ჩვენს ფუნქციის გამოძახების დეველოპერის სახელმძღვანელოში.

2024 წლის ივნისში სტრუქტურირებული შედეგები გავუშვით. მხარდაჭერილ მოდელებსა და მოთხოვნის კონფიგურაციებში, როდესაც მოდელი ფუნქციის გამოძახებას ქმნის, ფუნქციის განსაზღვრებაში strict: true-ის მითითება უზრუნველყოფს, რომ გენერირებული არგუმენტები მოწოდებულ სქემას შეესაბამებოდეს, თუ სქემა იყენებს JSON Schema-ს მხარდაჭერილ ქვესიმრავლეს და მკაცრი რეჟიმის მოთხოვნებს აკმაყოფილებს. მხარდაუჭერელი ან მოთხოვნებთან შეუსაბამო სქემების შემცველი მოთხოვნები შეცდომით უარყოფილი იქნება.

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 ობიექტი არ იყოს (იხილეთ ქვემოთ)

სასარგებლო იყო ეს სტატია?