@Ignacio Huerta - one example is customer service AI chat. A customer may ask to cancel or refund their order, get the order shipping status, ask for information about specific products, ask general questions, like company returns policy. In your app you have functions (your own code) that handle order refunds and cancellations, check shipping status, get product information, etc. You pass your functions descriptions and their arguments/parameters to the LLM (OpenAI API) along with the customer request (unstructured text). The LLM responds with a suggestion on what function your code should call and with the parameters formatted for that function. For example, the customer may ask "Will this replacement part work with my refrigerator model XYZ?" OpenAI API response would look for the best function call match, based on the function descriptions you provided to it, and would include a function call to function check_product_compatibility (the name of the function in your code), with parameters {"refrigeratorModel":"XYZ", "replacementPart":"partABC"} - (the replacement part info can be grabbed from the product detail page the customer is looking at). Your function can then get the specs for that product from your product database and compare them against the customer request (push that data to another LLM / OpenAI API call, if necessary). Or the customer may ask "Cancel order #4545" - OpenAI API's response would include function call to function cancel_order (the name of the function in your code) with a parameter {"orderId": "4545"}. It is up to you (your code) to call that function (OpenAI API response suggests the function in your code that should be called, but it's up to your code to call it), and to do all the proper verification, authentication, etc. So if order with the id 4545 does not exist for that customer, or if the order can't be cancelled, your code would respond accordingly. This seems to me like a very lean and controlled approach, which I like, especially when delivering quality and predictability to clients in production.