from unsloth import FastLanguageModel
import torch
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="Rumiii/Mistral_Mind-Caller_7B",
max_seq_length=3072,
dtype=None,
load_in_4bit=True,
)
FastLanguageModel.for_inference(model)
tools = [
{
"type": "function",
"function": {
"name": "get_sleep_data",
"description": "Retrieve the user's sleep data for a given number of days.",
"parameters": {
"type": "object",
"properties": {
"patient_id": {"type": "string", "description": "Unique patient identifier."},
"num_days": {"type": "integer", "description": "Number of days of data to retrieve."},
},
"required": ["patient_id", "num_days"],
},
},
}
]
messages = [{"role": "user", "content": "I've been having trouble sleeping this week."}]
prompt = tokenizer.apply_chat_template(
messages, tools=tools, tokenize=False, add_generation_prompt=True,
)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
output_ids = model.generate(
**inputs,
max_new_tokens=150,
do_sample=False,
pad_token_id=tokenizer.eos_token_id,
)
print(tokenizer.decode(output_ids[0][inputs["input_ids"].shape[1]:], skip_special_tokens=False))