The number of tokens used doesn't make sense, even if we take into account the tokens of the user question + conversation history (in my case not existing) + instructions for intent generation and then user question + conversation history + document chunks + role information + instructions for generation. In my case, I'm retrieving 3 chunks of 256 tokens, asking a very small prompt and it results in ~3k tokens. The only possibility would be that both the instructions (for intent and generation) are really huge.
More details here: https://learn.microsoft.com/en-us/answers/questions/2103832/high-token-consumption-in-azure-openai-with-your-d.