Instructions to use plasmova/nova-v3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use plasmova/nova-v3 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="plasmova/nova-v3", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("plasmova/nova-v3", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use plasmova/nova-v3 with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf plasmova/nova-v3:F16 # Run inference directly in the terminal: llama cli -hf plasmova/nova-v3:F16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf plasmova/nova-v3:F16 # Run inference directly in the terminal: llama cli -hf plasmova/nova-v3:F16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf plasmova/nova-v3:F16 # Run inference directly in the terminal: ./llama-cli -hf plasmova/nova-v3:F16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf plasmova/nova-v3:F16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf plasmova/nova-v3:F16
Use Docker
docker model run hf.co/plasmova/nova-v3:F16
- LM Studio
- Jan
- vLLM
How to use plasmova/nova-v3 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "plasmova/nova-v3" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "plasmova/nova-v3", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/plasmova/nova-v3:F16
- SGLang
How to use plasmova/nova-v3 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 "plasmova/nova-v3" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "plasmova/nova-v3", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'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 "plasmova/nova-v3" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "plasmova/nova-v3", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Ollama
How to use plasmova/nova-v3 with Ollama:
ollama run hf.co/plasmova/nova-v3:F16
- Unsloth Desktop
- Docker Model Runner
How to use plasmova/nova-v3 with Docker Model Runner:
docker model run hf.co/plasmova/nova-v3:F16
- Lemonade
How to use plasmova/nova-v3 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull plasmova/nova-v3:F16
Run and chat with the model
lemonade run user.nova-v3-F16
List all available models
lemonade list
- Atomic Chat
# pip install -U transformers accelerate
# Load model directly
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("plasmova/nova-v3", trust_remote_code=True, device_map="auto")Nova v3
Nova v3 is a decoder-only causal language model with 148.8 million parameters. This repository provides the Transformers checkpoint, tokenizer, and custom model code required to load the model.
Model specifications
| Specification | Value |
|---|---|
| Parameters | 148.8M |
| Vocabulary | 32,768 tokens |
| Hidden size | 640 |
| Transformer layers | 26 |
| Attention | 10 query heads, 5 key/value heads |
| Maximum context | 2,048 tokens |
| Checkpoint step | 3,500 |
The model supports key/value caching during generation. Its custom implementation supports Transformers 4.57 and 5.x. Review the custom modeling files before loading with trust_remote_code=True.
Mobile and Apple Metal
A GGUF export is available as nova-v3-f16.gguf (about 341 MB). It is intended for apps built on llama.cpp; llama.cpp can use Apple Metal on supported Apple devices. App support varies, so choose an app that accepts GGUF and custom model tokenizers. Some mobile apps do not support this model yet. The export uses F16 weights and the model's context limit is 2,048 tokens.
Load with Transformers
Install PyTorch and Transformers:
pip install torch transformers
Load the tokenizer and model:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "plasmova/nova-v3"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
system_prompt = (
"You are Nova, a helpful and accurate assistant. Answer the user's request directly and concisely. "
"For simple arithmetic, calculate the result and state it plainly. Do not invent names, scenarios, or equations."
)
prompt = (
f"<|system|>{system_prompt}<|/system|>"
"<|user|>Explain why the sky appears blue in one sentence.<|/user|>"
"<|assistant|>"
)
inputs = tokenizer(prompt, return_tensors="pt", add_special_tokens=False)
output = model.generate(
**inputs,
max_new_tokens=160,
do_sample=True,
temperature=0.2,
top_p=0.85,
top_k=12,
repetition_penalty=1.12,
no_repeat_ngram_size=3,
eos_token_id=[
tokenizer.eos_token_id,
tokenizer.convert_tokens_to_ids("<|/assistant|>"),
],
)
print(tokenizer.decode(output[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))
Recommended starting settings are temperature 0.2, top-p 0.9, top-k 40, and repetition penalty 1.08. These focused settings are a starting point; adjust them for your task. The local inference script applies this concise system instruction by default. Recommended generation defaults are temperature 0.2, top-p 0.85, top-k 12, repetition penalty 1.12, no-repeat n-gram size 3, and up to 160 new tokens. Keep the total prompt and generated text within the 2,048-token context. The example runs on CPU; for GPU inference, move the model and inputs to a supported device and dtype.
Evaluation
The following zero-shot results use the first 500 examples from each task with lm-evaluation-harness 0.4.13 on CPU. These are limited samples, not full validation-set results.
| Benchmark | Samples | Accuracy | Normalized accuracy |
|---|---|---|---|
| HellaSwag | 500 | 37.4% | 43.6% |
| ARC Easy | 500 | 51.0% | 48.2% |
| ARC Challenge | 500 | 21.8% | 25.0% |
| WinoGrande | 500 | 52.6% | 52.2% |
| OpenBookQA | 500 | 18.8% | 30.0% |
Comparison with SmolLM2-135M
In a matched zero-shot run using 500 examples per task, Nova v3 scored 43.6% normalized accuracy on HellaSwag and 52.2% on WinoGrande, compared with 44.2% and 50.6% for SmolLM2-135M. The WinoGrande difference is small relative to sampling uncertainty; treat both results as early directional measurements, not established performance claims. The comparison details and per-run metrics are in benchmark_comparison.json.
On a separate 100-question GSM8K sample with five examples in context, Nova v3 and SmolLM2-135M-Instruct each answered 4 questions correctly (4.0% exact match). This small sample does not establish equivalence. Details are in gsm8k_comparison.json.
Training and license
The v3 training code specifies pretraining on a mixture of FineWeb-Edu, DCLM, Cosmopedia-v2, FineMath, Wikipedia, and CodeParrot, followed by SmolTalk fine-tuning. Dataset contents remain subject to their respective upstream terms.
The model weights and accompanying custom model code are released under the Apache License 2.0. See LICENSE.
- Downloads last month
- 1,928
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="plasmova/nova-v3", trust_remote_code=True)