[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:uzu":3},"\u003Cp align=\"center\">\n  \u003Cpicture>\n    \u003Cimg alt=\"Mirai\" src=\"https:\u002F\u002Fartifacts.trymirai.com\u002Fsocial\u002Fgithub\u002Fuzu-header.jpg\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fp>\u003Cp>\u003Ca href=\"https:\u002F\u002Fdiscord.com\u002Finvite\u002Ftrymirai\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1377764166764462120?label=Discord&amp;color=brightgreen\" alt=\"Discord\" \u002F>\u003C\u002Fa> \u003Ca href=\"mailto:contact@getmirai.co?subject=Interested%20in%20Mirai\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSend-Email-brightgreen\" alt=\"Contact us\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fdocs.trymirai.com\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRead-Docs-brightgreen\" alt=\"Read docs\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftrymirai\u002Fuzu\u002Fblob\u002FHEAD\u002FLICENSE\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-brightgreen\" alt=\"License\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftrymirai\u002Fuzu\u002Factions\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Ftrymirai\u002Fuzu\u002Factions\u002Fworkflows\u002Ftests.yml\u002Fbadge.svg\" alt=\"Build\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftrymirai\u002Fuzu\u002Fblob\u002FHEAD\u002Fcrates\u002Flegacy\u002Fuzu\u002Fbindings\u002Fpython\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-orange\" alt=\"Python\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fuzu\u002F\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fuzu?color=orange&amp;label=Package&amp;v=0.6.17\" alt=\"Package\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fuzu\u002F\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fuzu?color=orange&amp;label=Python&amp;v=0.6.17\" alt=\"Python\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftrymirai\u002Fuzu\u002Fblob\u002FHEAD\u002Fcrates\u002Flegacy\u002Fuzu\u002Fbindings\u002Ftypescript\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-yellow\" alt=\"TypeScript\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@trymirai\u002Fuzu\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@trymirai\u002Fuzu?color=yellow&amp;label=Package&amp;v=0.6.17\" alt=\"Package\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@trymirai\u002Fuzu\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002F@trymirai\u002Fuzu?color=yellow&amp;label=Downloads&amp;v=0.6.17\" alt=\"Downloads\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftrymirai\u002Fuzu\u002Fblob\u002FHEAD\u002Fcrates\u002Flegacy\u002Fuzu\u002Fbindings\u002Fswift\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSwift-blue\" alt=\"Swift\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftrymirai\u002Fuzu\u002Fblob\u002FHEAD\u002FPackage.swift\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSPM-compatible-blue\" alt=\"SPM\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftrymirai\u002Fuzu\u002Fblob\u002FHEAD\u002FPackage.swift\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPlatforms-iOS%20%7C%20macOS%20%7C%20Mac%20Catalyst-blue\" alt=\"Platforms\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fswift.org\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSwift-5.9-blue\" alt=\"Swift\" \u002F>\u003C\u002Fa> \u003C\u002Fp>\n\u003Ch1>uzu\u003C\u002Fh1>\n\u003Cp>A high-performance inference engine for AI models. It allows you to deploy AI directly in your app with \u003Cstrong>zero latency\u003C\u002Fstrong>, \u003Cstrong>full data privacy\u003C\u002Fstrong>, and \u003Cstrong>no inference costs\u003C\u002Fstrong>. Key features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Simple, high-level API\u003C\u002Fli>\n\u003Cli>Unified model configurations, making it easy to add support for new models\u003C\u002Fli>\n\u003Cli>Traceable computations to ensure correctness against the source-of-truth implementation\u003C\u002Fli>\n\u003Cli>Utilizes unified memory on Apple devices\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftrymirai.com\u002Flocal-models\" rel=\"nofollow ugc noopener\">Broad model support\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Quick Start\u003C\u002Fh2>\n\u003Cdetails>\n\u003Csummary>Rust\u003C\u002Fsummary>\n\u003Cbr \u002F>\u003Cp>Add the dependency:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-toml\">[dependencies]\nuzu = { git = \"https:\u002F\u002Fgithub.com\u002Ftrymirai\u002Fuzu\", branch = \"main\", package = \"uzu\" }\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Run the code below:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-rust\">use std::io::{self, Write};\n\nuse uzu::{\n    engine::{Engine, EngineConfig},\n    types::session::chat::{ChatConfig, ChatMessage, ChatReplyConfig},\n};\n\n#[tokio::main]\nasync fn main() -&gt; Result&lt;(), Box&lt;dyn std::error::Error&gt;&gt; {\n    let engine_config = EngineConfig::default();\n    let engine = Engine::new(engine_config).await?;\n\n    let model = engine.model(\"alibaba:qwen3.5:0.8b:mirai:mirai-m:4\".to_string()).await?.ok_or(\"Model not found\")?;\n    let downloader = engine.download(&amp;model).await?;\n    while let Some(update) = downloader.next().await {\n        print!(\"\\r\\u{001B}[2KDownload progress: {:.2}%\", update.progress() * 100.0);\n        io::stdout().flush()?;\n    }\n    println!();\n\n    let session = engine.chat(model, ChatConfig::default()).await?;\n\n    let messages = vec![\n        ChatMessage::system().with_text(\"You are a helpful assistant\".to_string()),\n        ChatMessage::user().with_text(\"Tell me a short, funny story about a robot\".to_string()),\n    ];\n\n    let replies = session.reply(messages, ChatReplyConfig::default()).await?;\n    if let Some(reply) = replies.last() {\n        println!(\"Reasoning: {}\", reply.message.reasoning().unwrap_or_default());\n        println!(\"Text: {}\", reply.message.text().unwrap_or_default());\n    }\n\n    Ok(())\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fdetails>\u003Cdetails>\n\u003Csummary>Python\u003C\u002Fsummary>\n\u003Cbr \u002F>\u003Cp>Add the dependency:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">uv add uzu==0.6.17\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Run the code below:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-python\">import asyncio\n\nfrom\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fdetails>",1793926100106]