nowme / operacionesIA.py
Moibe's picture
Conexi贸n
78b1c1c
raw
history blame
1.36 kB
import bridges
from openai import OpenAI
import time
import asistente
import os
buzz = os.getenv("buzz")
print("Esto es llave: ", buzz)
client = OpenAI(api_key=buzz)
def consulta(asistente, prompt):
thread = preparaPregunta(prompt)
respuesta = ejecutaLlamado(thread, asistente)
return respuesta
#Subfunciones de consulta.
def preparaPregunta(prompt):
thread = client.beta.threads.create()
message = client.beta.threads.messages.create(
thread_id=thread.id,
role="user",
content=prompt,
)
return thread
def ejecutaLlamado(thread, asistente):
run = client.beta.threads.runs.create(
thread_id=thread.id,
assistant_id=asistente
)
# 4锔忊儯 Esperar a que el asistente termine de procesar
while True:
run_status = client.beta.threads.runs.retrieve(
thread_id=thread.id,
run_id=run.id
)
if run_status.status in ["completed", "failed", "cancelled"]:
break
time.sleep(2) # 馃攧 Espera 2 segundos antes de revisar de nuevo
# 5锔忊儯 Obtener la respuesta del asistente
messages = client.beta.threads.messages.list(thread_id=thread.id)
for msg in messages.data:
if msg.role == "assistant":
return msg.content[0].text.value
return "No se recibi贸 respuesta del asistente"