🚀 MiraiOS
The Future Runs Local
Framework Python enxuto para validar, inspecionar, executar e medir modelos ONNX em hardware local.
Instalação • Comandos • Entradas • Roadmap • Contribuição
🌐 Sobre
O MiraiOS é um projeto open-source do Projeto Hikari para simplificar operações essenciais de Edge AI:
- validar a estrutura de arquivos ONNX;
- inspecionar nomes, tipos e shapes de tensores;
- executar inferências numéricas ou com imagens;
- preparar múltiplas entradas com os tipos esperados pelo modelo;
- medir latência e vazão localmente.
Execute IA onde os dados são gerados.
Executar modelos localmente pode reduzir latência, preservar privacidade, permitir operação offline e diminuir a dependência de infraestrutura em nuvem.
🚧 Status do projeto
| Item | Estado |
|---|---|
| Projeto | Hikari |
| Fase | MVP |
| Versão do código | v0.5.1 |
| Distribuição | PyPI |
| Provider atual | ONNX Runtime CPU |
| Licença | MIT |
A v0.5.1 é uma versão de estabilização. A interface pública ainda pode evoluir durante o MVP, mas os comportamentos documentados são cobertos por testes automatizados em Python 3.10, 3.11, 3.12 e 3.13.
🏗️ Arquitetura
flowchart TD
CLI["Mirai CLI"]
INSPECT["Validação e inspeção"]
INPUTS["Preparação de tensores"]
RUNTIME["ONNX Runtime"]
HARDWARE["CPU local"]
CLI --> INSPECT
CLI --> INPUTS
INPUTS --> RUNTIME
RUNTIME --> HARDWARE
O pacote separa a CLI, validação, preparação de entradas, runtime e benchmark em módulos independentes e testáveis.
🧰 Mirai CLI
| Comando | Descrição |
|---|---|
mirai init |
Confirma que o ambiente do Projeto Hikari está pronto. |
mirai validate modelo.onnx |
Carrega o arquivo e executa onnx.checker. |
mirai info modelo.onnx |
Exibe entradas, saídas, shapes, tipos e nós. |
mirai run modelo.onnx --input 5 |
Executa uma inferência. |
mirai benchmark modelo.onnx |
Mede latência, mediana, P95 e IPS. |
🚀 Instalação
O MiraiOS requer Python 3.10 ou superior. Recomenda-se utilizar um ambiente virtual:
python -m venv .venv
Ative o ambiente no Linux ou macOS:
source .venv/bin/activate
No Windows PowerShell:
.venv\Scripts\Activate.ps1
Instale ou atualize pelo PyPI:
python -m pip install --upgrade miraios
Confirme a instalação:
mirai --version
⚡ Uso rápido
Validar de verdade um modelo
mirai validate seu_modelo.onnx
Além de verificar caminho e extensão, o comando carrega o protobuf ONNX e executa a validação estrutural oficial do formato.
Inspecionar entradas e saídas
mirai info seu_modelo.onnx
Executar uma entrada escalar
mirai run seu_modelo.onnx --input 5.0
O valor é convertido para o dtype do modelo e expandido para o shape fixo esperado. Arrays podem ser fornecidos como JSON:
mirai run seu_modelo.onnx --input "[[1, 2, 3]]"
Executar múltiplas entradas
Repita --input e identifique cada tensor pelo nome apresentado por
mirai info:
mirai run soma.onnx --input x=5 --input y=7
Valores posicionais também são aceitos na ordem das entradas do modelo:
mirai run soma.onnx --input 5 --input 7
Executar uma imagem
mirai run visao.onnx --input foto.jpg
O MiraiOS detecta automaticamente modelos NCHW e NHWC quando o shape não é ambíguo. Para escolher explicitamente:
mirai run visao.onnx --input foto.jpg --layout nchw
mirai run visao.onnx --input foto.jpg --layout nhwc
Imagens destinadas a tensores de ponto flutuante são convertidas para o
intervalo [0, 1]. Entradas uint8 preservam a escala de pixels.
Medir desempenho
mirai benchmark seu_modelo.onnx --runs 100 --warmup 5
O benchmark exclui o carregamento do modelo e informa:
- tempo total medido;
- latência média;
- mediana;
- percentil 95;
- inferências por segundo.
O comando aceita as mesmas opções --input e --layout do mirai run:
mirai benchmark visao.onnx \
--input foto.jpg \
--layout nchw \
--runs 100 \
--warmup 5
🧩 Entradas de modelo
| Recurso | v0.5.1 |
|---|---|
| Escalares numéricos | ✅ |
| Arrays JSON | ✅ |
| Dtype obtido do modelo | ✅ |
| Shapes fixos e dimensões dinâmicas | ✅ |
| Entradas nomeadas | ✅ |
| Múltiplas entradas | ✅ |
| Imagens NCHW | ✅ |
| Imagens NHWC | ✅ |
Imagens float e uint8 |
✅ |
| Batch de múltiplas imagens | Ainda não |
| Normalização específica por modelo | Ainda não |
| Providers CUDA e DirectML | Roadmap |
O pré-processamento de visão da v0.5.1 é propositalmente básico. Modelos que exigem mean/std, letterbox, BGR ou tokenização devem receber tensores já preparados ou aguardar os perfis de pré-processamento previstos no roadmap.
🗺️ Roadmap
Projeto Hikari — estabilização v0.5.1
- Validar a estrutura real com
onnx.checker. - Separar CLI, inspeção, entradas, runtime e benchmark.
- Respeitar shapes e tipos informados pelo modelo.
- Suportar entradas nomeadas e múltiplas entradas.
- Corrigir imagens NCHW, NHWC, float e
uint8. - Adicionar warm-up, mediana e P95 ao benchmark.
- Adicionar testes automatizados.
- Adicionar CI para Python 3.10–3.13.
Próximas versões
- Selecionar providers CUDA e DirectML.
- Exportar relatórios de benchmark em JSON.
- Detectar automaticamente o hardware local.
- Criar perfis configuráveis de pré-processamento.
- Ampliar e validar compatibilidade com ARM.
- Adicionar suporte experimental a RISC-V.
📁 Estrutura do projeto
MiraiOS/
├── .github/workflows/ci.yml
├── examples/
│ └── dummy_model.onnx
├── scripts/
│ └── create_dummy_model.py
├── src/mirai/
│ ├── __init__.py
│ ├── benchmark.py
│ ├── cli.py
│ ├── errors.py
│ ├── inputs.py
│ ├── inspect.py
│ ├── main.py
│ └── runtime.py
├── tests/
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── pyproject.toml
└── README.md
🧪 Desenvolvimento e contribuição
Clone o repositório e instale as dependências de desenvolvimento:
git clone https://github.com/start6202783-dotcom/MiraiOS.git
cd MiraiOS
python -m venv .venv
python -m pip install --editable ".[dev]"
Execute a suíte:
python -m pytest
As orientações completas estão em CONTRIBUTING.md.
📄 Licença
Distribuído sob a licença MIT. Consulte LICENSE.
🌅 Projeto Hikari
Hikari é a primeira etapa do MiraiOS: um MVP para validar os fundamentos de uma camada portátil entre modelos ONNX e hardware local.
Pequeno no runtime. Grande no futuro.
MiraiOS — The Future Runs Local
Feito para levar a Inteligência Artificial além da nuvem. 🚀
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file miraios-0.5.1.tar.gz.
File metadata
- Download URL: miraios-0.5.1.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e674a87e7ef3e73d1a68597b780e4ed62c84ddfca5288da8ef537a9a6236a3af
|
|
| MD5 |
9910c42265f67860ce13737f55dd6149
|
|
| BLAKE2b-256 |
6b57420620a4b9b855630fe3c3f3257316b0542fc095dd7a4d1977b91c0508d0
|
File details
Details for the file miraios-0.5.1-py3-none-any.whl.
File metadata
- Download URL: miraios-0.5.1-py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c2402df1aed8ab540ea1933fbb0e2016f5f0dd3cabc7d86b6e360096c0045cc
|
|
| MD5 |
733f775e925390fc148f55bbdc83c6d2
|
|
| BLAKE2b-256 |
be6c560037b02100586ed541069f62e7cefba64419e76163aad330047094c353
|