adrianoL's picture
Update app.py
96a8623 verified
# Importa as bibliotecas necessárias
import gradio as gr # Para criação da interface gráfica interativa
from transformers import pipeline # Para carregar o modelo de classificação de texto
# Função para processar o texto e retornar a nota da redação
def mostrar_resultado(texto):
# Valida se o texto tem o número mínimo de caracteres
if len(texto) < 400:
return 'O texto precisa ter no mínimo 400 caracteres'
# Executa a classificação do texto e converte o rótulo em uma nota de 0 a 10
nota = int(classificador(texto)[0]['label']) * 1
return nota
# Inicializa o pipeline de classificação de texto com o modelo personalizado no Hugging Face
classificador = pipeline(
task='text-classification', # Define a tarefa como classificação de texto
model='adrianoL/distilbert-pt-cased-redacao-nota-modelo', # Especifica o modelo customizado
framework='tf' # Utiliza o TensorFlow como backend
)
# Configura a interface gráfica com Gradio
app = gr.Interface(
fn=mostrar_resultado, # Função chamada ao submeter o texto
inputs=gr.Textbox(label='Digite o texto'), # Caixa de texto para entrada do usuário
outputs=gr.Textbox(label='Nota da redação'), # Caixa de texto para exibir a nota resultante
title='Insira um texto para receber uma nota entre 0 e 10' # Título da interface
)
# Executa a aplicação localmente com opção de compartilhamento
if __name__ == "__main__":
app.launch(share=True)