File size: 1,280 Bytes
568ea9a 29cd488 568ea9a 29cd488 568ea9a 29cd488 568ea9a 3b8e1b8 568ea9a 3b8e1b8 568ea9a |
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 43 44 45 46 47 48 49 50 |
import gradio as gr
from setfit import SetFitModel
def cortar_en_bloques(texto, longitud_bloque):
palabras = texto.split()
bloques = []
bloque_actual = []
for palabra in palabras:
bloque_actual.append(palabra)
if len(bloque_actual) == longitud_bloque:
bloques.append(" ".join(bloque_actual))
bloque_actual = []
# Si queda un bloque parcial al final, agregarlo
if bloque_actual:
bloques.append(" ".join(bloque_actual))
return bloques
# Cargar el modelo
model = SetFitModel.from_pretrained("desarrolloasesoreslocales/SetFitPruebaRecorte")
# Mapear las etiquetas
# Definir la función de predicción
def predict(payload):
recorte = ""
for chunk in cortar_en_bloques(payload, 100):
if model.predict([chunk]).item() == 1:
recorte_general += chunk
# results = model.predict_proba([payload])[0]
# return "\n".join([f"Label: {id2label[i]}, Score: {round(result.item()*100, 2)} %" for i, result in enumerate(results)])
return recorte
# Crear una interfaz Gradio
iface = gr.Interface(
fn=predict,
inputs=gr.Textbox(),
outputs=gr.Textbox(),
live=False,
title="Recortador de Texto"
)
# Iniciar la interfaz Gradio
iface.launch() |