Hardcore AI

non-profit
Activity Feed

AI & ML interests

None defined yet.

Recent Activity

HeavensHackDev  updated a Space about 2 hours ago
HardcoreAI/ToolUse.1
HeavensHackDev  updated a dataset about 2 hours ago
HardcoreAI/ToolUse.1
HeavensHackDev  updated a model about 2 hours ago
HardcoreAI/Nova-1.2-0.8B
View all activity

Organization Card

Hardcore AI

Models   |   Nova-1.1-0.8B   |   Nova-1-0.8B   |   Discussions


Hardcore AI

Hardcore AI is a non-profit research group building compact, openly licensed language models intended for deployment rather than demonstration. Our work concentrates on function calling: assistants that invoke tools in whichever protocol is declared at inference time, and that produce no call at all when no tool applies. We target bilingual English/Russian interaction and hardware that a single developer already owns.

Every release is a standalone BF16 checkpoint that loads in stock transformers, requires no adapter infrastructure, and is published under Apache-2.0.

AI & ML Interests

  • Small language models — the 0.3B–3B range, sized for on-device, on-premise and single-GPU deployment
  • Tool use and function calling — protocol-agnostic invocation across JSON, XML and plain-text conventions
  • Spurious-call suppression — training against negative cases, where the correct behavior is to answer from knowledge
  • Agentic tool chains — multi-step sequences with tool history, such as lookup → compare → answer
  • Curated instruction data — LoRA and QLoRA fine-tuning on hand-built datasets instead of bulk scraping
  • Quantized inference — GGUF, llama.cpp and Ollama deployments
  • Bilingual EN/RU NLP — including morphology for flective languages
  • Reproducible evaluation — in-house suites with per-case breakdowns published alongside the numbers

Open Releases

Model Parameters Base Description
Nova-1.1-0.8B 0.8B Nova-1-0.8B Current release. Pair-tuned against spurious tool calls on plain-answer prompts, with clean XML termination.
Nova-1-0.8B 0.8B Qwen3.5-0.8B First open release. Function calling and everyday assistance in English and Russian.

Both checkpoints are ~2 GB in BF16 and run on a single 6 GB consumer GPU or on CPU.

Highlights

  • Protocol-agnostic tool calling. One checkpoint handles three verified calling conventions — JSON objects, Qwen-native XML <tool_call> blocks, and a plain-text TOOL name | param=value form — selected by the system prompt rather than fixed at training time.
  • Measured spurious-call behavior. Negative cases are a first-class part of the evaluation: Nova-1.1 reduced the spurious-call rate from 60.0% to 13.3% while improving correct calls.
  • Knowledge retained. General capability is preserved rather than traded away for tool use; math improves relative to the base model.
  • Minimal deployment surface. No custom runtime, no transformers fork, no adapters to merge at load time; quantizes for llama.cpp and Ollama.
  • Apache-2.0. Commercial use, modification and redistribution are permitted.

Evaluation

Tool-use suite — 100 cases (EN+RU), identical prompts across checkpoints, greedy decoding:

Metric Qwen3.5-0.8B Nova-1-0.8B Nova-1.1-0.8B
Overall 55.0% 74.0% 90.0%
Correct call when a tool applies (70) 58.6% 88.6% 91.4%
No call when no tool applies (30) 46.7% 40.0% 86.7%
Spurious-call rate (lower is better) 53.3% 60.0% 13.3%

Accuracy by calling protocol, Nova-1.1-0.8B: JSON 89.2%, XML 95.2%, plain-text 85.7%.

Knowledge spot-checks, identical 0-shot greedy protocol on both Nova checkpoints (internal A/B, subsampled public test sets): GSM8K 22.0% → 26.0% (n=100), ARC-Easy 77.3% (n=150). No regression against Nova-1.0.

Training

  • Data — in-house instruction sets covering assistant turns and tool use (multi-turn, EN+RU, multiple protocols, multi-step chains), balanced with general-knowledge samples for capability retention.
  • Method — LoRA/QLoRA (r=16, alpha=16), merged into a standalone BF16 checkpoint; greedy decoding used for all reported evaluations.
  • Verification — protocol checks, latency measurement and regression probes on prior behavior run before publication.

Quickstart

from transformers import AutoModelForCausalLM, AutoProcessor

model_id = "HardcoreAI/Nova-1.1-0.8B"

model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="bfloat16", trust_remote_code=True)
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)

SYSTEM = (
    "You are a virtual assistant developed by Hardcore AI. 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))
# The capital of Australia is Canberra.

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?"},
]
# -> {"name": "calculator", "arguments": {"expression": "45+12"}}

Note: Nova inherits the Qwen3.5 reasoning backbone. Thinking mode should be disabled at inference (--reasoning off in llama.cpp, a pre-closed thinking block in Ollama, or a system prompt that forbids reasoning in transformers) — visible reasoning traces degrade both latency and tool-call correctness.

Roadmap and Collaboration

The Nova assistant line continues: additional sizes and capabilities are in development. Questions, bug reports and collaboration requests are handled through the discussion tab of the relevant model repository.

License

Models are released under Apache-2.0, consistent with their base model. See the LICENSE file in each repository for details.