4 ms·
Under the hood, it's quite similar to function calling. A few differences: - Structured Outputs is a bit more straightforward. e.g., you don't have to pretend
by tedsanders 2y ago
Under the hood, it's quite similar to function calling. A few differences:
- Structured Outputs is a bit more straightforward. e.g., you don't have to pretend you're writing a function where the second arg could be a two-page report to the user, and then pretend the "function" was called successfully by returning {"success": true}
- Having two interfaces lets us teach the model different default behaviors and styles, depending on which you use
- Another difference is that our current implementation of function calling can return both a text reply plus a function call (e.g., "Let me look up that flight for you"), whereas Structured Outputs will only return the JSON
(I worked on this feature at OpenAI.)
- technics256 2y agoHow can we enable the text reply with a function call? Usually the message returned is a tool call only when it calls a tool?
- tedsanders 2y agoThere's no special interface, but you can write an instruction in a system message in the first position. E.g., "Before each function call, explain to the user what you're about to do." It's not super reliable, but the model can do it. Few-shot prompting might help as well.