MFBDA commited on
Commit
8d08465
·
verified ·
1 Parent(s): e6b5f03

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -29
app.py CHANGED
@@ -1,33 +1,28 @@
1
- import gradio as gr
2
- from transformers import pipeline
 
3
 
4
- # Carregar um modelo em português
5
- classifier = pipeline("text-classification", model="neuralmind/bert-base-portuguese-cased")
6
 
7
- # Função para classificar a criticidade da compra
8
- def classificar_criticidade(descricao):
9
- resultado = classifier(descricao)[0]
10
- label = resultado['label']
11
- score = resultado['score']
12
-
13
- # Mapear a saída do modelo para criticidade
14
- if label == "LABEL_0": # Suponha que LABEL_0 seja "Baixa"
15
- return f"Criticidade: Baixa (Confiança: {score:.2f})"
16
- elif label == "LABEL_1": # Suponha que LABEL_1 seja "Média"
17
- return f"Criticidade: Média (Confiança: {score:.2f})"
18
- elif label == "LABEL_2": # Suponha que LABEL_2 seja "Alta"
19
- return f"Criticidade: Alta (Confiança: {score:.2f})"
20
- else:
21
- return "Não foi possível determinar a criticidade."
22
-
23
- # Interface Gradio
24
- interface = gr.Interface(
25
- fn=classificar_criticidade,
26
- inputs=gr.Textbox(lines=2, placeholder="Descreva a compra..."),
27
- outputs="text",
28
- title="Classificador de Criticidade de Compra",
29
- description="Insira a descrição da compra para receber uma classificação de criticidade."
30
  )
31
 
32
- # Iniciar a interface
33
- interface.launch()
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ from sklearn.model_selection import train_test_split
3
+ from transformers import AutoTokenizer
4
 
5
+ # Carregar os dados
6
+ df = pd.read_csv("files/dados.csv")
7
 
8
+ # Dividir os dados em treino e teste
9
+ train_texts, test_texts, train_labels, test_labels = train_test_split(
10
+ df["descricao"].tolist(),
11
+ df["criticidade"].tolist(),
12
+ test_size=0.2,
13
+ random_state=42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  )
15
 
16
+ # Mapear rótulos para números
17
+ label_map = {"Baixa": 0, "Media": 1, "Alta": 2}
18
+ train_labels = [label_map[label] for label in train_labels]
19
+ test_labels = [label_map[label] for label in test_labels]
20
+
21
+ # Carregar o tokenizer do modelo pré-treinado
22
+ tokenizer = AutoTokenizer.from_pretrained("neuralmind/bert-base-portuguese-cased")
23
+
24
+ # Tokenizar os textos
25
+ train_encodings = tokenizer(train_texts, truncation=True, padding=True, max_length=128)
26
+ test_encodings = tokenizer(test_texts, truncation=True, padding=True, max_length=128)
27
+
28
+ # Restante do código para criar o dataset e fine-tuning...