Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR makes the following changes
# type: ignore
comments and@no_type_check
decorators (apart from the ones inmusic
)DefaultOpenAIModel
class in favor of just exposingcreate_language_model
.process_requests
function to correctly handlequit
andexit
input (each line contains a trailing newline)math
example.I didn't spend much time on the music sample - there's a lot of type suppressions there and that probably needs its own PR.
I spent a decent amount of time replumbing the
math
example - and eventually realized there were a lot of surprising issues. For one, the TS schema translation has errors, and the signatures are translated toCallable<any, number>
! That's becauseCallable
isn't supported, and TypeChat doesn't translate tuples yet. On top of that, the reason Pydantic can't deal withJsonProgram
is due to the lack of indirection in the union type - something that Python 3.12's type aliases would give us. If we were able to state that the example only works in Python 3.12, I think we could clean it up a lot and get real validation working there.