|
import gradio as gr |
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
from peft import PeftModel, PeftConfig |
|
import torch |
|
|
|
|
|
config = PeftConfig.from_pretrained("lambdaindie/lambda-1v-1B") |
|
|
|
|
|
base_model = AutoModelForCausalLM.from_pretrained(config.base_model_name_or_path) |
|
model = PeftModel.from_pretrained(base_model, "lambdaindie/lambda-1v-1B") |
|
|
|
|
|
tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path) |
|
|
|
|
|
device = torch.device("cpu") |
|
model.to(device) |
|
|
|
def responder(prompt): |
|
inputs = tokenizer(prompt, return_tensors="pt").to(device) |
|
outputs = model.generate( |
|
**inputs, |
|
max_new_tokens=50, |
|
temperature=0.8, |
|
top_p=0.95, |
|
pad_token_id=tokenizer.eos_token_id, |
|
) |
|
return tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
|
|
iface = gr.Interface(fn=responder, |
|
inputs=gr.Textbox(lines=2, placeholder="Escreve algo..."), |
|
outputs="text", |
|
title="Lambda-1v-1B (LoRA)", |
|
description="Modelo LoRA fine-tuned por Marius Jabami.") |
|
iface.launch() |