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()