Examples

Commands you can copy directly, covering the CLI, IR execution, conversion, tokenization, and profiling.

Environment check

uaii doctor
uaii doctor --load-plugins
uaii --config configs/uaii.toml --log-level debug doctor

Validate and inspect IR

uaii validate examples/ir/toy_mlp.uaii.json
uaii inspect examples/ir/toy_mlp.uaii.json
uaii graph examples/ir/toy_mlp.uaii.json --format text
uaii graph examples/ir/toy_mlp.uaii.json --format plan

Generate from Hugging Face or GGUF

# CLI defaults: streamed weights and automatic device selection
uaii generate --model ./hf-dir --prompt "hi" --preset laptop --backend auto
uaii generate --model model.gguf --prompt "hi" --kv-window 2048 --stream

# Pin the host and disable streaming
uaii generate --model model.gguf --prompt "hi" --backend cpu --preset none

Built-in demos

uaii run --demo toy_mlp
uaii run --demo tiny_block
uaii run --demo gguf
uaii run --demo safetensors
uaii run --demo moe
uaii run --demo parity
uaii run --demo optimize
uaii run --demo streaming
uaii run --demo profile
uaii run --demo quant --format int8

Execute hand-authored IR

uaii run examples/ir/toy_mlp.uaii.json \
  --weight-init ones \
  --input x=1,2,3,4 \
  --output y_prob

# Select a native GPU when this binary can drive one
uaii run examples/ir/toy_mlp.uaii.json \
  --backend auto --weight-init ones --input x=1,2,3,4 --output y_prob

# Name a GPU backend and run its math on the host
uaii run examples/ir/toy_mlp.uaii.json \
  --backend cuda --force-host-fallback \
  --weight-init ones --input x=1,2,3,4 --output y_prob

Convert models

uaii convert ./hf-dir -o model.uaii.json
uaii convert model.gguf -o model.uaii.json
uaii convert model.safetensors -o model.uaii.json
uaii convert model.onnx -o model.uaii.json

Tokenize

# Simple demo vocabulary
uaii tokenize encode hello world

# GPT-2 style BPE
uaii tokenize encode "hello" --bpe vocab.json --merges merges.txt

# SentencePiece, which requires UAII_WITH_SENTENCEPIECE
uaii tokenize encode "hello" --sp tokenizer.model

# From GGUF tokenizer metadata
uaii tokenize encode "hello" --gguf model.gguf

Profile and benchmark

uaii profile --demo --output uaii_profile.json
uaii benchmark --demo
uaii cache status
uaii cache clear

Python

import uaii

session = uaii.Session.from_path(
    "examples/ir/toy_mlp.uaii.json",
    weight_init="ones",
    profile=True,
    trace_path="uaii_py_profile.json",
)
session.set_tensor("x", [1.0, 2.0, 3.0, 4.0])
session.run()
print(session.get_tensor("y_prob"))
print(session.profile_summary())

C API

uaii_session_options opts;
uaii_session_options_init(&opts);
opts.struct_size = sizeof(opts);
opts.backend = "auto";  /* use "cpu" to pin the host */

uaii_session* s = NULL;
uaii_session_create("model.uaii.json", &opts, &s);
float x[] = {1, 2, 3, 4};
uaii_session_set_f32(s, "x", x, 4);
uaii_session_run(s);
uaii_session_destroy(s);