🚀 Vistral-7B-Chat Function Calling Model
A fine-tuned model based on Vistral-7B-Chat for function calling, enabling more intelligent text interactions.
🚀 Quick Start
This model is a fine-tuned version of Vistral-7B-chat, specifically optimized for function calling.
✨ Features
- Fine-tuned on Vistral-7B-chat for function calling.
- Trained 2x faster with Unsloth and Huggingface's TRL library.
📦 Installation
No specific installation steps are provided in the original document.
💻 Usage Examples
Basic Usage
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained('hiieu/Vistral-7B-Chat-function-calling')
model = AutoModelForCausalLM.from_pretrained(
'hiieu/Vistral-7B-Chat-function-calling',
torch_dtype=torch.bfloat16,
device_map="auto",
use_cache=True,
)
functions_metadata = [
{
"type": "function",
"function": {
"name": "get_temperature",
"description": "get temperature of a city",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "name"
}
},
"required": [
"city"
]
}
}
}
]
conversation = [
{"role": "system", "content": f"""Bạn là một trợ lý hữu ích có quyền truy cập vào các chức năng sau. Sử dụng chúng nếu cần -\n{str(functions_metadata)} Để sử dụng các chức năng này, hãy phản hồi với:\n<functioncall> {{\\"name\\": \\"function_name\\", \\"arguments\\": {{\\"arg_1\\": \\"value_1\\", \\"arg_1\\": \\"value_1\\", ...}} }} </functioncall>\n\nTrường hợp đặc biệt bạn phải xử lý:\n - Nếu không có chức năng nào khớp với yêu cầu của người dùng, bạn sẽ phản hồi một cách lịch sự rằng bạn không thể giúp được.""" },
{"role": "user", "content": "Thời tiết ở Hà Nội đang là bao nhiêu độ"},
{"role": "assistant", "content": """<functioncall> {"name": "get_temperature", "arguments": '{"city": "Hà Nội"}'} </functioncall>"""},
{"role": "user", "content": """<function_response> {"temperature" : "20 C"} </function_response>"""},
]
input_ids = tokenizer.apply_chat_template(conversation, return_tensors="pt").to(model.device)
out_ids = model.generate(
input_ids=input_ids,
max_new_tokens=768,
do_sample=True,
top_p=0.95,
top_k=40,
temperature=0.1,
repetition_penalty=1.05,
)
assistant = tokenizer.batch_decode(out_ids[:, input_ids.size(1): ], skip_special_tokens=True)[0].strip()
print("Assistant: ", assistant)
📚 Documentation
Model Information
Property |
Details |
Model Type |
Fine-tuned Vistral-7B-chat for function calling |
Developed by |
hiieu |
License |
apache-2.0 |
Finetuned from model |
Viet-Mistral/Vistral-7B-Chat |
You can find the GGUF model here: https://huggingface.co/hiieu/Vistral-7B-Chat-function-calling-gguf
Training Information
This mistral model was trained 2x faster with Unsloth and Huggingface's TRL library.
