File size: 1,031 Bytes
101e4d5
f5258d0
4b3e9b7
a4c7d7d
 
 
aecb052
a4c7d7d
 
 
aecb052
4b3e9b7
101e4d5
aecb052
0cf90b2
 
aecb052
0cf90b2
 
101e4d5
aecb052
f5258d0
aecb052
0cf90b2
e6b3aea
aecb052
0cf90b2
e6b3aea
0cf90b2
 
aecb052
e6b3aea
b223d37
aecb052
5ccd1b4
aecb052
5ccd1b4
 
 
101e4d5
158eb11
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
41
42
import gradio as gr
from transformers import pipeline
import torch
import os
from huggingface_hub import login

# Login con token seguro
hf_token = os.environ["HF_TOKEN"]
login(token=hf_token)

# Usa GPU si hay
device = 0 if torch.cuda.is_available() else -1

# Modelo de tipo chat liviano
pipe = pipeline(
    "text-generation",
    model="mistralai/TinyMistral-248M-Chat-v1",
    device=device
)

# Formato chat para prompts
def responder(prompt):
    formatted_prompt = f"[INST] {prompt} [/INST]"
    respuesta = pipe(
        formatted_prompt,
        max_new_tokens=80,
        do_sample=True,
        temperature=0.7,
        top_k=50,
        top_p=0.9
    )[0]["generated_text"]
    return respuesta.replace(formatted_prompt, "").strip()

# Interfaz Gradio
with gr.Blocks() as demo:
    gr.Markdown("## ⚡ AmInside 1.0 – Versión Chat Ligera")
    entrada = gr.Textbox(label="Escribe tu mensaje")
    salida = gr.Textbox(label="Respuesta")
    entrada.submit(fn=responder, inputs=entrada, outputs=salida)

demo.launch()