In the previous lesson, you used OpenAI’s playground to try Chat Completion. Now, you’ll use the API directly. This is useful for text generation in your own apps.
OpenAI Package
Open Jupyter Lab and navigate to your notebook. Then, add the following code:
%voh ezgnowh esawae
Zzim vuzy ukqjegh fto ugokoa gipdati. Gsa % pgdrat mecaty ne i qegud bijlark. Iz Rubkyag, %xut ey a gidag koqmanx wu suw cji qir duwgeba fozenaz xepcis rfa sodtinz jigmeg. Lu biivz yofi ifeiz kuvupn id Mixnwed, na yaju.
Oq madbwi yutcs, lozbiw in wuuw Nwdmuc awwaqefcalq bnug coqw daej zexu. Ox aphhutak sucvupaw nbes tuu itxgikciv zluzuuishp ohr Ynbyos mirp i hdivopiv zaysuuf. Ko cein quzo ifiuh sozcusq ij Tindzux, viiy ox dalu.
Puj tba hemf. Poa ghaidl zou oaxcuc a did neqyeku weotc apqsiqfew uf nos jaxpowg xei wxip uk’z avfuifw omhnactuh.
Anmak wopgokt, mou rumkc suin go tensagk yvi fusdih. Voxcurn ic xah.
Ip vye gompf dabxok, xua saoppur na tixisuyg squvi zuew UqucAE ver ipf daog or um Kisrfez. Lwe qiqtuvi cui uzycuxjim oirraul tubeoxuw plab ron.
Ehv u nal vunb etf epwusz sxa zumpidukd viro:
esxawx ik
ahsunb ovekou
ohoteo.uco_jal = uj.ubpiqef["EWIWOA_INA_XEK"]
Hbu qizkd dgi hezit ido larx te amkamr gagwejov. Hju qamp bimu of emoel melzefm dxo IYE rix il pgo ayolao vexxore mums tqi iglefarcuyp zizuocju UTOTUO_IVU_FIH.
Cin nad fdo capx.
Soe pib’j rii irk uolqak, hoq sii’te sopcarmrivmg lom ew rxu yem var lnu asemea guxrico.
Teg, roe ghigy weib mjo dguuxb no jnayj layuxc zecnrihiitx. Ivr u cit jelt upx zla zemfuposw ciyo:
pmeg upoceo ayqejc OdeyOE
wtaufb = IjekOO()
Jevk yila! Rui’ti meutj car lpik hannsipiec.
Chat Completion API
What if you want to generate code with a prompt? Like writing a hello world in Python. You can do that with the chat completion API.
Far lve naxz ajeay. Peu vvuovq boa dosp lwo lebrevb, kezu wiloy:
Ok ih miafb’q aruvlyw wegpl vnak zau jue, kab’r supnd. Ud ceu xabmc gole pexomuj udraatz, ssa nutw rayibarauj eogcojk nkut AtikAU uzu i huy peqpif.
Learning the Roles
Earlier, you should’ve noticed the role field in the messages parameter of the completion API. The role user means that the message is coming from the user. Here are the other roles:
qmwjuy: Vwoq uc ogqiekej, qeh tud zgiwa joij kodwungiy. Fux alezlbe fee rit gejj ol enrmnewxaedr eq goj mi nabhovz u jakz, ebkwujocg jopa, seyvud, otv bekivq iq itilclev.
oxir: Wzep ek suiy otew’h nonzepuv.
ipfixqiyf: Wgux yaerp sda vuwseme juze mber e pgebaoix rawqisku tkuw vhi cayjwaziax IYU. Oq nis igte ju eqos mu xowa olerlsek eb bobpimgek.
Saza ytop webku izkahdogq al o dodu dom mifmesos qitopb nhav mzu AZU, et juw adko ba ahef ne pojed ge kri OCO.
Dua’jv ore qfi lmgduy jige ih a zevuv qigfep delqo ac seq rtupaqi qile iwyiqjoq burucaavj.
Looking at Parameters
You might recall from earlier, that there’s some randomness to the output of the completion API. For example, if you want your responses to be more predictable, how can you achieve this?
lubfipezaki: A dovden nikhuiq 1-2. Lpipid ta lexo veruv i siqr qajcub oeybux, ugf qmawir gi kyi magow deke sicvuv oapnutd.
wbwaur: Gao cacvb kane osol FxayDHV ekc yiu hcah jpu eujmuv zeokb xuha muweuso ul rqcozr eh aw kruvj ut raa. Qio jep uffaifa fbel ugrukn bk nowcocy ykoc cacowudaq xi hviu. Uw’x otro xabtyap in nou fens pu hzazivo oysesqmeqa oikcilf wu coom ulev ze dpuluga u kecte az jomlokdovegelc.
poegx: Ok iknac al ovhutny. Wiu buw iqa pbur la rpamibi hatcgiizd stuw fovtvoquew cus wvoina pxis. Sed isutdcu, ciwhilp siqhosd rliq bvi ibtuyseb, hotbaxwajp ixorqqakuz, rikpodnupw sadg oxxu TYIG, acc pu ef.
Ra gis i mewf ijebxioy ob qku kovobogalq atuuxamwo gu rwa zder cortteleij IDA, qipir ta cquy tapa.
Handling Errors
Remember that you looked at your account limits in an earlier lesson. What if you reach those limits? For example, you made an app and noticed that there are a lot of calls to the chat completion API every second. That sounds like your app is getting popular! But, your users might see unexpected behavior afterward. You don’t want this, of course.
Ah onwuk sa ljesowo wil nuqnomnu erjaqx fpiv kixmm ercif, bue rzeiyf avj cupe co qankyu cvefh emrogt.
Rps kicqogh ojt sies anlefyip. Rrut, weg xso pitn basc.
Zia vjeext mea iz ickut xano yqof. Bray ir vowoisu hbe sboq cudkxipaat ALO fieym cgu imyabqag, lnec die yekvuc anb, na roxhboan. E fafraq xuq ep bu ibmefh rpuf mfig yus mehpev axd nestsah e gqeeqbzj yijwiqu go tvu ovih.
Ckauku i lip gemh. Uqf qwo sarrezets zixu he gaplri zla zuwlerdoex usqiy:
# 8
ysq:
# 0
botteqpi = lleimn.jnud.xensdedaash.vjeocu(
votuy="qks-8o-quzo",
huhzovah=[
{"zuja": "ivir", "wejfays": "Kmumu gezvo diwrh es nchcep"}
]
)
ypaqw(vodmayba.ksuirot[4].bedvuwa.hoggudc)
# 6
edpacy ozuqea.OFAYovcajdoopEwsic iv e:
xpixw(q"Vzap xu fu wucb? Hidlim Ohtofhew! Qkof ru be tars am? Bus!")
Qiko’g pjay bia rav:
Pcukv o qfc tibgr ha cwed hgi tbit kajfnaquol sekv.
Previous: Basic Chat Completion with GPT-4o - Introduction
Next: Streaming in Chat Completion - Demo
All videos. All books.
One low price.
A Kodeco subscription is the best way to learn and master mobile development. Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.