File size: 1,393 Bytes
20a91ca
dd784d3
e3b78c7
dd784d3
e3b78c7
2fc4bb9
dd784d3
 
 
2fc4bb9
dd784d3
 
2fc4bb9
dd784d3
 
 
 
 
 
 
 
b852c83
dd784d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
import gradio as gr
import os

hf_token = os.environ["HUGGINGFACE_HUB_TOKEN"]

# ⚙️ Carga del modelo (opcional: .to("cuda") si tienes GPU)
def cargar_modelo():
    model = AutoModelForCausalLM.from_pretrained(
        "hedtorresca/llama3-peftLora-insurance-finetuned", token=hf_token
    ).to("cpu")
    tokenizer = AutoTokenizer.from_pretrained(
        "hedtorresca/llama3-peftLora-insurance-finetuned", token=hf_token
    )
    return model, tokenizer

model, tokenizer = cargar_modelo()

# 🔁 Función de inferencia
def preguntar_al_modelo(instruction, max_new_tokens=100):
    prompt = f"### Instruction:\n{instruction}\n\n### Response:\n"
    inputs = tokenizer(prompt, return_tensors="pt")
    outputs = model.generate(**inputs, max_new_tokens=max_new_tokens, do_sample=True)
    respuesta = tokenizer.decode(outputs[0], skip_special_tokens=True)
    return respuesta

# 🚀 Interfaz Gradio como API
interface = gr.Interface(
    fn=preguntar_al_modelo,
    inputs=[
        gr.Textbox(label="Pregunta", placeholder="¿Cuál es el impacto de la IA en los seguros?"),
        gr.Slider(20, 400, value=100, step=10, label="Max tokens generados")
    ],
    outputs="text",
    title="Asistente IA - Seguro 2030",
    description="Modelo finetuneado con el documento de McKinsey sobre el futuro del seguro"
)