Instructions to use Atomic-Germ/Ornith-1.0-9B-NPU2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Atomic-Germ/Ornith-1.0-9B-NPU2 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="Atomic-Germ/Ornith-1.0-9B-NPU2") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForMultimodalLM tokenizer = AutoTokenizer.from_pretrained("Atomic-Germ/Ornith-1.0-9B-NPU2") model = AutoModelForMultimodalLM.from_pretrained("Atomic-Germ/Ornith-1.0-9B-NPU2", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Atomic-Germ/Ornith-1.0-9B-NPU2 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Atomic-Germ/Ornith-1.0-9B-NPU2" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Atomic-Germ/Ornith-1.0-9B-NPU2", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/Atomic-Germ/Ornith-1.0-9B-NPU2
- SGLang
How to use Atomic-Germ/Ornith-1.0-9B-NPU2 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Atomic-Germ/Ornith-1.0-9B-NPU2" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Atomic-Germ/Ornith-1.0-9B-NPU2", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Atomic-Germ/Ornith-1.0-9B-NPU2" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Atomic-Germ/Ornith-1.0-9B-NPU2", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use Atomic-Germ/Ornith-1.0-9B-NPU2 with Docker Model Runner:
docker model run hf.co/Atomic-Germ/Ornith-1.0-9B-NPU2
Download README.md from Atomic-Germ/Ornith-1.0-9B-NPU2: direct link, hf CLI and curl.
- Browser
- Download file 3.1 kB
-
https://huggingface.co/Atomic-Germ/Ornith-1.0-9B-NPU2/resolve/0a1d342488bb35117dedb643cd1fe9c21d96e774/README.md
- Command line
-
hf download hf://Atomic-Germ/Ornith-1.0-9B-NPU2@0a1d342488bb35117dedb643cd1fe9c21d96e774/README.md
-
curl -L -o README.md https://huggingface.co/Atomic-Germ/Ornith-1.0-9B-NPU2/resolve/0a1d342488bb35117dedb643cd1fe9c21d96e774/README.md
license: other
language:
- en
pipeline_tag: text-generation
tags:
- fastflowlm
- q4nx
- npu
- qwen3.5
- 9b
- minicpm
base_model:
- ornith-ai/Ornith-1.0-9B
base_model_relation: quantized
quantized_by: Atomic-Germ
library_name: q4nx
Ornith-1.0-9B - Q4NX for FastFlowLM (AMD Ryzen AI XDNA2)
Ornith-1.0-9B is converted to Q4NX for hardware-accelerated inference with FastFlowLM on AMD Ryzen AI NPUs.
What is Q4NX?
Q4NX is FastFlowLM's native packed-quantization format - a rearranged Q4_1 layout tuned for the NPU matrix engine's tile sizes and memory access patterns. It is not a GGUF file and it does not run on llama.cpp or Ollama; it is meant exclusively for the FastFlowLM engine on AMD Ryzen AI NPUs.
Requirements
- FastFlowLM >= 0.9.46 (
flmCLI) - AMD Ryzen AI processor with XDNA2 (NPU2) - Strix Point / Ryzen AI 300 series or later
- Linux with the XRT NPU stack installed
- ~15 GB of unified system memory (Q4NX weights + activations + KV cache)
Files
| File | Purpose |
|---|---|
| model.q4nx | Quantized Q4NX text weights |
| config.json | FastFlowLM model configuration |
| tokenizer.json | Tokenizer |
| tokenizer_config.json | Special tokens and chat template |
| chat_template.jinja | Chat template (optional) |
| flm-add.py | Installer script - registers this model with FastFlowLM |
Install and run
This repository works with flm-add, a small installer that copies the model
into the FastFlowLM user directory and registers the tag minicpm4.6:0.8b. It never
modifies the system FastFlowLM install.
pip install flm-add or uv tool install flm-add
uv tool install flm-add
flm-add Atomic-Germ/Ornith-1.0-9B-NPU2 --family qwen3.5
FLM_XCLBIN_PATH="$HOME/.config/flm FLM_CONFIG_PATH="$HOME/.config/flm/model_list.json flm run ornith:9b
Kernels
FastFlowLM's NPU kernels (xclbins) are closed source and are not shipped in this repository. This model uses the qwen3.5 engine family and is shape-identical to the official qwen3.5:9b model (Qwen3.5-9B-NPU2). Point the runtime's xclbin path at the matching xclbins directory (or ship your own) before running.
Serve (OpenAI-compatible)
flm serve ornith:9b --port 8080
curl http://127.0.0.1:8080/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model":"ornith:9b","messages":[{"role":"user","content":"Hello!"}],"max_tokens":256}'
Model
- Registry tag:
ornith:9b - Engine family:
qwen3.5 - Kernel source: official
qwen3.5:9b(Qwen3.5-9B-NPU2) - Context length: 262,144 tokens (from config)
- Hidden size: 4096
- Layers: 32
- Intermediate size: 12288
- Vocabulary: 248320
model.q4nxsize: 7.11 GB- Base model: ornith-ai/Ornith-1.0-9B
- License: other
Original model card
See the upstream model card for training details, benchmarks, and upstream usage. This repository only contains the Q4NX conversion for FastFlowLM.
- Upstream card: ornith-ai/Ornith-1.0-9B