2025. március 11-től elérhetővé tettük új ügynökplatformunk alapvető építőelemeit. A részletekért lásd a Responses API-hoz, az eszközökhöz, köztük a Web Search, File Search és Computer Use eszközökhöz, valamint a Agents SDK-hoz a Tracing funkcióval kapcsolatos API-dokumentációnkat.
A funkcióhívással OpenAI-modelleket kapcsolhat külső eszközökhöz és rendszerekhez. Ez számos célra hasznos: új képességekkel ruházhatja fel az AI-asszisztenseket, vagy szorosan integrálhatja alkalmazásait a nagy nyelvi modellekkel (LLM-ekkel).
További információt a funkcióhívás fejlesztői útmutatójában talál.
2024 júniusában bevezettük a strukturált kimeneteket. A támogatott modellek és kéréskonfigurációk esetén, amikor a modell funkcióhívást ad ki, a függvénydefinícióban megadott strict: true beállítás biztosítja, hogy a létrehozott argumentumok megfeleljenek a megadott sémának, feltéve, hogy az a JSON Schema támogatott részhalmazát használja, és teljesíti a szigorú mód követelményeit. A nem támogatott vagy nem megfelelő sémát tartalmazó kéréseket a rendszer hibával elutasítja.
2024 októberében bevezettük a „Bármi generálása” funkciót, amellyel a fejlesztők leírhatnak vagy közvetlenül beilleszthetnek egy függvényt, illetve beilleszthetik a kódjukat, és érvényes függvénysémát hozhatnak létre. A „Bármi generálása” funkcióról ebben a súgóközpontbeli cikkben olvashat bővebben
Hogyan használhatom a funkcióhívást?
A funkcióhívás számos felhasználási esetben hasznos, például:
Annak lehetővé tétele, hogy az asszisztensek adatokat kérjenek le:
Annak lehetővé tétele, hogy az asszisztensek műveleteket hajtsanak végre:
Annak lehetővé tétele, hogy az asszisztensek számításokat végezzenek:
Összetett munkafolyamatok építése:
egy adatkinyerési folyamat, amely nyers szöveget kér le, majd strukturált adattá alakítja, és adatbázisba menti.
A funkcióhívás a Responses API-ban támogatott, amely egységesíti azokat a képességeket, amelyek korábban a csevegés-befejezési API és az Assistants API között voltak megosztva.
Hogyan használhatom a JSON módot?
Ha a JSON mód be van kapcsolva, a modell kimenete néhány kivételes esettől eltekintve garantáltan érvényes JSON lesz; ezeket az eseteket megfelelően észlelni és kezelni kell.
Ha a csevegés-befejezési API-val szeretnéd kérni a JSON módot, a támogatott modelleken állítsd a response_format értékét erre: { "type": "json_object" }. A Responses API esetén állítsd a text.format értékét erre: { "type": "json_object" }, például text: { "format": { "type": "json_object" } }, ahol alkalmazható. Mindkét API-ban a JSON mód csak akkor működik, ha a modellre/üzenetre/eszközre vonatkozó előfeltételek teljesülnek (például a modell támogatja a json_object értéket, a beszélgetés tartalmaz utasításokat JSON előállítására, és az eszközkorlátozások kompatibilisek). A tényleges bemeneti kontextusban legalább egy kérésüzenetnek vagy bemeneti üzenetnek tartalmaznia kell a json szót kis- és nagybetűktől független formában, például JSON, json vagy Json; ellenkező esetben az API hibát ad vissza. A Responsesben a legfelső szintű instructions mező önmagában nem felel meg ennek az ellenőrzésnek. Ha kompatibilis modelleken/útvonalakon funkcióhívást használsz, a JSON-korlátozások automatikusan érvényesülnek a funkcióhívási argumentumokra; az inkompatibilis modelleket vagy eszköz-/válaszformátum-kombinációkat a rendszer elutasíthatja, vagy előfordulhat, hogy nem használnak JSON-korlátozott mintavételezést.
Fontos megjegyzések:
A JSON mód használatakor mindig utasítanod kell a modellt, hogy JSON-t állítson elő a beszélgetés valamelyik üzenetén keresztül, például a rendszerüzenetben. Ha nem adsz meg kifejezett utasítást JSON generálására, a modell végtelennek tűnő üres karakterfolyamot generálhat, és a kérés folyamatosan futhat, amíg el nem éri a tokenkorlátot. Annak érdekében, hogy ezt ne felejtsd el, a JSON mód elutasítja a kéréseket, hacsak a releváns bemeneti üzenetek vagy utasítások nem tartalmazzák a
jsonszót valamilyen formában, kis- és nagybetűktől függetlenül.A JSON mód nem garantálja, hogy a kimenet megfelel bármilyen konkrét sémának; csak azt, hogy érvényes és hibamentesen feldolgozható. Használj strukturált kimeneteket annak biztosítására, hogy a kimenet megfeleljen a sémádnak; ha ez nem lehetséges, használj ellenőrző könyvtárat és szükség esetén ismételt próbálkozásokat, hogy a kimenet megfeleljen a kívánt sémának.
Az alkalmazásodnak észlelnie és kezelnie kell azokat a szélső eseteket, amelyek miatt a modell kimenete nem teljes JSON-objektum (lásd alább).
