Closed keyboardAnt closed 1 year ago
Function input implementation is handled by a model-by-model basis, which is why the current schema code is in chatgpt.py
.
@minimaxir, what do you mean by "model-by-model basis"?
This implementation of structured I/O to ChatGPT is specific to ChatGPT.
Okay, but why not allow users to provide schemas that violate the JSON Schema format?
No point, unless there is evidence that it actually improves generation quality with ChatGPT.
To keep the library simple, I am not adding things for the sake of adding things.
LLMs for code are capable of reasoning beyond just what is merely executable ^1. Therefore, I suggest allowing users to provide free-form function schemas that aren't necessarily strictly following the JSON Schema format.
[^1]: Souza, Beatriz, and Michael Pradel. "LExecutor: Learning-Guided Execution." arXiv preprint arXiv:2302.02343 (2023).