-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathanalisador_sentimentos.py
73 lines (59 loc) · 2.17 KB
/
analisador_sentimentos.py
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
from openai import OpenAI
from dotenv import load_dotenv
import os
import openai
load_dotenv()
cliente = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
modelo = "gpt-3.5-turbo"
def carrega(nome_do_arquivo):
try:
with open(nome_do_arquivo, "r") as arquivo:
dados = arquivo.read()
return dados
except IOError as e:
print(f"Erro: {e}")
def salva(nome_do_arquivo, conteudo):
try:
with open(nome_do_arquivo, "w", encoding="utf-8") as arquivo:
arquivo.write(conteudo)
except IOError as e:
print(f"Erro ao salvar arquivo: {e}")
def analisador_sentimentos(produto):
prompt_sistema = f"""
Você é um analisador de sentimentos de avaliações de produtos.
Escreva um parágrafo com até 50 palavras resumindo as avaliações e
depois atribua qual o sentimento geral para o produto.
Identifique também 3 pontos fortes e 3 pontos fracos identificados a partir das avaliações.
# Formato de Saída
Nome do Produto:
Resumo das Avaliações:
Sentimento Geral: [utilize aqui apenas Positivo, Negativo ou Neutro]
Ponto fortes: lista com três bullets
Pontos fracos: lista com três bullets
"""
prompt_usuario = carrega(f"./dados/avaliacoes-{produto}.txt")
print(f"Inicou a análise de sentimentos do produto {produto}")
lista_mensagens = [
{
"role": "system",
"content": prompt_sistema
},
{
"role": "user",
"content": prompt_usuario
}
]
try:
resposta = cliente.chat.completions.create(
messages = lista_mensagens,
model=modelo
)
texto_resposta = resposta.choices[0].message.content
salva(f"./dados/analise-{produto}.txt", texto_resposta)
except openai.AuthenticationError as e:
print(f"Erro de autenticaão: {e}")
except openai.APIError as e:
print(f"Erro de API: {e}")
lista_de_produtos = ["Camisetas de algodão orgânico", "Jeans feitos com materiais reciclados", "Maquiagem mineral"]
for um_produto in lista_de_produtos:
analisador_sentimentos(um_produto)