Spaces:
Paused
Paused
# import gradio as gr | |
# def greet(name): | |
# return "Hello " + name + "!!" | |
# demo = gr.Interface(fn=greet, inputs="text", outputs="text") | |
# demo.launch() | |
import torch | |
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig | |
from peft import PeftModel | |
import gradio as gr | |
# Load base model | |
base_model = "microsoft/Phi-4-mini-instruct" | |
lora_path = "./phi4-lora-finetuned-10k" # or use HF repo name if pushed | |
bnb_config = BitsAndBytesConfig( | |
load_in_4bit=True, | |
bnb_4bit_quant_type="nf4", | |
bnb_4bit_use_double_quant=True, | |
bnb_4bit_compute_dtype=torch.bfloat16, | |
) | |
tokenizer = AutoTokenizer.from_pretrained(base_model, use_fast=True) | |
base = AutoModelForCausalLM.from_pretrained( | |
base_model, | |
quantization_config=bnb_config, | |
device_map="auto", | |
trust_remote_code=True | |
) | |
model = PeftModel.from_pretrained(base, lora_path) | |
def generate(prompt): | |
inputs = tokenizer(prompt, return_tensors="pt").to(model.device) | |
output = model.generate(**inputs, max_new_tokens=256, do_sample=True, temperature=0.7) | |
return tokenizer.decode(output[0], skip_special_tokens=True) | |
gr.Interface(fn=generate, inputs="text", outputs="text").launch() | |