#assistant can't respond to me

1 messages · Page 1 of 1 (latest)

hollow anvil
#

I'm following the instruction of the assistent guide to make a conversion with gpt, but in this code there is** just one message in the thread, that mean the assistan does not response the req**uest?

client = OpenAI(api_key = '...')

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."
)


messages = client.beta.threads.messages.list(
  thread_id=thread.id
)
# 
for msg in messages.data:
    print(msg.id)
    print(msg.content[0].text.value)

OUTPUT:
msg_XVhcQ1fcKgxrfFZOjxsbdgOH I need to solve the equation 3x + 11 = 14. Can you help me?

Explore developer resources, tutorials, API docs, and dynamic examples to get the most out of OpenAI's platform.

pale cosmos
#

You need to poll the run until the status of that run is completed, only then will the message be added to your thread

hollow anvil
# pale cosmos You need to poll the run until the status of that run is completed, only then wi...
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(run.status)

run = client.beta.threads.runs.retrieve(
  thread_id=thread.id,
  run_id=run.id
)


while run.status != 'completed':
    run = client.beta.threads.runs.retrieve(
    thread_id=thread.id,
    run_id=run.id
)
    print(run.status)
    time.sleep(1)

I'm using this while loop to wait the run ``completed, but it's failed sir

pale cosmos
#

You can check why a run has failed by looking at run.last_error

hollow anvil
# pale cosmos You can check why a run has failed by looking at run.last_error

failed: LastError(code='rate_limit_exceeded', message='You exceeded your current quota, please check your plan and billing details.')

I checked the failed reason, it's rate limit and I checked the doc, the RPM just 3, it's too few, is that mean it's impossible to poll the run until the status of that run is completed?