From 71bade68d063f9d783bf3130ec1eb6a9888b0876 Mon Sep 17 00:00:00 2001 From: Muhammed Aldulaimi Date: Fri, 10 Nov 2023 16:20:07 +0300 Subject: [PATCH] Add assistants example --- examples/assistant.py | 53 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 examples/assistant.py diff --git a/examples/assistant.py b/examples/assistant.py new file mode 100644 index 0000000000..ad3c1376de --- /dev/null +++ b/examples/assistant.py @@ -0,0 +1,53 @@ +import openai +import time + +# gets API Key from environment variable OPENAI_API_KEY +client = openai.OpenAI() + +assistant = client.beta.assistants.create( + name="Math Tutor", + instructions="You are a personal math tutor. Write and run code to answer math questions.", + tools=[{"type": "code_interpreter"}], + model="gpt-4-1106-preview", +) + +thread = client.beta.threads.create() + +message = client.beta.threads.messages.create( + thread_id=thread.id, + role="user", + content="I need to solve the equation `3x + 11 = 14`. Can you help me?" +) + +run = client.beta.threads.runs.create( + thread_id=thread.id, + assistant_id=assistant.id, + instructions="Please address the user as Jane Doe. The user has a premium account." +) + +print("checking assistant status. ") +while True: + run = client.beta.threads.runs.retrieve( + thread_id=thread.id, + run_id=run.id + ) + + if run.status == "completed": + print("done!") + messages = client.beta.threads.messages.list( + thread_id=thread.id + ) + + print("messages: ") + for message in messages: + print({ + "role": message.role, + "message": message.content[0].text.value + }) + + client.beta.assistants.delete(assistant.id) + + break + else: + print("in progress...") + time.sleep(5) \ No newline at end of file