H Company is proud to introduce Holotron 3 Nano (30B A3B), our latest multimodal model designed for automated computer tasks. We built this version by post-training the NVIDIA Nemotron 3 Nano Omni on our proprietary data mixture to enhance agent policy modeling.
This release delivers Mixture-of-Experts (MoE) capacity, a more powerful vision encoder, and native long-context support. Crucially, Holotron 3 Nano introduces these capabilities while retaining the high inference throughput that made Holotron-12B so effective for production-scale use.
For more details, read our blog post
here
-
Reduced Latency: Compared to Holo3 Flash, this model significantly reduces latency, enabling more responsive real-time agentic workflows.
-
Try it in HoloTab: You can experience the model's capabilities firsthand in HoloTab, our browser-based AI agent platform.
-
Open Access: The model is available on Hugging Face under the NVIDIA Open Model License.
H Company is part of the NVIDIA Inception Program.
Holotron 3 Nano continues the legacy of Holotron-12B as a specialized policy model for agents that perceive and act within interactive environments. By outperforming other leading models like GPT-5.4 and Sonnet 4.6 at a lower price point, the Holotron 3 Nano model is Pareto-optimal in terms of price-performance.
1import torch
2from PIL import Image
3from transformers import AutoModelForCausalLM, AutoProcessor
4
5MODEL_ID = "Hcompany/Holotron-3-Nano"
6
7model = AutoModelForCausalLM.from_pretrained(
8 MODEL_ID,
9 trust_remote_code=True,
10 torch_dtype=torch.bfloat16,
11 device_map="auto",
12).eval()
13processor = AutoProcessor.from_pretrained(MODEL_ID, trust_remote_code=True)
14
15image = Image.open("your_image.jpg").convert("RGB")
16messages = [{
17 "role": "user",
18 "content": [
19 {"type": "image", "image": image},
20 {"type": "text", "text": "Describe this image."},
21 ],
22}]
23
24inputs = processor.apply_chat_template(
25 messages,
26 add_generation_prompt=True,
27 tokenize=True,
28 return_dict=True,
29 return_tensors="pt",
30).to(model.device)
31
32with torch.inference_mode():
33 out = model.generate(
34 **inputs,
35 max_new_tokens=256,
36 do_sample=False,
37 pad_token_id=processor.tokenizer.eos_token_id,
38 )
39
40print(processor.tokenizer.decode(
41 out[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True
42))