Opa tudo bem? Aqui é o Natan. Estou enfrentando um problema ao tentar usar a função "carrega" dentro do arquivo "app.py". Me parece que não estou importando corretamente helpers.py (from helpers import *). Vou colocar meu código abaixo.
app.py
from flask import Flask, render_template, request, Response
from openai import OpenAI
from dotenv import load_dotenv
import os
from time import sleep
from helpers import *
load_dotenv()
cliente = OpenAI(api_key=os.getenv("minha chave"))
modelo = "gpt-4"
app = Flask(__name__)
app.secret_key = 'minha chave'
contexto = carrega("dados/ecomart.txt")
def bot(prompt):
maximo_tentativas = 1
repeticao = 0
while True:
try:
prompt_do_sistema = f"""
Você é um chatbot de atendimento a clientes de um e-commerce.
Você não deve responder perguntas que não sejam dados do e-commerce informado!
Você deve gerar respostas utilizando o contexto abaixo.
# Contexto
{contexto}
"""
response = cliente.chat.completions.create(
messages=[
{
"role": "system",
"content": prompt_do_sistema
},
{
"role": "user",
"content": prompt
}
],
temperature=1,
max_tokens=300,
top_p=1,
frequency_penalty=0,
presence_penalty=0,
model = modelo)
return response
except Exception as erro:
repeticao += 1
if repeticao >= maximo_tentativas:
return "Erro no GPT: %s" % erro
print('Erro de comunicação com OpenAI:', erro)
sleep(1)
@app.route("/chat", methods=["POST"])
def chat():
prompt = request.json["msg"]
resposta = bot(prompt)
if isinstance(resposta, str):
return resposta
else:
texto_resposta = resposta.choices[0].message.content
return texto_resposta
@app.route("/")
def home():
return render_template("index.html")
if __name__ == "__main__":
app.run(debug = True)
-------------------------------------------------------------------------------------------------------------
helpers.py
import base64
import cv2
import numpy as np
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 no carregamento de arquivo: {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}")
Código de erro abaixo:
File "c:\Users\Acer\Desktop\chatbot\Projeto---3573\app.py", line 19, in <module> contexto = carrega("dados/ecomart.txt") NameError: name 'carrega' is not defined
Vou colocar aqui um print do terminal, pois parece que não estou mais no ambiente virtual como estava antes.