What changed vs Nova-1.0
Table with columns: Probe, Nova-1.0, Nova-1.1| Probe | Nova-1.0 | Nova-1.1 |
|---|
Tell me an interesting fact about the universe! (tools available) | {"name":"get_weather","arguments":{"city":"Earth"}} | plain factual answer |
Explain quantum computing in simple terms. (tools available) | invented {"name":"explain",...} | plain factual answer |
Hi, what can you help me with? (tools available) | ok | ok |
What is 45 plus 12? (JSON protocol) | {"name":"calculator","arguments":{"expression":"45+12"}} | same, exact |
Set a timer for 5 minutes. | {"name":"timer","arguments":{"seconds":300}} | same |
XML <tool_call> output | sometimes appended fabricated user <tool_response> tail | stops cleanly at </tool_call> |
| `TOOL timer | seconds=300` (plain protocol) | ok |
No regression (spot-checked): calculator/weather/translate/currency/timer/note JSON calls, XML and plain-text protocols, The capital of Australia is Canberra.
Benchmarks
Table with columns: Metric, Qwen3.5-0.8B, Nova-1-0.8B, Nova-1.1-0.8B| Metric | Qwen3.5-0.8B | Nova-1-0.8B | Nova-1.1-0.8B |
|---|
| Overall (100 cases) | 55.0% | 74.0% | 90.0% |
| Positives — correct tool call (70) | 58.6% | 88.6% | 91.4% |
| Negatives — no call when none fits (30) | 46.7% | 40.0% | 86.7% |
| Spurious-call rate ↓ | 53.3% | 60.0% |
Table with columns: Protocol, Qwen3.5-0.8B, Nova-1-0.8B, Nova-1.1-0.8B| Protocol | Qwen3.5-0.8B | Nova-1-0.8B | Nova-1.1-0.8B |
|---|
| JSON | 70.8% | 72.3% | 89.2% |
XML (<tool_call>) | 23.8% | 85.7% | 95.2% |
Plain-text (TOOL …) | 28.6% | 64.3% | 85.7% |
Suite: 100 cases (EN+RU) — calculator (graded by safe evaluation, not string match), weather, translate, currency, timer, note, greetings/facts/explanations as negatives, 6 multi-step chains with tool history. Identical prompts on all checkpoints, greedy decoding. Reproduce: toolbench.py --model <id> --out r.json.
Knowledge (internal A/B, greedy)
Identical 0-shot greedy protocol on both checkpoints, fixed seed, subsample of the public test sets:
Table with columns: Task (sampled), Nova-1-0.8B, Nova-1.1-0.8B| Task (sampled) | Nova-1-0.8B | Nova-1.1-0.8B |
|---|
| GSM8K (n=100) | 22.0% | 26.0% |
| ARC-Easy (n=150) | 78.7% | 77.3% |
| In-house mini-math (n=6) | 6/6 | 6/6 |
| In-house mini-ARC (n=4) | 2/4 | 3/4 |
No knowledge regression; math improved slightly. These are internal spot-check numbers with our prompt format, not a full official evaluation run — treat as relative A/B.
Limitations
- Nova is a 0.8B model — for complex reasoning, code generation, or long-context tasks, larger models remain stronger. Its sweet spot is fast, reliable assistant and tool-calling workloads.
- The tool domains and evaluation were validated primarily in English and Russian.
- The fix is dataset-specific: covered prompt families and paraphrases behave, but small models can still misfire on novel phrasing. Validate outputs in high-stakes contexts.
Quickstart
from transformers import AutoModelForCausalLM, AutoProcessor
model = AutoModelForCausalLM.from_pretrained(
"HyperAiCorp/Nova-1.1-0.8B", torch_dtype="bfloat16", trust_remote_code=True
)
processor = AutoProcessor.from_pretrained("HyperAiCorp/Nova-1.1-0.8B", trust_remote_code=True)
SYSTEM = (
"You are a virtual assistant developed by HyperAI. You assist with day-to-day "
"tasks, are helpful, polite and concise, and respond in the same language as the user."
)
messages = [
{"role": "system", "content": SYSTEM},
{"role": "user", "content": "What is the capital of Australia?"},
]
text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = processor(text=text, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=128)
print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
Function calling (JSON protocol)
messages = [
{
"role": "system",
"content": SYSTEM + "\n\nYou have access to tools: calculator(expression), get_weather(city). "
'Reply with ONLY a JSON object: {"name": "tool_name", "arguments": {"param": "value"}}.',
},
{"role": "user", "content": "What is 45 plus 12?"},
]
Deployment Notes
- Optimized for lightweight assistant deployments and on-device scenarios.
- For long generations, streaming with early interruption is recommended.
- The vision encoder is inherited from the base model; the checkpoint's training focus is conversational and tool-based interaction.
- GGUF / Ollama builds for 1.1 are planned; meanwhile the 1.0 GGUF repo shows the quantization flow.
Disabling Thinking Mode
Like the base, Nova answers directly. In some runtimes the model may start an internal chain-of-thought that slows responses and breaks tool-calling — keep thinking disabled:
- llama.cpp: add
--reasoning off.
- Ollama: use a
TEMPLATE that pre-closes the thinking block (an response marker right after thinking).
- Transformers: use a system prompt that forbids reasoning and generate with greedy decoding.
Citation
@software{hyperai_nova_1_1_8b,
title = {Nova-1.1-0.8B: Pair-Tuned Function-Calling Assistant},
author = {HyperAI},
year = {2026},
url = {https://huggingface.co/HyperAiCorp/Nova-1.1-0.8B},
}
License
Apache-2.0, consistent with the base Qwen3.5-0.8B. See LICENSE.
About HyperAI
HyperAI develops compact, deployable language assistants and tool-calling models. Reach us through the community discussions.