Assistant API - Function call vs Retrieval data, Which would be for me?

Dear Community,
Before diving headlessly, I want to get some hints.

CASE: My data is a list of products with name, price, weight, color, sales point, and stocks(and more fields). I want to provide a certain item-picker assistant with this data.

I can imagine these kinds of questions/requests from the user;

  • What is the most expensive item?
  • What amount of total sales?
  • How many red items are sold?
  • What items are oversolded than average?, …

I’m not sure whether this is possible or not yet.

  1. To use Function-calling to get real-time data, Should I prepare all possible questions as functions?
    For example; get_item_orderby, get_amount_sales, …
    Maybe it is possible to prepare some questions as function, but probably there is more questions than I can imagine. Is this a proper approach?

  2. Or, These kinds of possible questions could be answered by providing whole data as a result of function call? (Of course, ignoring out-of-topic question is ok.)

  3. Or, should I provide this data as a Retrieval File for Assistant to index and analyze? Is it more flexible way to handle unprepared requests?

  4. In that case, How can I update file after assistant creation? I couldn’t find how to update file on the fly. (not delete and upload new one)

What is the best practice? Could you share some tips?