|
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 = [] |
|
|
|
|
|
if bloque_actual: |
|
bloques.append(" ".join(bloque_actual)) |
|
|
|
return bloques |
|
|
|
|
|
model = SetFitModel.from_pretrained("desarrolloasesoreslocales/SetFitPruebaRecorte") |
|
|
|
|
|
|
|
|
|
def predict(payload): |
|
|
|
recorte_general = "" |
|
|
|
for chunk in cortar_en_bloques(s, 90): |
|
if model.predict([chunk]).item() == 1: |
|
recorte_general += chunk + " " |
|
|
|
recorte_final = "" |
|
|
|
for chunk in cortar_en_bloques(recorte_general, 84): |
|
if model.predict([chunk]).item() == 1: |
|
recorte_final += chunk + " " |
|
|
|
|
|
|
|
|
|
return recorte_final |
|
|
|
|
|
iface = gr.Interface( |
|
fn=predict, |
|
inputs=gr.Textbox(), |
|
outputs=gr.Textbox(), |
|
live=False, |
|
title="Recortador de Texto" |
|
) |
|
|
|
|
|
iface.launch() |