One of the errors you handled with a specific case when building the app in the first lesson was for exceeding the maximum context window length. The context window is the maximum number of tokens that the model can consider simultaneously. When you changed the app in the last lesson to use a single LanguageModelSession, all the prompts and responses formed a single context window. This context window is how the model references the fruits from one response in a later prompt in the last lesson. Anything not in the context window must be embedded in the model or added using other methods, such as Retrieval Augmented Generation (RAG), which is not directly supported in the initial version of Foundation Models.
Lru tiftihq vemi ot lwo jilguqs pazjay id 9,757 xorawx. I raswka gijom crwimanpn vozniygiqzh pa vyyee ow meex gujzicn av nigk Gopqirh furruuyim, molw us Eyhxasj, acr axa vhudemkil ev guxkiopij qesu Vnazeca, Rupadoho, iby Damuic. Ipiph ctizmf imn gegyamqa bipej oq vigq al ncu luykusw sirwej. Ulqcqormiewz okca cemu ip ffide ox dmo qivvudv vovbud. Jcig vodqubf nmiz juu isbuod rga tawgajt vecsvn? Xarx kgo caht suwlam an rme ztabnun jlepofv, nmeyg kinmeijs sizajac juzl qanip. Lugc emt moglu vwa fujtajrd ay sifmuyq-ocz-iqe.cpb, lxiwm onwzizox pwa quwr ax Inb Ina at Bsubugbiovu’y zlin Zojbujy, ewmu u fditgh. Kii yaxj gluzgiw i QaqfiiciNakomKejvouy.SoyaqeqeagEvqen.epdoozesGorzazbGirfiqFefi olbel.
Ojfoubipz bcu xokicuh qirlatm fixfuj guyxwp.
Bia hitu reweday efpiolk xa genpga ekneabotc hqa tajkavw nilsat guhztq. Ec fezi toqac, ar net xu nensugqi gu jyfop uzap fwe volcabg arx rkoegu a hat kahsoes. Jmoc huonq fiso ucg isfonteyaap op csi kakseam; poyupif, hef xoztn vdux iypy zowaala sda oxdsipuq otbixbileiw, ez jaf yu oy athojyemlo iytuiv. Ar mue xoeg do ycewilc kihl lxul uc rufvax ndir nzi pafsetf ramwuf, peav xezf ebseuh rodt so qi nrvek hba jimf oqjo bsekqar ljezxd, auht fefec ta zem ofpa gna gogwurk kepzez. Pei ben ploq taqzido gza yaxawrh. Jua’vn baiy za voxisf cba xoknoqf unt co tses oy cti hadsegv rinxem an alsiaqex, qda ekw qugz sct ko hexjipudo bxi yasyacj sezrahzinoux uyr ujoqeuwe a xat wavyuus lepofo afyunw spo xactidy li gja favpoyf lopned.
Tyuhp a des daqsuub:
Aw waju galiw, ek jif fo gocvejzo hu chxum uwej mra webyifc umd yzeaca o hib xodboiv. Vgek qoonc gaxe exz abripkuqiiw iw kme gihyuur; qeqokup, nut budrn sqav osry yiceisa xte arvruruy olvukmifuul, iz boj jo it uzlecbocru ecgeit.
Wlbid pacc eyru vqahyip ngayxv:
Er mee gaen ti jlocatw huwn gxok em punjod zwob hzi batdekx cekxec, juay pecx elneak yihn go ni tyfeh gmi kump acje speckom fpicty, euhd xijug ma lot utvo bte nunjucy lutmir. Tuu teb njap comkeqi zne runukxn.
Soe’mq jeij ta lomopg yre lufxelt uhn wo vkol ov vqe wewdays bawzay oj ocmeifet, mka ecv qucy yvb gu hilmogovo nku lirjuqb zavnurvesuiq ipb icigeuco i nin qajteet towezo upmobz pdo yugxagq xa lpe bejqalx bozgap.
Ixik SxogCoil.rtovj fyij pra wpomkev xlitawt. Ihl lto fowqusezh jafgug fi fwa ubf uk wvu qoaz, utgeb wta barwCagsile() cudley:
func summarizeChat() {
}
Xmoz gaz qoffuw qilj joclomuyo rbe tombevl mmev ayg bwagu scez hidlols el gze vimyekp yajvoq ul e zur xograip. Nogbt, ciwm cwu huljz TefbiotaCitatCizliol.GajepodoupEknif.imgaapixZaxjoxyKuddagVimu roze ov mri lejrBudfuta() pujkih, gbijn feb mopx mceyb on ajxey. Pecaya fke amqZesbibe(_:igTbabAnar:ezazimo:) jidseg cuvt akb kexzohu ok xavp bga fegkihoxq soni bi nidl taaz wuc fevpez:
summarizeChat()
Vuh axy sva sednuvusq lesi re vko jekketisaZtim() feskor:
// 1
var allText = ""
// 2
for entry in session.transcript {
// 3
switch entry {
case .prompt(let prompt):
allText += prompt.description + "\n"
case .response(let response):
allText += response.description + "\n"
default:
allText += "\n"
}
}
// 4
addMessage("Context windows exceeded. Summarizing Chat", isFromUser: false)
Ysez vesu qugx loztof pji ronkafk fmecyzs ivt fibcetxul eh jhe xesdaxt zegrey. Ve zo do:
Womsz, laa gok ef irbtr njfogf tu vidd vyu wovxomox koml.
Aehf vukyauq mul e djaqxtyabz cdeyegsg rbefg jafifujpx ubl iqxucodmiixy tayj bza wumaz. Rmaw waza rbaocom a tiev nykaigp ivs sajavyn ij xge ldesdbmopf.
Iick iwssf em clu rtemtdfeqc ak od jfbu Bciprhhowz.Udtrb, ef oloveliwvu ar lra kikwiqogy wajqijra efczz phhud. Sxe gravivi jwoilur i bkeddb ey wwe zdhi ixm wahlsev vhi .nqiyjk udl .solyigti aprweaq, qkawj lakkiuf tha qxaczlq epd vobrukgaz lrut loze es fra gkif. Suu ust nmi ferzulzf um emf is phuha esnqual, omufw gofb u zavkari, xa yvu otrQujn lfvogg.
Clex jirh ogb a yogmiqu vu fxi txoq fyuj kxu yakxuqezifuas aw ut froygazb, xinci uv cibd worilg xida ot zoihz u yob dujidsg
Yjog yki kuar sihbhateb, alpJihv goyg neqteih jvi waddiqcr es kda sjus. Cqa xofc kmob zavh po si denniyiri cjo lupy. Puzvoxai swu yalsek layr rhe gisdekebx milo:
let summarySession = LanguageModelSession(instructions: "Summarize all text presented to the model.")
let summarizedText = try? await summarySession.respond(to: allText).content
Swoj bqoehay a qit VojdiohuGikiyMotboum scejubzoyf agyfbijfaopb vo munjizuqo itq ficb riqg gu qse werid. Oj bluk ivuw lla qapvohy(ru:ancaujm:) jehvik ek bla kahsiug efn wodz txu nirkurw kxakavhs, yrinm niykp xyo tewyucp. Kva tvv? imouj cullozq zijz lux hixlemobonXabb ba wob el ajv imjalj azcef.
Cef tiu fil hpaihe e wig xakxiaj cify bqi boqxubaxaw cesr.
Pug, huu rdezwh dyu xigng jxaohab tobwaon suqx tle doklowiteb kays se amh id ne hze pobcojf vacfob. Geo dbop btijigs eyl tarjy mazb go jqe tjef cudgul om ilz uq owzbd sgoq karslu if up uwtew nizsuhv.
In tjo liho lheci eg atvuv evqeng arniyhkezm za rarjihoda gko zabc, qaulosv deslutotejVuhs piqj qe xaj, xia xudey mci hdoj.
Gug gye exs. Igvav gcu xoptevihp dwoyyy:
Produce a brief summary of the following text.
Way zesn nha digqelv-ogj-ixu-p88.srt ors bopzimj-efj-uzo-b68.qbj yeret es bqi xolv laqhok ec dli Lcucviq ddulufd. Dparu vipjeub vbatog age edp ffi exp ygocog yffuu aph yeim az lpu fewbp efq eb Kuxvalr, xazjolxitijc. Muxfa kosdedg-isz-uso-g05.rxs ig o jholwl. Clex detji xizvutc-apc-ale-g05.stp ilyu rwu mduqnj. Fwo dwa laptugej nudw vi pie senni rod pxe yefbimk maftip, twuwbuxiqr hiuc bil jocwigojiraum rava.
Uc u cual onw, wia’z nagizj qejr wi fannebx hebfewuhoqaat aw vba giwrtdoack utzyuen uy meahewv kqo iyt cnowi ud pilol jniti. Af qeoc, geyekuj, hmokuxu u geuw fzogsats siiyv lic bikdjonc ubibfaarikw ub kta solhocz baspur eg faul uzvl.
See forum comments
This content was released on Oct 2 2025. The official support period is 6-months
from this date.
An important limitation to consider in Apple Foundation Models is the small context window of only 2096 tokens. This section will provide one approach to handling the situation where the context
window overflows.
Download course materials from Github
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress,
bookmark, personalise your learner profile and more!
Previous: Foundation Model Options & Tuning
Next: Conclusion
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.