{"id":108413,"date":"2023-05-08T12:48:42","date_gmt":"2023-05-08T10:48:43","guid":{"rendered":"https:\/\/prohoster.info\/?p=108413"},"modified":"2023-05-08T16:10:08","modified_gmt":"2023-05-08T14:10:08","slug":"sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo","title":{"rendered":"LLVM looja arendab uut programmeerimiskeelt Mojo","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Chris Lattner, LLVMi asutaja ja peaarhitekt ning programmeerimiskeele Swift looja, koos Tim Davise, endise Google'i AI-projektide juhi, nagu Tensorflow ja JAX, esitlesid uut programmeerimiskeelt Mojo, mis \u00fchendab uurimisarenduse ja kiire protot\u00fc\u00fcpimise lihtsuse k\u00f5rge j\u00f5udlusega l\u00f5ppproduktide loomisv\u00f5imega. Esimest saavutatakse Python'i keele tuttava s\u00fcntaksi kasutamise kaudu, teist aga masinkoodi kompileerimise, m\u00e4lu ohutu t\u00f6\u00f6 mehhanismide ja arvutuskiirendamise vahendite rakendamise kaudu.    <\/p>\n<p>Projekt keskendub masin\u00f5ppe arendusele, kuid esitleb ennast \u00fcldotstarbelise keelena, mis laiendab Python keele v\u00f5imekusi s\u00fcsteemse programmeerimise abil ja sobib laiale probleemide ringile. N\u00e4iteks on keel rakendatav sellistes valdkondades nagu k\u00f5rge j\u00f5udlusega arvutamine, andmete t\u00f6\u00f6tlemine ja konverteerimine. Huvi\u00e4ratav omadus Mojo keeles on v\u00f5imalus kasutada emoji s\u00fcmbolit &#171;&#128293;&#187; failide laiendina (n\u00e4iteks &#171;helloworld.&#128293;&#187;), lisaks tekstilisele laiendile &#171;.mojo&#187;.       <\/p>\n<p>Praegu on keel intensiivse arenduse faasis ning testimiseks on saadaval ainult veebiliides. Iseseisvad versioonid kohalikele s\u00fcsteemidele lubatakse avaldada hiljem, p\u00e4rast tagasiside saamist interaktiivse veebikeskkonna toimimise kohta. Kompilaatori, JIT'i ja teiste projekti seotud t\u00f6\u00f6de l\u00e4htekoodid plaanitakse avada p\u00e4rast sisemise arhiitektuuri projekteerimise l\u00f5petamist (t\u00f6\u00f6paberiku arenduse mudel meenutab LLVMi, Clangi ja Swifti arenduse algfaasi). Kuna Mojo s\u00fcntaks p\u00f5hineb Python'il ja t\u00fc\u00fcbimudel on C\/C+-iga sarnane, on tulevikus plaanis v\u00e4lja t\u00f6\u00f6tada t\u00f6\u00f6riistad, mis lihtsustavad olemasolevate C\/C++ ja Python'is kirjutatud projektide t\u00f5lkimist Mojo'sse ning h\u00fcbriidprojektide, mis kombineerivad koodi Python'is ja Mojo's, arendamist.        <\/p>\n<p>Projekt on suunatud s\u00fcsteemi riistvaraliste ressursside kaasamisele heterogeensetes s\u00fcsteemides arvutuste teostamiseks. N\u00e4iteks v\u00f5ivad Mojo keeles rakenduste t\u00e4itmiseks ja arvutuste paralleelseks jagamiseks kasutada GPU-sid, spetsialiseeritud kiirendajaid masin\u00f5ppe jaoks ja vektorpinkide protsessorite k\u00e4ske (SIMD). Eraldi Python'i alakeele arendamise p\u00f5hjuseks, selle asemel et optimeerida olemasolevat CPython'i, on v\u00e4lja toodud fookus kompileerimisele, s\u00fcsteemse programmeerimise v\u00f5imaluste integreerimisele ja t\u00e4iesti erineva sisemise arhitektuuri kasutamisele, mis v\u00f5imaldab koodi t\u00f6\u00f6delda GPU-del ja erinevatel riistvarakiirenditel. Samuti kavatsevad Mojo arendajad v\u00f5imalikult palju j\u00e4rgida CPython'i \u00fchilduvust.            <\/p>\n<p>Mojo't saab kasutada nii t\u00f5lgendamisre\u017eiimis JIT-i abil kui ka t\u00e4itmistfailide kompileerimiseks (AOT, ahead-of-time). Kompilaatorisse on integreeritud kaasaegsed automaatse optimeerimise, vahem\u00e4lu ja jaotatud kompileerimise tehnoloogiad. Mojo keeles skriptid muudetakse madala taseme vahe-koodiks MLIR (Multi-Level Intermediate Representation), mille arendab LLVM projekt ja mis pakub t\u00e4iendavaid optimeerimisv\u00f5imalusi andmevoo graafide t\u00f6\u00f6tlemiseks. Kompilaator v\u00f5imaldab kasutada masinkoodi genereerimiseks erinevaid backende, mis toetavad MLIR-i.        <\/p>\n<p>Lisariistvaramehhanismide kaasamine arvutuste kiirendamiseks v\u00f5imaldab saavutada j\u00f5udlust, mis intensiivsete arvutuste puhul \u00fcletab C\/C++ rakenduste omasid. N\u00e4iteks Mandelbroti hulga genereerimiseks m\u00f5eldud rakenduse testimisel oli Mojo keeles kompileeritud rakendus AWS (r7iz.metal-16xl) keskkonnas 6 korda kiirem kui C++ rakenduse teostus (0,03 sek. v\u00f5rreldes 0,20 sek.) ning 35 000 korda kiirem kui Python'i rakendus, kasutades standardset CPython 3.10.9 (0,03 sek. v\u00f5rreldes 1027 sek.) ja 1500 korda kiirem kui PYPY kasutamisel (0,03 sek. v\u00f5rreldes 46,1 sek.).    <\/p>\n<p>Masin\u00f5ppe probleemide lahendamise efektiivsust hindades osutus AI-stack Modular Inference Engine, mis on kirjutatud Mojo keeles, v\u00f5rreldes TensorFlow raamatukogul p\u00f5hineva lahendusega, Intel protsessoriga s\u00fcsteemis 3 korda kiirem keelemodelleerimise t\u00f6\u00f6tlemisel, 6.4 korda kiirem soovituste genereerimise mudeli t\u00e4itmisel ja 2.1 korda kiirem visuaalse teabe t\u00f6\u00f6tlemise mudelitega t\u00f6\u00f6tamisel. AMD protsessorite kasutamisel saavutas Mojo vastavalt 3.2, 5 ja 2.2 korda paremad tulemused, samas kui ARM protsessorite kasutamisel olid tulemused 5.3, 7.5 ja 1.7 korda, v\u00f5rreldes. PyTorchi lahendus j\u00e4i Mojo-st maha 1.4, 1.1 ja 1.5 korda Intel CPU-s, 2.1, 1.2 ja 1.5 korda AMD CPU-s ning 4, 4.3 ja 1.3 korda ARM CPU-s.      <center><img decoding=\"async\" alt=\"LLVM looja arendab uut programmeerimiskeelt Mojo\" src=\"\/wp-content\/uploads\/2023\/05\/df2598980ce4ed179ec3042d500235db.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>          <\/p>\n<p>Keele toetab staatiline t\u00fc\u00fcpide kontroll ja t\u00f6\u00f6riistad m\u00e4lu madalal tasemel turvaliseks t\u00f6\u00f6ks, mis meenutab Rust keele v\u00f5imalusi, n\u00e4iteks viidete eluea j\u00e4lgimine ja muutujate laenamise kontroll (borrow checker). Lisaks m\u00e4lu turvalisele t\u00f6\u00f6tlemisele on keeles olemas ka madala taseme t\u00f6\u00f6v\u00f5imalused, n\u00e4iteks otse m\u00e4lu k\u00e4sitlemine unsafe re\u017eiimis kasutades Pointer t\u00fc\u00fcpi, \u00fcksikute SIMD-k\u00e4skude kutsumine v\u00f5i juurdep\u00e4\u00e4s riistvaralistele t\u00e4iendustele, nagu TensorCores ja AMX.    <center><img decoding=\"async\" alt=\"LLVM looja arendab uut programmeerimiskeelt Mojo\" src=\"\/wp-content\/uploads\/2023\/05\/000b92c5bbb54eec64649b30a434be6d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>Klassikalise ja optimeeritud Python koodi eristamise lihtsustamiseks on ettepanek kasutada eraldi m\u00e4rks\u00f5na &#171;fn&#187; funktsioonide jaoks, millel on t\u00fc\u00fcbid kindlaks m\u00e4\u00e4ratud k\u00f5ikide muutujate jaoks, asemele &#171;def&#187;. Sarnaselt saab klasside puhul, kui on vajalik staatiline andmete pakendamine m\u00e4lu kompilatsiooni ajal (nagu C-s), kasutada &#171;struct&#187; t\u00fc\u00fcpi &#171;class&#187; asemel. Samuti on v\u00f5imalik lihtsalt importida mooduleid C\/C++ keeltes, n\u00e4iteks funktsiooni cos importimiseks math raamatukogust saab kasutada &#171;from &#171;math.h&#187; import cos&#187;.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59094\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0440\u0438\u0441 \u041b\u0430\u0442\u043d\u0435\u0440 (Chris Lattner), \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 LLVM, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift, \u0438 \u0422\u0438\u043c \u0414\u044d\u0432\u0438\u0441 (Tim Davis), \u0431\u044b\u0432\u0448\u0438\u0439 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Google, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Tensorflow \u0438 JAX, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Mojo, \u0441\u043e\u0447\u0435\u0442\u0430\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u043a \u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432 \u0441 \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043b\u044f \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432. \u041f\u0435\u0440\u0432\u043e\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":108414,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-108413","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0440\u0438\u0441 \u041b\u0430\u0442\u043d\u0435\u0440 (Chris Lattner), \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 LLVM, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift, \u0438 \u0422\u0438\u043c \u0414\u044d\u0432\u0438\u0441 (Tim Davis), \u0431\u044b\u0432\u0448\u0438\u0439 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Google, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Tensorflow \u0438 JAX.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c LLVM \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Mojo | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0440\u0438\u0441 \u041b\u0430\u0442\u043d\u0435\u0440 (Chris Lattner), \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 LLVM, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift, \u0438 \u0422\u0438\u043c \u0414\u044d\u0432\u0438\u0441 (Tim Davis), \u0431\u044b\u0432\u0448\u0438\u0439 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Google, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Tensorflow \u0438 JAX.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-05-08T10:48:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-05-08T14:10:08+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47LLVM looja arendab uut programmeerimiskeelt Mojo | ProHoster","description":"Chris Lattner, LLVM asutaja ja juhtiv arhitekt ning programmeerimiskeele Swift looja, ja Tim Davis, endine Google'i AI-projektide juht, nagu TensorFlow ja JAX.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c LLVM \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Mojo | ProHoster","og:description":"\u041a\u0440\u0438\u0441 \u041b\u0430\u0442\u043d\u0435\u0440 (Chris Lattner), \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 LLVM, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift, \u0438 \u0422\u0438\u043c \u0414\u044d\u0432\u0438\u0441 (Tim Davis), \u0431\u044b\u0432\u0448\u0438\u0439 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Google, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Tensorflow \u0438 JAX.","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2023-05-08T10:48:43+00:00","article:modified_time":"2023-05-08T14:10:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/108413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=108413"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/108413\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/108414"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=108413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=108413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=108413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}