Olá fiz a integração da thread do assistente com a aplicação e não foi funcionou. seguem os códigos:
app.py
def bot(prompt):
maximo_tentativas = 1
repeticao = 0
while True:
try:
cliente.beta.threads.messages.create(
thread_id=thread.id,
role = "user",
content = prompt
)
run = cliente.beta.threads.runs.create(
thread_id = thread.id,
assistant_id = assistente.id
)
while run.status != "completed":
run = cliente.beta.threads.runs.retrieve(
thread_id = thread.id,
run_id=run.id
)
historico = list(cliente.beta.threads.messages.list(thread_id=thread.id).data)
resposta = historico[0]
return resposta.content[0].text.value
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)
texto_reposta = resposta
return texto_reposta
assistente_ecommerce.py
def criar_thread():
return cliente.beta.threads.create()
def criar_assistente():
assistente = cliente.beta.assistants.create(
name="Atendente EcoMart",
instructions= f"""
Você é um chatbot de atendimento a clientes de um e-commerce.
Você não deve responder perguntas que não sejam dados do ecommerce informado!
Além disso, adote a persona abaixo para responder ao cliente.
## Contexto
{contexto}
## Persona
{personas["neutro"]}
""",
model = modelo
)
return assistente