Nandi-Mini
Collection
Nandi-Series of Mini Models • 3 items • Updated • 1
Nandi-Mini-150M-Tool-Calling is a lightweight, single-turn specialized model designed to accurately interpret user queries and generate precise tool calls in one step, enabling efficient and reliable function execution
We’re just getting started with the Nandi series 🚀
📢 Blogs & technical deep-dives coming soon, where we’ll share:
Stay tuned!
!pip install transformers=='5.4.0'
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
import json
model_name = "Rta-AILabs/Nandi-Mini-150M-Tool-Calling"
device = "cuda" if torch.cuda.is_available() else "cpu"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_name,
trust_remote_code=True,
dtype=torch.bfloat16
).to(device).eval()
def call_nandi_tool_calling(user_prompt,tools):
tools = json.dumps(tools, indent=4)
system_prompt = f"You are a helpful assistant with access to the following tools - You need to choose appropriate tool for given query, you also need to add appropriate parameters. Do not choose wrong tools, if user query does not belong to a tool. <|tools_start|>\n{tools}\n<|tools_end|>"
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt},
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
generated_ids = model.generate(
**inputs,
max_new_tokens=500,
do_sample=True,
temperature=0.3,
top_p=0.90,
top_k=20,
repetition_penalty=1.1,
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
return response
# Put your query here
user_prompt = "Get weather in Delhi"
# Update the tools according to your use case
tools = [
{
"name": "get_weather",
"description": "Get current weather for a city",
"parameters": {
"city": {
"type": "str",
"description": "City name"
}
}
},
{
"name": "get_time",
"description": "Get current time for a city",
"parameters": {
"city": {
"type": "str",
"description": "City name"
}
}
}
]
print(call_nandi_tool_calling(user_prompt,tools))
We’d love to hear your thoughts, feedback, and ideas!
Base model
Rta-AILabs/Nandi-Mini-150M