nowme / operacionesIA.py
Moisés Briseño Estrello
Tags
22acaeb
import time
import herramientas
client = herramientas.obtenClienteOpenAI()
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
)
#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
#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"