OpenAI
Оваа страница беше машински преведена. Погледнете ја оригиналната статија на англиски јазик.

Повикување на функција во OpenAI API

Што е повикување на функција и како функционира во OpenAI API?

Ажурирано: 18 days ago

Од 11 март 2025 година, ги објавивме основните градбени елементи на нашата нова платформа Agents. За детали, погледнете ја нашата API документација за Responses API, Tools вклучувајќи Web Search, File Search и Computer Use, како и нашиот Agents SDK со Tracing.

Повикувањето на функција ви овозможува да ги поврзете моделите на OpenAI со надворешни алатки и системи. Ова е корисно за многу намени, како што се проширување на можностите на асистентите со ВИ или создавање тесни интеграции меѓу вашите апликации и големите јазични модели (LLM).

Дознајте повеќе во нашиот водич за програмери за повикување на функција.

Во јуни 2024 година ги претставивме Структурираните резултати. Кај поддржаните модели и конфигурации на барања, кога моделот испраќа повик на функција, поставувањето strict: true во дефиницијата на функцијата гарантира дека генерираните аргументи ќе се придржуваат до дадената шема, под услов таа да го користи поддржаното подмножество на JSON Schema и да ги исполнува барањата за строг режим. Барањата со неподдржани или неусогласени шеми се одбиваат со грешка.

Во октомври 2024 година ја претставивме функцијата „Генерирај што било“, која им овозможува на програмерите да опишат функција и директно да го вметнат описот или да го вметнат својот код, а потоа да генерираат валидна шема на функцијата. Дознајте повеќе за „Генерирај што било“ во оваа статија во центарот за помош.

Како можам да користам повикување на функција?

Повикувањето на функција е корисно за голем број случаи на употреба, како што се:

  • Овозможување асистентите да преземаат податоци:

  • Овозможување асистентите да преземаат дејства:

  • Овозможување асистентите да вршат пресметки:

  • Градење богати работни текови:

  • цевковод за извлекување податоци што презема необработен текст, потоа го претвора во структурирани податоци и го зачувува во база на податоци.

Повикувањето на функција е поддржано во Responses API, кој ги обединува можностите што претходно беа поделени меѓу API за завршување на разговори и Assistants API.

Како можам да користам режим JSON?

Кога е вклучен режимот JSON, се обезбедува излезот на моделот да биде валиден JSON, освен во некои гранични случаи што треба да ги откриете и соодветно да ги обработите.

За да побарате режим JSON со API за завршување на разговори, поставете 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, само полето за инструкции на највисоко ниво не ја задоволува оваа валидација. Кога се користи повикување на функција кај компатибилни модели/патеки, ограничувањата за JSON автоматски се применуваат на аргументите за повик на функција; некомпатибилни модели или комбинации на алатка/формат на одговор може да бидат одбиени или да не користат земање примероци ограничено со JSON.

Важни напомени:

  • Кога користите режим JSON, секогаш мора да му дадете инструкција на моделот да создава JSON преку некоја порака во разговорот, на пример преку вашата системска порака. Ако не вклучите експлицитна инструкција за генерирање JSON, моделот може да генерира бесконечен тек на празни места и барањето може да продолжи да се извршува сè додека не го достигне ограничувањето за токени. За да се помогне да не заборавите, режимот JSON ги одбива барањата освен ако релевантните влезни пораки или инструкции не го содржат зборот json во некаква форма, без разлика на големината на буквите.

  • Режимот JSON нема да гарантира дека излезот одговара на некоја конкретна шема, туку само дека е валиден и се парсира без грешки. Треба да користите структурирани резултати за да се осигурите дека одговара на вашата шема, или ако тоа не е можно, треба да користите библиотека за валидација и потенцијално повторни обиди за да се осигурите дека излезот одговара на вашата посакувана шема.

  • Вашата апликација мора да ги открива и обработува граничните случаи што може да резултираат со тоа излезот на моделот да не биде целосен JSON-објект (видете подолу)

Дали оваа статија ви беше корисна?