File size: 1,504 Bytes
96a8623
 
 
402eb16
96a8623
402eb16
96a8623
402eb16
 
 
96a8623
 
402eb16
 
96a8623
402eb16
96a8623
 
 
402eb16
 
96a8623
402eb16
96a8623
 
 
 
402eb16
 
96a8623
402eb16
 
 
 
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
# 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)