Windows App SDK 2.3.1 pievieno API, kas piespiež valodas modeli atbildēt tikai pēc iepriekš noteiktas JSON shēmas. Metode LanguageModel.GenerateStructuredJsonResponseAsync liek uz ierīces darbināmajam modelim Phi Silica atgriezt derīgu JSON, kas atbilst izstrādātāja padotajai shēmai. Lietotnei vairs nav jāanalizē brīvs teksts un jācer, ka modelis pats ievēros pareizo formātu.
Microsoft laidienu izlaida 16. jūlijā kā stabilo versiju. Papildus JSON API tajā ir jauns veids, kā vadīt XAML izmaiņas, kompozīcijas dzinis ar operētājsistēmas atbalstu un vairāki veiktspējas uzlabojumi.
Kāpēc svarīga strukturēta izvade
Valodas modeļa atbilde pēc noklusējuma ir brīvs teksts. Ja lietotne no tā vēlas iegūt datus, tai jāraksta parsētājs, kas cer uz konkrētu formātu. Modelis to periodiski neievēro. Tad lietotne saņem atbildi, ko nespēj nolasīt. Strukturēta izvade šo problēmu novērš pie saknes: shēma nosaka laukus un to tipus, bet modelis atgriež tikai tai atbilstošu JSON.
Jaunais API strādā ar Phi Silica, mazo valodas modeli, ko Microsoft darbina uz Copilot+ datoru NPU procesora. Tas nozīmē, ka pieprasījums paliek uz ierīces un neprasa savienojumu ar mākoni. Izstrādātājam tas ļauj būvēt funkcijas, kuras iepriekš prasīja ārēju modeli, piemēram, teksta klasifikāciju vai datu izvilkšanu no formas, tieši lietotnē.
Praktisks piemērs ir kvīts vai rēķina apstrāde. Lietotne var padot modelim attēla tekstu un shēmu ar laukiem datums, summa un pārdevējs. Atbildē modelis atgriež tieši šos laukus JSON formātā, ko lietotne uzreiz saglabā datubāzē. Bez shēmas modelis varētu atbildēt ar garu teikumu, no kura vajadzīgos skaitļus vēl jāizķer ar regulārajām izteiksmēm.
Shēma nosaka atbildes formu, tāpēc lietotnei vairs nav jāraksta trausls teksta parsētājs. Modelis atgriež datus jau gatavā struktūrā.
Darbs uz ierīces dod trīs praktiskus ieguvumus. Dati nepamet datoru, tāpēc funkciju var izmantot arī tad, kad interneta nav. Par katru pieprasījumu nav jāmaksā mākoņa pakalpojumam. Tāpat lietotne nav atkarīga no ārēja servera pieejamības. Papildus JSON izvadei Phi Silica piedāvā gatavas teksta prasmes: kopsavilkuma veidošanu, pārrakstīšanu un teksta pārvēršanu tabulā. Šīs prasmes izsauc ar atsevišķām klasēm, tāpēc izstrādātājam nav pašam jāraksta uzvednes.
XAML izmaiņu vadība un veiktspēja
Otrs jaunums ir XamlOptionalChanges API. Tas ļauj lietotnei pieņemt izvēles saderības laušanas izmaiņas pirms XAML inicializācijas, nevis gaidīt, kamēr tās kļūst obligātas nākamajā lielajā versijā. Saistīti mainās arī ģenerētā koda uzvedība: konstante DISABLE_XAML_GENERATED_MAIN tagad ģenerēto main metodi pārsauc, nevis izmet, tāpēc pielāgota realizācija var izsaukt noklusējuma variantu.
Veiktspējas pusē laidiens satur plašu startēšanas, stila un resursu meklēšanas optimizāciju kopu. Divi jauni XamlChangeIds ar nosaukumiem DefaultStyleOptimizations un OptimizeApplyStyles veido vieglāku vizuālo koku un ātrāku resursu atrašanu. Šīs izmaiņas ir izvēles, tāpēc esošās lietotnes tās var ieslēgt pakāpeniski. Ātrāka startēšana un vieglāks vizuālais koks noder katrai WinUI 3 lietotnei, jo tieši palaišanas laiks visbiežāk nosaka, cik ātra lietotne šķiet lietotājam. Optimizācijas neprasa pārrakstīt saskarni, pietiek ar attiecīgā XamlChangeId ieslēgšanu.
Kompozīcijas dzinis un mašīnmācīšanās
Laidiens ievieš CompositionEngine API kā Limited Access Feature, kuru pirms lietošanas jāpieprasa atsevišķi ar atslēgas žetonu no Microsoft. Tas ļauj lietotnei kompozīcijas API darbināt caur operētājsistēmas dzini, nevis pašai uzturēt visu renderēšanas ķēdi. Pagaidām funkcija ir eksperimentāla un domāta šauram lietojumu lokam, tāpēc lielākā daļa izstrādātāju to sākumā neizmantos. Tā pati piekļuves prasība ar žetonu attiecas arī uz Phi Silica API.
Windows ML iegūst atbalstu ARM64EC arhitektūrai, kā arī labojumu izpildes nodrošinātāju uzskaitījumā. Video Super Resolution saņem NPU noteikšanas labojumus un pievieno atbalstu darbam uz centrālā procesora, ja NPU nav pieejams. Kopā ar šīm izmaiņām laidiens aizver sešas kļūdas, tostarp avārijas fona uzdevumos un atmiņas noplūdi uznirstošajos logos.
Kam tas domāts un kā to iegūt
Strukturētās izvades API būs noderīgs izstrādātājiem, kuri veido lietotnes ar iebūvētu AI, bet nevēlas sūtīt datus uz mākoni. Phi Silica ātrāk strādā uz Copilot+ datoru NPU, bet darbojas arī uz parastiem Windows 11 datoriem ar atbalstītu videokarti, piemēram, NVIDIA RTX 30 sērijas vai jaunāku. Pārējie laidiena uzlabojumi, tostarp XAML veiktspēja un kļūdu labojumi, attiecas uz visām WinUI 3 lietotnēm neatkarīgi no aparatūras.
Vienlaikus Microsoft ir izziņojis, ka Phi Silica tiks nomainīts ar jaunu uz ierīces darbināmu modeli Aion Instruct. Pēc plāna Aion Instruct sāks nonākt pie Windows Insider ierīcēm oktobrī, bet novembrī tas aizstās Phi Silica arī uz parastajām ierīcēm. Kods, kas rakstīts pret LanguageModel API, turpinās strādāt, jo maināms ir modelis zem tā, nevis pats API.
Windows App SDK 2.3.1 jau ir pieejams caur NuGet un Visual Studio paplašinājumu. Microsoft izstrādātāju lapā to iesaka kā ieteicamo stabilo versiju jauniem projektiem. Pilns izmaiņu saraksts ar API parakstiem ir GitHub laidiena lapā.
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.