Olá, Pessoal!
Minha aplicação não está caindo no Try Except quando eu coloco uma API inválida. Consegui capturar o erro na alteração do modelo, porém não da API. A Aplicação retorna o print "Inicou a análise de sentimentos do produto" porém como resultado o arquivo não é gerado/atualizado pois a API está incorreta, mais um fator que indica que ele teria que cair no try except.
Tentei identificar com o Iuri mas não consegui :/
Poderiam me ajudar?
Segue meu código:
from openai import OpenAI
from dotenv import load_dotenv
import os
import openai
load_dotenv()
cliente = OpenAI(api_key=os.getenv("kldsja"))
modelo = "gpt-3.5-turbo-0125"
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, "a", encoding="utf-8") as arquivo:
arquivo.write(f'{conteudo}\n\n')
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/{produto}.txt")
print(f"Inicou a análise de sentimentos do produto {produto}")
lista_mensagem = [
{
"role": "system",
"content": prompt_sistema
},
{
"role": "user",
"content": prompt_usuario
}
]
try:
resposta = cliente.chat.completions.create(
messages=lista_mensagem,
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}")
analisador_sentimentos("mouse_ortopedico")