Spaces:
Runtime error
Runtime error
File size: 1,569 Bytes
56ddbfa 8218386 56ddbfa 2ad794a 56ddbfa |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
class MathTutor:
def __init__(self):
from openai import OpenAI
import os
self.client = OpenAI(api_key=os.environ['openai_api_key'])
self.my_assistant = self.client.beta.assistants.create(
instructions="You are a personal math tutor. When asked a question, write and run Python code to answer the question.",
name="Math Tutor",
tools=[{"type": "code_interpreter"}],
model="gpt-4-1106-preview",
)
def ask_user(self, query):
self.thread = self.client.beta.threads.create()
message = self.client.beta.threads.messages.create(
thread_id=self.thread.id,
role="user",
content =query
)
self.run = self.client.beta.threads.runs.create(
thread_id=self.thread.id,
assistant_id=self.my_assistant.id,
instructions="Please address the user as Aqdas. The user has a premium account."
)
import time
while True:
run = self.client.beta.threads.runs.retrieve(thread_id=self.thread.id, run_id=self.run.id)
if run.completed_at:
elapsed = run.completed_at - run.created_at
elapsed = time.strftime('%H:%M:%S', time.gmtime(elapsed))
print(f'Run completed in {elapsed}')
break
# print('wait 1 sec')
time.sleep(1)
messages = self.client.beta.threads.messages.list(thread_id=self.thread.id)
last_message = messages.data
my_text = []
for i in range(0,len(last_message)-1):
last_message = messages.data[i]
text = last_message.content[0].text.value
my_text.append(text)
return my_text |