11. maaliskuuta 2025 lähtien olemme julkaisseet uuden agentti-alustamme perusrakennuspalikat. Lisätietoja on API-dokumentaatiossamme: Responses API, työkalut kuten Web Search, File Search ja Computer Use sekä Agents SDK, jossa on Tracing.
Toiminnon kutsumisen avulla voit yhdistää OpenAI-mallit ulkoisiin työkaluihin ja järjestelmiin. Tästä on hyötyä monissa tilanteissa, kuten lisäominaisuuksien tarjoamisessa tekoälyavustajille ja sovellustesi sekä suurten kielimallien välisten tiiviiden integraatioiden rakentamisessa.
Lue lisää Toiminnon kutsumisen kehittäjäoppaastamme.
Kesäkuussa 2024 julkaisimme Strukturoidut tuotokset. Kun tuettu malli ja pyyntömääritys ovat käytössä ja malli tuottaa toimintokutsun, toiminnon määrittelyyn lisätty asetus strict: true varmistaa, että tuotetut argumentit noudattavat annettua skeemaa. Tämä edellyttää, että skeema käyttää JSON-skeeman tuettua osajoukkoa ja täyttää tiukan tilan vaatimukset. Pyynnöt, joiden skeemoja ei tueta tai jotka eivät täytä vaatimuksia, hylätään virheilmoituksella.
Lokakuussa 2024 julkaisimme ”Luo mitä tahansa” -ominaisuuden, jonka avulla kehittäjät voivat kuvailla toiminnon tai liittää kuvauksen tai oman koodinsa suoraan ja luoda kelvollisen toimintoskeeman. Lue lisää ”Luo mitä tahansa” -ominaisuudesta ohjekeskuksen artikkelista.
Miten voin käyttää Toiminnon kutsumista?
Toiminnon kutsumisesta on hyötyä monissa käyttötapauksissa, kuten:
Avustajien mahdollistaminen noutamaan dataa:
Avustajien mahdollistaminen suorittamaan toimia:
Avustajien mahdollistaminen suorittamaan laskentaa:
Monipuolisten työnkulkujen rakentaminen:
datan poimintaputki, joka noutaa raakatekstin, muuntaa sen sitten strukturoiduksi dataksi ja tallentaa sen tietokantaan.
Toiminnon kutsumista tuetaan Responses APIssa, joka yhdistää ominaisuuksia, jotka oli aiemmin jaettu Keskustelun täydennys-APIn ja Assistants APIn kesken.
Miten voin käyttää JSON-tilaa?
Kun JSON-tila on käytössä, mallin tuotos varmistetaan kelvolliseksi JSONiksi, lukuun ottamatta joitakin reunatapauksia, jotka sinun tulee havaita ja käsitellä asianmukaisesti.
Jos haluat pyytää JSON-tilaa Keskustelun täydennys-APIlla, aseta response_format-arvoksi { "type": "json_object" } tuetuissa malleissa. Responses APIssa aseta text.format-arvoksi { "type": "json_object" }, esimerkiksi text: { "format": { "type": "json_object" } }, kun se on sovellettavissa. Kummassakin APIssa JSON-tila toimii vain, kun mallia, viestiä ja työkalua koskevat edellytykset täyttyvät (esimerkiksi malli tukee json_object-arvoa, keskustelu sisältää ohjeet JSONin tuottamiseen ja mahdolliset työkalurajoitteet ovat yhteensopivia). Vähintään yhden pyynnön viestin tai syöteviestin tosiasiallisessa syötekontekstissa on sisällettävä json kirjainkoosta riippumattomassa muodossa, kuten JSON, json tai Json; muussa tapauksessa API palauttaa virheen. Responsesissa pelkkä ylätason instructions-kenttä ei täytä tätä validointia. Kun Toiminnon kutsumista käytetään yhteensopivissa malleissa tai poluissa, JSON-rajoitteet otetaan automaattisesti käyttöön funktion kutsun argumenteille; yhteensopimattomat mallit tai työkalun ja vastausmuodon yhdistelmät voidaan hylätä tai ne eivät välttämättä käytä JSON-rajoitettua otantaa.
Tärkeitä huomautuksia:
Kun käytät JSON-tilaa, sinun on aina ohjeistettava mallia tuottamaan JSONia jonkin keskustelun viestin kautta, esimerkiksi järjestelmäviestissäsi. Jos et sisällytä nimenomaista ohjetta JSONin luomiseen, malli voi tuottaa loputtoman välilyöntivirran ja pyyntö voi jatkua, kunnes se saavuttaa tokenrajan. Jotta et unohtaisi tätä, JSON-tila hylkää pyynnöt, elleivät asiaankuuluvat syöteviestit tai ohjeet sisällä sanaa
jsonjossakin muodossa kirjainkoosta riippumatta.JSON-tila ei takaa, että tuotos vastaa mitään tiettyä skeemaa, vaan ainoastaan että se on kelvollinen ja jäsentyy ilman virheitä. Sinun tulisi käyttää Strukturoituja tuotoksia varmistaaksesi, että se vastaa skeemaasi, tai jos se ei ole mahdollista, käyttää validointikirjastoa ja mahdollisesti uudelleenyrityksiä varmistaaksesi, että tuotos vastaa haluamaasi skeemaa.
Sovelluksesi on havaittava ja käsiteltävä reunatapaukset, joiden vuoksi mallin tuotos ei välttämättä ole täydellinen JSON-objekti (katso alla).
