adrianoL commited on
Commit
96a8623
·
verified ·
1 Parent(s): a269255

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -17
app.py CHANGED
@@ -1,33 +1,33 @@
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 10' # 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
 
 
1
+ # Importa as bibliotecas necessárias
2
+ import gradio as gr # Para criação da interface gráfica interativa
3
+ from transformers import pipeline # Para carregar o modelo de classificação de texto
4
 
5
+ # Função para processar o texto e retornar a nota da redação
6
  def mostrar_resultado(texto):
7
+ # Valida se o texto tem o número mínimo de caracteres
8
  if len(texto) < 400:
9
  return 'O texto precisa ter no mínimo 400 caracteres'
10
 
11
+ # Executa a classificação do texto e converte o rótulo em uma nota de 0 a 10
12
+ nota = int(classificador(texto)[0]['label']) * 1
13
  return nota
14
 
15
+ # Inicializa o pipeline de classificação de texto com o modelo personalizado no Hugging Face
16
  classificador = pipeline(
17
+ task='text-classification', # Define a tarefa como classificação de texto
18
+ model='adrianoL/distilbert-pt-cased-redacao-nota-modelo', # Especifica o modelo customizado
19
+ framework='tf' # Utiliza o TensorFlow como backend
20
  )
21
 
22
+ # Configura a interface gráfica com Gradio
23
  app = gr.Interface(
24
+ fn=mostrar_resultado, # Função chamada ao submeter o texto
25
+ inputs=gr.Textbox(label='Digite o texto'), # Caixa de texto para entrada do usuário
26
+ outputs=gr.Textbox(label='Nota da redação'), # Caixa de texto para exibir a nota resultante
27
+ title='Insira um texto para receber uma nota entre 0 e 10' # Título da interface
28
  )
29
 
30
+ # Executa a aplicação localmente com opção de compartilhamento
31
  if __name__ == "__main__":
32
  app.launch(share=True)
33