modelDeploy / app.py
SameerJugno's picture
Update app.py
e06a301 verified
# import gradio as gr
# from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
# from peft import PeftModel, PeftConfig
# # Load tokenizer
# tokenizer = AutoTokenizer.from_pretrained(".")
# # Load base model with quantization
# bnb_config = BitsAndBytesConfig(load_in_4bit=True)
# base_model = AutoModelForCausalLM.from_pretrained(
# "unsloth/Meta-Llama-3.1-8B-bnb-4bit", # same base you fine-tuned
# quantization_config=bnb_config,
# device_map="auto"
# )
# # Load LoRA adapters
# model = PeftModel.from_pretrained(base_model, ".")
# # Create Gradio Interface
# def generate_response(prompt):
# inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
# outputs = model.generate(**inputs, max_new_tokens=200, do_sample=True, temperature=0.7)
# return tokenizer.decode(outputs[0], skip_special_tokens=True)
# gr.Interface(
# fn=generate_response,
# inputs=gr.Textbox(label="Enter your instruction"),
# outputs=gr.Textbox(label="Model response"),
# title="LLaMA 3 - Fine-tuned Model"
# ).launch()
# Here I change the model name
# from transformers import AutoTokenizer, AutoModelForCausalLM
# from peft import PeftModel
# import torch
# import gradio as gr
# # Load base model from HF Hub
# base_model_name = "distilgpt2"
# tokenizer = AutoTokenizer.from_pretrained(base_model_name)
# # Load base model (set torch_dtype if needed)
# model = AutoModelForCausalLM.from_pretrained(base_model_name, torch_dtype=torch.float16)
# # Load LoRA adapters from local files in Space
# adapter_path = "./" # If adapter files are in root or specify folder name
# model = PeftModel.from_pretrained(model, adapter_path)
# model.eval()
# def predict(text):
# inputs = tokenizer(text, return_tensors="pt").to("cpu") # Use "cuda" if GPU available
# outputs = model.generate(**inputs, max_new_tokens=70)
# return tokenizer.decode(outputs[0], skip_special_tokens=True)
# iface = gr.Interface(fn=predict, inputs="text", outputs="text", title="LoRA Model Demo")
# iface.launch()
# // Here is the new code with intent to optimize
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch
import gradio as gr
# Load base model from HF Hub
base_model_name = "unsloth/Llama-3.2-1B" # Use your model path or model name
tokenizer = AutoTokenizer.from_pretrained(base_model_name)
# Load base model (set torch_dtype if needed)
model = AutoModelForCausalLM.from_pretrained(base_model_name, torch_dtype=torch.float16)
# Load LoRA adapters from local files in Space
adapter_path = "./" # If adapter files are in root or specify folder name
model = PeftModel.from_pretrained(model, adapter_path)
model.eval()
def predict(text):
inputs = tokenizer(text, return_tensors="pt").to("cpu") # Use "cuda" if GPU available
outputs = model.generate(**inputs, max_new_tokens=100)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
iface = gr.Interface(fn=predict, inputs="text", outputs="text", title="LoRA Model Demo")
iface.launch()