hiieu's picture
Update README.md
ae136f6 verified
metadata
library_name: transformers
tags:
  - text-generation-inference
  - transformers
  - unsloth
  - mistral
  - trl
license: apache-2.0
language:
  - en
  - vi
base_model: Viet-Mistral/Vistral-7B-Chat

Model Description

This model was fine-tuned on Vistral-7B-chat for function calling.

Usage

You can find GGUF model here: https://huggingface.co/hiieu/Vistral-7B-Chat-function-calling-gguf

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, # change to torch.float16 if you're using V100
    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) 
# >> Assistant:  Thời tiết ở Hà Nội hiện tại là khoảng 20 độ C.

Uploaded model

  • Developed by: hiieu
  • License: apache-2.0
  • Finetuned from model : Viet-Mistral/Vistral-7B-Chat

This mistral model was trained 2x faster with Unsloth and Huggingface's TRL library.