File size: 1,210 Bytes
c37b243
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from liqfit.pipeline import ZeroShotClassificationPipeline
from liqfit.models import T5ForZeroShotClassification
from transformers import T5Tokenizer
import gradio as gr

modelo = T5ForZeroShotClassification.from_pretrained('knowledgator/comprehend_it-multilingual-t5-base')
tokenizador = T5Tokenizer.from_pretrained('knowledgator/comprehend_it-multilingual-t5-base')
classificador = ZeroShotClassificationPipeline(model=modelo, tokenizer=tokenizador,hypothesis_template = '{}', encoder_decoder = True)

categorias = ['ferramentas', 'eletrônicos', 'beleza', 'brinquedos', 'cozinha']

def categorizar(descricao):
  resultado = classificador(descricao, categorias, multi_label=False)
  categoria_max = max(zip(resultado['labels'],resultado['scores']), key=lambda x: x[1])[0]
  return categoria_max

app = gr.Interface(
    fn=categorizar,
    inputs=gr.Textbox(label="Descrição do Produto", placeholder="Digite a descrição do produto"),
    outputs=gr.Textbox(label="Categoria Prevista"),
    title="Classificação de Produtos por Categoria",
    description="Digite a descrição de um produto para classificá-lo automaticamente em uma categoria."
)

if __name__ == "__main__":
    app.launch(share=True)