Needle โ KAIYA Tool-Calling Model (R3)
Model Details
- Architecture: SimpleAttentionNetwork (custom encoder-decoder transformer, JAX/Flax)
- Parameters: 26,315,421 (26M)
- Training Data: 5,708 examples, 45 tools, KAIYA ecosystem
- Fine-tuning: 12 epochs, batch=8, max_len=512
- Training Time: ~1.5 hours on RTX 4050 6GB VRAM
Evaluation Results
| Metric | Score |
|---|---|
| Call F1 | 94.0% |
| Exact Match | 94.0% |
| Name F1 | 99.11% |
| JSON Parse Rate | 100% |
| Args Accuracy | 94.84% |
Tools Supported (45)
agent_loop, cronjob, captcha, crm, email_api, agenda, payments, accounting, campaign, suite, pipeline, followup, consultora, voice_mgr, tts, ollama, musetalk, cosyvoice, plasma, fable, mythos, bridge, soul_proxy, mem0, memory, session_search, skills, kanban, delegation, profiles, mcp_servers, graphrag, web_search, browser, terminal, file_ops, code_execution, vision, image_gen, video_gen, computer_use, github, smart_home, spotify, agency_agents
Usage
from needle.model.run import load_checkpoint, generate
from needle.model.architecture import SimpleAttentionNetwork
from needle.dataset.dataset import get_tokenizer
import jax
params, config = load_checkpoint("needle-kaiya-tools-v3.pkl")
model = SimpleAttentionNetwork(config)
tokenizer = get_tokenizer()
result = generate(
model, params, tokenizer,
"Send an email to maria@example.com",
tools='[{"name":"email_api","description":"Send email","parameters":{...}}]',
max_gen_len=512, stream=False, constrained=True
)
print(result)
# [{"name":"email_api","arguments":{"action":"send","to":"maria@example.com",...}}]
Training Data
The kaiya_tools_dataset_v3.jsonl file contains 5,708 training examples covering
45 tools from the KAIYA ecosystem. Each example includes a query, available tools
(JSON), and the expected tool call answer (JSON).
License
Apache 2.0 โ Trained by KAIYAGO Solutions for the KlawAqua-AGI ecosystem.
- Downloads last month
- 15
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐ Ask for provider support