Views
No views yet
transformers library. Ensure you have the chat_template correctly configured.1import torch
2import json
3from huggingface_hub import hf_hub_download
4from transformers import AutoModelForCausalLM, AutoTokenizer, Qwen2Config
5
6model_id = "zaballalkala/astro-1-nano"
7
8
9config_file_path = hf_hub_download(repo_id=model_id, filename="config.json")
10
11with open(config_file_path, "r") as f:
12 config_dict = json.load(f)
13
14config_dict["model_type"] = "qwen2"
15config_dict["architectures"] = ["Qwen2ForCausalLM"]
16
17config = Qwen2Config.from_dict(config_dict)
18
19tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
20model = AutoModelForCausalLM.from_pretrained(
21 model_id,
22 config=config,
23 torch_dtype=torch.bfloat16,
24 device_map="auto",
25 trust_remote_code=True
26)
27
28messages = [
29 {"role": "user", "content": "hi."}
30]
31
32text = tokenizer.apply_chat_template(
33 messages,
34 tokenize=False,
35 add_generation_prompt=True
36)
37model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
38
39print("thinking... 🧠\n")
40generated_ids = model.generate(
41 **model_inputs,
42 max_new_tokens=512,
43 temperature=0.3,
44 do_sample=True
45)
46
47generated_ids = [
48 output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
49]
50response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
51
52print(response)