Parin viime vuoden aikana olemme oppineet, kuinka tehokkaita kielimallit voivat olla. gpt-35-turbon ja gpt-4:n myötä nämä mallit voivat saavuttaa enemmän kuin koskaan ennen, ja näemme asiakkaiden menestyvän monilla uusilla skenaarioilla. Vaikka nämä mallit ovat uskomattoman hyödyllisiä yksinään, voit saavuttaa vielä enemmän integroimalla ne muihin järjestelmiin ja työkaluihin.
Toimintojen kutsuminen on nyt saatavilla Azure OpenAI Servicessä ja antaa gpt-35-turbon ja gpt-4:n uusimmille 0613-versioille mahdollisuuden tuottaa strukturoituja JSON-ulostuloja pyynnössä kuvailemiesi toimintojen perusteella. Tämä tarjoaa näille malleille alkuperäisen tavan muodostaa API-kutsuja ja strukturoida datatulosteita määrittämiesi toimintojen perusteella. On tärkeää huomata, että vaikka mallit voivat luoda näitä kutsuja, sinun on suoritettava ne ja varmistettava, että pysyt hallinnassa.
Uusimmat gpt-35-turbo- ja gpt-4-versiot on hienosäädetty toimintojen käytön oppimiseksi. Jos yksi tai useampi funktio on määritetty pyynnössä, malli määrittää sitten, pitäisikö jokin funktio kutsua kehotteen kontekstin perusteella. Kun malli määrittää, että funktiota pitäisi kutsua, se vastaa sitten JSON-objektilla, joka sisältää funktion argumentit.
Korkealla tasolla voit jakaa toimintojen kanssa työskentelyn kolmeen vaiheeseen:
Vaihe 1– Soita chat Completions API:lle funktioillasi ja käyttäjän syötteellä
Vaihe #2– Käytä mallin vastausta API:n tai funktion kutsumiseen
Vaihe #3– Soita uudelleen chat Completions API:lle, mukaan lukien funktiosi vastaus saadaksesi lopullisen vastauksen
Alla olevissa osioissa on esimerkkejä erilaisista skenaarioista, joissa funktiokutsusta voi olla apua, tai voit katsoa näytteitämme kokeillaksesipäästä päähän esimerkki funktiokutsusta.
Toimintojen kutsuminen avaa useita uusia käyttötapauksia. Funktiokutsun avulla voit noutaa oleellisia tietoja tietolähteistä tai API-liittymistä, integroida muihin järjestelmiin tai työkaluihin, luoda strukturoituja tulosteita kehotteistasi ja paljon muuta.
Hae tietoja tietolähteistä tai sovellusliittymistä
Yksi yleisimmistä funktiokutsujen skenaarioista on käyttää niitä kutsujen kirjoittamiseen tietojen hakemiseksi hakuindeksistä, tietokannasta tai API:sta, jotta saadaan vastaus käyttäjän syötteeseen. Halusitpa sitten hyödyntää tietoja verkosta, omista asiakirjoistasi tai muista tietolähteistä, voit käyttää funktiokutsuja määrittääksesi, milloin sinun on täydennettävä kehotteitasi lisätiedoilla.
Esimerkki:
messages= [ {"role": "user", "content": "Etsi rantahotelleja San Diegosta alle 300 dollarilla kuukaudessa ilmaisella aamiaisella."}]functions= [ { "name": "search_hotels", "description": "Hakee hotellit hakuhakemistosta annettujen parametrien perusteella", "parametrit": { {ring" "location":ject: ", ""loceration":": scription": "Hotellin sijainti (esim. Seattle, WA)" }, "max_price": { "type": "number", "description": "Hotellin enimmäishinta" }, "ominaisuudet": { "type": "string", "description": "Pilkuilla eroteltu luettelo ominaisuuksista (eli ilmainen wifi}, jne.)":"ed. }, }] vastaus = openai.ChatCompletion.create( engine="gpt-35-turbo-0613", messages=messages, functions=functions, function_call="auto", )print(response['choices'][0]['message'])
Vastaus:
{ "role": "assistentti", "function_call": { "name": "search_hotels", "arguments": "{\n \"location\": \"San Diego\",\n \"max_price\": 300, \n \"ominaisuudet\": \"rantaranta, ilmainen aamiainen" }
Integrointi API:iden tai työkalujen kanssa
Voit myös käyttää toimintokutsuja lisätäksesi uusia taitoja, jotka lisäävät mallin ominaisuuksia. Saatat esimerkiksi haluta antaa mallille pääsyn funktioihin laskelmien suorittamiseksi tai muiden tehtävien suorittamiseksi, joissa LLM ei ehkä ole luonnostaan hyvä. Määrittämällä nämä toiminnot voit luotettavasti olla vuorovaikutuksessa erilaisten ulkoisten API-tai koodissa määrittämiesi toimintojen kanssa.
Toimintokutsujen avulla voidaan myös suorittaa toimintoja, kuten tietojen kirjoittaminen tietokantaan, tilausten tekeminen tai ilmoitusten lähettäminen. On kuitenkin tärkeää ymmärtää seuraukset, jos jokin menee pieleen, ennen kuin otat käyttöön tällaisen toiminnon. Yleensä suosittelemme aina käyttäjän vahvistusprosessin rakentamista, ennen kuin mallin sallitaan ryhtyä toimiin, joilla voi olla haitallisia sivuvaikutuksia.
Esimerkki:
messages= [ { "role": "user", "content": "Viime kuussa Fabrikam tienasi 73 846 dollaria. Mikä olisi sen perusteella vuotuinen ajonopeus?"}]functions= [ { "name": "laskin", "description": "Yksinkertainen laskin", "parametrit": { "type": "ties" "n": "num": " 1 ges, functions=functions, function_call="auto", )print(response['choices'][0]['message'])
Vastaus:
{ "role": "assistentti", "function_call": { "nimi": "laskin", "argumentit": "{\n \"num1\": 73846,\n \"num2\": 12,\n \"operaattori\": \"*\"\n}" }}
Strukturoitujen tulosten luominen
On jo mahdollista saada nämä mallit tuottamaan JSON-tiedostoa, mutta usein tämä vaatii ylimääräistä jäsennystä ja voi olla hankalaa, jos malli ajoittain aloittaa vastauksen jollakin esimerkiksi "Tässä on JSON:" tai lisää vastaukseen muuta tekstiä.
Toimintojen kutsuminen antaa sinulle luotettavamman tavan saada malli luomaan strukturoituja JSON-tulosteita tekstistä, jotka voivat olla arvokkaita, kun haluat poimia tekstistä entiteettejä tai kun käsittelet tehtäviä, jotka edellyttävät organisoituja ja helposti tulkittavia tulosteita.
Esimerkki:
messages= [ {"role": "system", "content": "Assistant on suuri kielimalli, joka on suunniteltu poimimaan strukturoitua dataa tekstistä."}, {"role": "user", "content": "Äskettäin löydetyltä Goocrux-planeetalta löytyi monia hedelmiä. Siellä kasvaa neoskizzlejä, jotka ovat purppuraisia, sinisiä ja maistuvat myös lohedyille ja lohedyille. kuin sitruuna. Pounit ovat väriltään kirkkaanvihreitä ja enemmän suolaisia kuin makeita. On myös paljon loopnovia, jotka ovat neonvaaleanpunaisen makuisia ja maistuvat hattaralta. Lopuksi on hedelmiä nimeltä glowls, joilla on erittäin hapan ja karvas maku, joka on hapan ja syövyttävä, ja niissä on vaalean oranssin sävy." s tekstistä.", "parametrit": { "type": "object", "properties": { "fruits": { "type": "array", "items": { "type": "object", "properties": { "fruit": {"type": "string", "description": "Hedelmän nimi." }, "color": {"type": "string", "description": "Hedelmän väri." }, "maku": {"type": "string", "description": "Hedelmän maku."} }, "pakollinen": ["hedelmä", "väri", "maku"] } } }, "required": ["hedelmät"] } } ] vastaus = openai.ChatCompletion.create( engine-3. , function_call={"nimi": "extract_fruit"}, # pakottaa mallin kutsumaan funktiota)print(response['choices'][0]['message'])
Vastaus:
{ "hedelmät": [ {"hedelmät": "neoskizzles", "väri": "violetti", "maku": "karamelli"}, {"fruit": "loheckles", "color": "harmahtava sininen", "maku": "torttu"}, {"fruit": "pounits", "color": "kirkkaan vihreä", "maku": "maku" : "neonvaaleanpunainen", "maku": "hapankaramelli"}, {"hedelmä": "hehkuu", "väri": "vaaleanoranssi", "maku": "hapan ja katkera"} ]}
Kuten mikä tahansa tekoälyjärjestelmä, toimintokutsujen käyttäminen kielimallien integroimiseen muihin työkaluihin ja järjestelmiin sisältää mahdollisia riskejä. On tärkeää ymmärtää riskit, joita toimintokutsu voi aiheuttaa, ja ryhtyä toimiin varmistaaksesi, että käytät ominaisuuksia vastuullisesti.
Tässä on muutamia vinkkejä, joiden avulla voit käyttää toimintoja turvallisesti:
- Vahvista toimintokutsut: Tarkista aina mallin luomat funktiokutsut. Tämä sisältää parametrien tarkistamisen, kutsuttavan funktion ja sen varmistamisen, että kutsu on linjassa aiotun toiminnon kanssa.
- Käytä luotettuja tietoja ja työkaluja: Käytä vain luotetuista ja vahvistetuista lähteistä peräisin olevia tietoja. Epäluotettavaa dataa funktion lähdössä voidaan käyttää ohjaamaan mallia kirjoittamaan funktiokutsuja toisella tavalla kuin tarkoitit.
- Noudata pienimmän etuoikeuden periaatetta: Myönnä vain vähimmäiskäyttöoikeus, joka tarvitaan toiminnon suorittamiseen. Tämä vähentää mahdollisia vaikutuksia, jos toimintoa käytetään väärin tai sitä hyödynnetään. Jos esimerkiksi käytät funktiokutsuja tietokannan kyselyyn, sinun tulee antaa sovelluksellesi vain luku -oikeus tietokantaan. Sinun ei myöskään pitäisi luottaa pelkästään siihen, että ominaisuudet suljetaan pois toiminnon määrittelystä suojauksen valvonnana.
- Harkitse todellista vaikutusta: Ole tietoinen suorittamiesi toimintokutsujen todellisista vaikutuksista, erityisesti sellaisista, jotka käynnistävät toimintoja, kuten koodin suorittamisen, tietokantojen päivittämisen tai ilmoitusten lähettämisen.
- Ota käyttöön käyttäjän vahvistusvaiheet: Erityisesti toimintoja suorittaville toiminnoille suosittelemme sisällyttämään vaiheen, jossa käyttäjä vahvistaa toiminnon ennen sen suorittamista.
Lisätietoja suosituksistamme Azure OpenAI -mallien vastuullisesta käytöstä on osoitteessaYleiskatsaus Azure OpenAI -mallien vastuullisiin tekoälykäytäntöihin.
Voit aloittaa funktiokutsun jo tänään, jos sinulla on pääsy Azure OpenAI -palveluun. Tässä on joitain vaiheita, jotka auttavat pääsemään alkuun:
- Hae nytsaadaksesi pääsyn Azure OpenAI -palveluun, jos sinulla ei vielä ole käyttöoikeutta.
- Tarkistauusi dokumentaatio funktiokutsusta.
- Tutustu meidänesimerkkejä työskentelystä funktiokutsujen kanssa.
FAQs
Does OpenAI use Azure? ›
With Azure OpenAI, customers get the security capabilities of Microsoft Azure while running the same models as OpenAI. Azure OpenAI offers private networking, regional availability, and responsible AI content filtering.
How is Microsoft related to OpenAI? ›It's now taking a leap forward, with Microsoft in talks to put $10 billion into this partnership. Microsoft, through OpenAI, is developing its Azure AI Supercomputer while enhancing its Azure Enterprise Platform and integrating OpenAI's models into its business and consumer products (GitHub, Office, Bing).
Is Azure AI certification worth it? ›A Certification in Microsoft Azure Fundamentals is valuable for those who want to acquire or prove foundational knowledge of cloud services and Azure functions. Benefits of earning an Azure Fundamentals Certification include: In-demand skills.
Is Azure AI worth it? ›Azure certifications are worth the effort in 2023. Microsoft's cloud platform is growing in popularity, and demand for Azure-certified professionals is high. Earning an Azure certification will demonstrate your expertise in this rapidly growing area and could lead to career growth opportunities.
Does Elon Musk own OpenAI? ›Elon Musk doesn't currently own any shares in OpenAI. However, he did at one point own a stake in the company, but he sold his stake to Microsoft in 2018. So if you were wondering whether Elon Musk is the owner of OpenAI, the answer is no.
How much is OpenAI worth? ›OpenAI ranks as No. 1 on Disruptor 50 list with $30 billion valuation and 200 million users.
Is OpenAI owned by Google? ›OpenAI is owned by a group of investors, including Microsoft, Khosla Ventures, Reid Hoffman, Reid Hoffman, and a few others. However, the exact ownership structure is not publicly announced, since OpenAI is privately owned. Some of the founders of OpenAI are part of the investors who own the company.
Which cloud does OpenAI use? ›OpenAI and ChatGPT use Microsoft Azure's cloud infrastructure to deliver the performance and scale necessary to run their artificial intelligence (AI) training and inference workloads.
What platform does OpenAI use? ›The company then distributed equity to its employees and partnered with Microsoft, announcing an investment package of $1 billion into the company. Since then, OpenAI systems have run on an Azure-based supercomputing platform from Microsoft.
What technology does OpenAI use? ›OpenAI technology is built on a foundation of neural networks, algorithms modeled after how the human brain processes information. These networks consist of interconnected nodes that simulate neurons, allowing the system to learn from large datasets and make predictions based on that data.
Does OpenAI use cloud computing? ›
OpenAI relies on Microsoft's Azure cloud infrastructure for its hefty compute needs. Microsoft and CoreWeave both declined to comment. The generative AI rush began late last year after OpenAI introduced ChatGPT to the public, demonstrating that AI can take human input and produce sophisticated responses.