categorizacao / app.py
matheuscervantes55's picture
Create app.py
c37b243 verified
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)