Can assistant complete run without any message generated?

I have got the case when assistant didn’t generate any message on a request but there was no any error.
I am adding a user request to a thread.
Than i start “run” connected to thread + assistant.
In general it works fine. But i see case when no any message was generated.

Run was created. Than it was in “in_progress” status

https://api.openai.com/v1//threads/thread_rGgxSOtnYn9exuW8be3HiTaY/runs/run_TVh6i8HJ2a6HMaH2Z6K8801B
[29-11-2023 10:28:19]: 42449: {
  "id": "run_TVh6i8HJ2a6HMaH2Z6K8801B",
  "object": "thread.run",
  "created_at": 1701253588,
  "assistant_id": "asst_gYDazDyBWNiDkZuOpxp8WkQm",
  "thread_id": "thread_rGgxSOtnYn9exuW8be3HiTaY",
  "status": "in_progress",
  "started_at": 1701253588,
  "expires_at": 1701254188,
  "cancelled_at": null,
  "failed_at": null,
  "completed_at": null,
  "last_error": null,
  "model": "gpt-3.5-turbo-1106",
  "instructions": "REMOVED",
  "tools": [
    {
      "type": "retrieval"
    }
  ],
  "file_ids": [
    "file-eqZOgdcdwSUFfL0YtYfWPrPq"
  ],
  "metadata": {}
}

There was one step

GET - https://api.openai.com/v1//threads/thread_rGgxSOtnYn9exuW8be3HiTaY/runs/run_TVh6i8HJ2a6HMaH2Z6K8801B/steps
{
  "object": "list",
  "data": [
    {
      "id": "step_97zpIdUlD2tztCcdY2kfbAwN",
      "object": "thread.run.step",
      "created_at": 1701253590,
      "run_id": "run_TVh6i8HJ2a6HMaH2Z6K8801B",
      "assistant_id": "asst_gYDazDyBWNiDkZuOpxp8WkQm",
      "thread_id": "thread_rGgxSOtnYn9exuW8be3HiTaY",
      "type": "tool_calls",
      "status": "in_progress",
      "cancelled_at": null,
      "completed_at": null,
      "expires_at": 1701254188,
      "failed_at": null,
      "last_error": null,
      "step_details": {
        "type": "tool_calls",
        "tool_calls": [
          {
            "id": "call_raXcVEBmnQ0XnCeZQCTtCwI7",
            "type": "retrieval",
            "retrieval": {}
          }
        ]
      }
    }
  ],
  "first_id": "step_97zpIdUlD2tztCcdY2kfbAwN",
  "last_id": "step_97zpIdUlD2tztCcdY2kfbAwN",
  "has_more": false
}

Finally Run and Step are both in “completed” status. But there is no new message appeared in thread. The last message is still a request from user

GET - https://api.openai.com/v1//threads/thread_rGgxSOtnYn9exuW8be3HiTaY/messages
[29-11-2023 10:32:53]: 42232: {
  "object": "list",
  "data": [
    {
      "id": "msg_SlDs1i8udY07BiTRNT5fDyij",
      "object": "thread.message",
      "created_at": 1701253587,
      "thread_id": "thread_rGgxSOtnYn9exuW8be3HiTaY",
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": {
            "value": "REQUEST REMOVED",
            "annotations": []
          }
        }
      ],
      "file_ids": [],
      "assistant_id": null,
      "run_id": null,
      "metadata": {}
    },

Is this kind of expected behavior? is there a workaround?

1 Like

The Assistant API is currently in Beta. It’s what it’s currently good at: pulling out the anger out of devs. Surprised this is the only issue you know, not that slow like a snail experience. Good luck with trying to make this annoying Beta work in production.

Most times it’ll just hang in and choose whether to reply by creating the assistant role to your message or just choose to drink your input tokens without giving you your expected output token.

Seeing this same issue still on our projects. For the time being we’re just handling with a retry.

It may be that we are required to check the run steps, but they don’t have a message, only retrieval in our case.