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ás lehetővé teszi, hogy OpenAI-modelleket külső eszközökhöz és rendszerekhez kapcsolj. Ez sok mindenre hasznos, például AI-asszisztensek képességekkel való felruházására, vagy mély integrációk létrehozására az alkalmazásaid és az LLM-ek között.
Tudj meg többet a funkcióhívási fejlesztői útmutatónkban.
2024 júniusában bevezettük a strukturált kimeneteket. Ha a funkciódefinícióban a strict: true beállítással bekapcsolod, a strukturált kimenetek garantálják, hogy a modell által egy funkcióhíváshoz generált argumentumok pontosan megfelelnek a funkciódefinícióban megadott JSON-sémának.
2024 októberében bevezettük a „Generate Anything” funkciót, amely lehetővé teszi a fejlesztőknek, hogy leírjanak egy funkciót, közvetlenül beillesszék azt, vagy beillesszék a kódjukat, és érvényes funkciósémát generáljanak. Tudj meg többet a „Generate Anything” funkcióról ebben a súgóközpont-cikkben.
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).
