Vaayu-Base: Small Language Model (SLM) for Machine-to-Machine Tool Calling
Vaayu-Base is an open-source **Small Language Model (SLM)**—also characterized as a **Tool Language Model (TLM)**—with 245,924,864 parameters, trained completely from scratch for local execution, in-process embedding, and native Model Context Protocol (MCP) tool execution.
Unlike standard conversational chatbots trained on open-ended dialogue, Vaayu is engineered as a machine-centric runtime engine: trained end-to-end directly on structured JSON-RPC 2.0 schemas, dynamic tool contracts, and autonomous local agent loops.
Note: Model Context Protocol (MCP) is an open specification designed by Anthropic.
Model Details
- Model Name: Vaayu-Base
- Exact Parameters: 245,924,864 (Analytical derivation in param_count.md)
- Architecture: Custom Transformer Decoder with:
- Rotary Position Embeddings (RoPE) ($\theta = 10,000.0$)
- Grouped Query Attention (GQA) (4:1 ratio) reducing KV-cache allocation by 75%
- SwiGLU Gated Feed-Forward Networks with 256-byte tensor core alignment
- Pre-RMSNorm ($\epsilon = 10^-5$)
- Untied Embeddings (untied input embeddings and output projection) for logit fidelity
- Context Window: 2048 tokens
- Inference Latency: Sub-50ms Time-To-First-Token (TTFT) on modern consumer CPUs.
Empirical Benchmarks
1. Berkeley Function Calling Leaderboard (BFCL v3) Standardized Evaluation
Evaluated against the official BFCL v3 / Gorilla ToolBench standardized taxonomy (250 cases on consumer CPU):
| Model | Parameters | Tool Grammar | AST Validity (%) | Tool Match (%) | Exact Args Match (%) | TTFT (CPU) | Decode Speed |
|---|---|---|---|---|---|---|---|
| Vaayu-Large (492M) | 492M | Native Atomic | 97.8% | 94.2% | 92.6% | 52.1 ms | 31.8 tok/s |
| Vaayu-Base (245M) | 245M | Native Atomic | 94.4% | 87.6% | 84.8% | 38.4 ms | 46.2 tok/s |
| Llama-3.2-3B-Instruct* | 3.21B | Prompt-wrap | 31.2% | 24.5% | 14.2% | 184.2 ms | 9.1 tok/s |
| Llama-3.2-1B-Instruct* | 1.23B | Prompt-wrap | 22.4% | 18.6% | 10.85% | 88.0 ms | 18.4 tok/s |
*Note: BFCL reports that general-purpose small models without native tool grammar rely on prompt-based wrapping, resulting in high syntax hallucination rates and low argument precision.
2. Vaayu MCP Benchmark Suite (200 Scenarios)
| Evaluation Dimension | Vaayu-Base (245M) | Vaayu-Large (492M) |
|---|---|---|
| JSON Schema Validity | 92.5% | 96.8% |
| Tool Name Match | 87.0% | 93.5% |
| Exact Argument Match | 83.5% | 91.8% |
| Time-To-First-Token (TTFT) | 38.4 ms | 52.1 ms |
| Decode Throughput | 46.2 tokens/sec | 31.8 tokens/sec |
Installation & Quickstart
1. Install via PyPI
pip install vaayu
2. Stream Directly from Hugging Face Hub
from vaayu import Vaayu
ai = Vaayu.from_pretrained("meetmendapara/Vaayu-Base")
response = ai.chat("Explain the purpose of Model Context Protocol (MCP) in one sentence.")
print(response)
Tool Calling & MCP Integration
Vaayu connects directly to any local MCP server over standard input/output (stdio) and Server-Sent Events (SSE):
from vaayu import Vaayu
ai = Vaayu.from_pretrained("meetmendapara/Vaayu-Base")
# Connect to any standard MCP server (e.g. filesystem, sqlite, terminal, git)
ai.attach_mcp_server(
command="npx",
args=["-y", "@modelcontextprotocol/server-filesystem", "./workspace"]
)
# Run autonomous agentic tool loop
response = ai.chat("Find all configuration files and summarize their settings.")
print(response)
Autonomous Error Self-Correction
<|im_start|>user
Inspect the production configuration file at 'config/settings.yaml'.<|im_end|>
<|im_start|>assistant
<|thought_start|>I need to read the configuration file specified by the user.<|thought_end|>
<|tool_call_start|>{"name": "read_file", "arguments": {"path": "config/settings.yaml"}}<|tool_call_end|>
<|im_end|>
<|im_start|>tool
<|tool_result_start|>{"status": "error", "error_code": "ENOENT", "message": "File not found: config/settings.yaml. Did you mean 'config/settings.json'?"}<|tool_result_end|>
<|im_end|>
<|im_start|>assistant
<|thought_start|>The file was not found (ENOENT). The host environment suggests 'config/settings.json' exists. Retrying with corrected path.<|thought_end|>
<|tool_call_start|>{"name": "read_file", "arguments": {"path": "config/settings.json"}}<|tool_call_end|>
<|im_end|>
Limitations
- Context Ceiling: 2,048 tokens on Base (4,096 tokens on Large). Connecting multiple verbose MCP servers requires schema minification.
- Domain Specialization: Specialized for structured tool contracts, JSON-RPC, and code actions; not intended for open-domain creative writing or trivia.
- Safety: Tool calls are emitted as structured payloads; the host runtime must sandbox destructive actions before execution.
Citation & Repository
@software{vaayu2026slm,
title={Vaayu: Small Language Model (SLM) for Machine-to-Machine Tool Calling with Native Model Context Protocol (MCP)},
author={Mendapara, Meet},
year={2026},
publisher={Hugging Face},
url={https://huggingface.co/meetmendapara/Vaayu-Base},
}
For full architecture specifications, parameter math, training scripts, and benchmarks, visit the GitHub Repository.
- Downloads last month
- -