Spaces:
Sleeping
Sleeping
Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Importa a biblioteca Gradio para criação de interfaces gráficas interativas e a biblioteca transformers para carregamento do modelo
|
2 |
+
import gradio as gr
|
3 |
+
from transformers import pipeline
|
4 |
+
|
5 |
+
# Define a função que processa o texto e retorna a nota da redação
|
6 |
+
def mostrar_resultado(texto):
|
7 |
+
# Verifica se o texto possui pelo menos 400 caracteres
|
8 |
+
if len(texto) < 400:
|
9 |
+
return 'O texto precisa ter no mínimo 400 caracteres'
|
10 |
+
|
11 |
+
# Realiza a classificação e converte o rótulo em uma nota de 0 a 1000
|
12 |
+
nota = int(classificador(texto)[0]['label']) * 10 # Multiplica por 10 para ajustar ao valor de 0 a 1000
|
13 |
+
return nota
|
14 |
+
|
15 |
+
# Inicializa o pipeline de classificação de texto com o modelo específico no Hugging Face
|
16 |
+
classificador = pipeline(
|
17 |
+
'text-classification',
|
18 |
+
model='adrianoL/distilbert-pt-cased-redacao-nota-modelo', # Nome do modelo customizado
|
19 |
+
framework='tf' # Define o uso do TensorFlow
|
20 |
+
)
|
21 |
+
|
22 |
+
# Cria a interface gráfica com Gradio
|
23 |
+
app = gr.Interface(
|
24 |
+
fn=mostrar_resultado, # Função que será chamada ao clicar no botão
|
25 |
+
inputs=gr.Textbox(label='Digite o texto'), # Entrada de texto para o usuário
|
26 |
+
outputs=gr.Textbox(label='Nota da redação'), # Saída com a nota gerada pelo modelo
|
27 |
+
title='Insira um texto para receber uma nota entre 0 e 1000' # Título da interface
|
28 |
+
)
|
29 |
+
|
30 |
+
# Lança a aplicação em um servidor local
|
31 |
+
if __name__ == "__main__":
|
32 |
+
app.launch(share=True)
|
33 |
+
|
34 |
+
|