Assistant didn't return answer message in playground

Hello!

I want to use chatgpt assistants to use them as application support. I create assistant using web, upload file, enable retrive function and starts to test in playground (web).
But about 10% of my test request was without response and cost x10 of average price. For example, simple request cost in tokens: 3610 total, 3509 in, 101 out. But problem request: 32455 total, 32345 in, 110 out. All of them about 32k token total and all of them 110 out. But there is no message in response. Playgroud also show only one message - my (user).

Here is one of the request response:

curl https://api.openai.com/v1/threads/thread_73xpO4rKaKoNxXL4li2ywoqS/runs \
  -H "Authorization: Bearer $OAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "OpenAI-Beta: assistants=v1"
{
  "object": "list",
  "data": [
    {
      "id": "run_u2CgJtysexOZY195xbpdRrx1",
      "object": "thread.run",
      "created_at": 1710156081,
      "assistant_id": "asst_Htvt0t4AHeGdfEL1vULMO6e7",
      "thread_id": "thread_73xpO4rKaKoNxXL4li2ywoqS",
      "status": "completed",
      "started_at": 1710156082,
      "expires_at": null,
      "cancelled_at": null,
      "failed_at": null,
      "completed_at": 1710156121,
      "required_action": null,
      "last_error": null,
      "model": "gpt-4-turbo-preview",
      "instructions": "You are an excellent technical support specialist for a dating application. You are well versed in the application and know how to perform this or that action in it. You analyze the data present in .docx, which contains: the topic that the question may relate to, examples of questions that users can ask, and the answer that should be given to the user. Users often ask you for help, you analyze the question, try to understand which topic it best relates to, and answer as in the provided file. The user can also ask several questions at once in one, then he should answer each of them. For each correct answer, I will pay you $100, but if you incorrectly determine the category, you will receive a fine of $100. If the category cannot be determined reliably, then you should ask guiding questions to the user who helped you decide on the choice of category. Remember, only the correct answer is valued. You shouldn't pretend that you have a document. You speak different languages perfectly and always answer in the language in which the user asks his question.",
      "tools": [
        {
          "type": "retrieval"
        }
      ],
      "file_ids": [
        "file-WfFeZ3AT6Q9rzDqDs6S7Hees"
      ],
      "metadata": {},
      "usage": {
        "prompt_tokens": 32851,
        "completion_tokens": 110,
        "total_tokens": 32961
      }
    }
  ],
  "first_id": "run_u2CgJtysexOZY195xbpdRrx1",
  "last_id": "run_u2CgJtysexOZY195xbpdRrx1",
  "has_more": false
}
curl https://api.openai.com/v1/threads/thread_73xpO4rKaKoNxXL4li2ywoqS/runs/run_u2CgJtysexOZY195xbpdRrx1/steps \
  -H "Authorization: Bearer $OAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "OpenAI-Beta: assistants=v1"
{
  "object": "list",
  "data": [
    {
      "id": "step_sFW0pyoRYsJFtu2n0ZwBcE8y",
      "object": "thread.run.step",
      "created_at": 1710156089,
      "run_id": "run_u2CgJtysexOZY195xbpdRrx1",
      "assistant_id": "asst_Htvt0t4AHeGdfEL1vULMO6e7",
      "thread_id": "thread_73xpO4rKaKoNxXL4li2ywoqS",
      "type": "tool_calls",
      "status": "completed",
      "cancelled_at": null,
      "completed_at": 1710156121,
      "expires_at": null,
      "failed_at": null,
      "last_error": null,
      "step_details": {
        "type": "tool_calls",
        "tool_calls": [
          {
            "id": "call_2xwvcjiLYcBAGFNXakhqIcOd",
            "type": "retrieval",
            "retrieval": {}
          }
        ]
      },
      "usage": {
        "prompt_tokens": 0,
        "completion_tokens": 0,
        "total_tokens": 0
      }
    }
  ],
  "first_id": "step_sFW0pyoRYsJFtu2n0ZwBcE8y",
  "last_id": "step_sFW0pyoRYsJFtu2n0ZwBcE8y",
  "has_more": false
}

So, what is the call_tool? What should I do with this information?

          {
            "id": "call_2xwvcjiLYcBAGFNXakhqIcOd",
            "type": "retrieval",
            "retrieval": {}
          }

I have a lot of thread with same result without messages. I can’t run this api in production with so big fail rate… Maybe is the way to setup limit of token per request to cut off expensive tiket?

curl https://api.openai.com/v1/threads/thread_73xpO4rKaKoNxXL4li2ywoqS/messages \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OAPI_API_KEY" \
  -H "OpenAI-Beta: assistants=v1"
{
  "object": "list",
  "data": [
    {
      "id": "msg_8Vd3NGCeOPCDYELICfLmMTRK",
      "object": "thread.message",
      "created_at": 1710156081,
      "assistant_id": null,
      "thread_id": "thread_73xpO4rKaKoNxXL4li2ywoqS",
      "run_id": null,
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": {
            "value": "\nHow can you debit me twice for my weekly subscription",
            "annotations": []
          }
        }
      ],
      "file_ids": [],
      "metadata": {}
    }
  ],
  "first_id": "msg_8Vd3NGCeOPCDYELICfLmMTRK",
  "last_id": "msg_8Vd3NGCeOPCDYELICfLmMTRK",
  "has_more": false
}

same problem thread id examples:
thread_CImoZ20LR2aQsMvnKN6MYIwo (32455 · 32345 in, 110 out)
thread_73xpO4rKaKoNxXL4li2ywoqS (32961 · 32851 in, 110 out)