Views
No views yet
1from transformers import AutoTokenizer, AutoModelForCausalLM
2
3model_id = "SamirXR/yzy-python-0.5b"
4
5tokenizer = AutoTokenizer.from_pretrained(model_id)
6
7model = AutoModelForCausalLM.from_pretrained(
8 model_id,
9 device_map="auto"
10)
11
12prompt = "Write a Python function to reverse a string"
13
14inputs = tokenizer(prompt, return_tensors="pt")
15
16outputs = model.generate(
17 **inputs,
18 max_new_tokens=200
19)
20
21print(tokenizer.decode(outputs[0], skip_special_tokens=True))1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
3
4model_id = "SamirXR/yzy-python-0.5b"
5
6bnb_config = BitsAndBytesConfig(
7 load_in_4bit=True,
8 bnb_4bit_quant_type="nf4",
9 bnb_4bit_compute_dtype=torch.float16,
10 bnb_4bit_use_double_quant=True,
11)
12
13model = AutoModelForCausalLM.from_pretrained(
14 model_id,
15 quantization_config=bnb_config,
16 device_map="auto",
17 trust_remote_code=True
18)
19
20tokenizer = AutoTokenizer.from_pretrained(model_id)
21tokenizer.pad_token = tokenizer.eos_token
22
23prompt = "Write a Python function for fibonacci numbers"
24
25inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
26
27outputs = model.generate(
28 **inputs,
29 max_new_tokens=200,
30 temperature=0.7,
31 top_p=0.9
32)
33
34print(tokenizer.decode(outputs[0], skip_special_tokens=True))1import torch
2import gradio as gr
3from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
4
5MODEL_NAME = "SamirXR/yzy-python-0.5b"
6
7bnb_config = BitsAndBytesConfig(
8 load_in_4bit=True,
9 bnb_4bit_quant_type="nf4",
10 bnb_4bit_compute_dtype=torch.float16,
11 bnb_4bit_use_double_quant=True,
12)
13
14model = AutoModelForCausalLM.from_pretrained(
15 MODEL_NAME,
16 quantization_config=bnb_config,
17 device_map="auto",
18 trust_remote_code=True
19)
20
21tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
22tokenizer.pad_token = tokenizer.eos_token
23
24def generate_code(instruction, history):
25 prompt = f"### Instruction:\n{instruction}\n\n### Response:\n"
26
27 inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
28
29 with torch.no_grad():
30 outputs = model.generate(
31 **inputs,
32 max_new_tokens=256,
33 do_sample=True,
34 temperature=0.7,
35 top_p=0.9,
36 repetition_penalty=1.1,
37 pad_token_id=tokenizer.eos_token_id
38 )
39
40 response = tokenizer.decode(outputs[0], skip_special_tokens=True)
41 response = response.split("### Response:\n")[-1].strip()
42
43 return response
44
45demo = gr.ChatInterface(
46 fn=generate_code,
47 title="yzy-python-0.5b Chatbot",
48 description="Python coding assistant (QLoRA fine-tuned Qwen2-0.5B)",
49 examples=[
50 "Write a function to calculate fibonacci numbers",
51 "Create a Python class for a linked list",
52 "Reverse a string in Python"
53 ],
54)
55
56demo.launch(share=True)### Instruction:
<task>
### Response:
<answer>