Further readies the repository for the upcoming release.
Set version to 0.0.2 (0.0.1 is already out)
Update the classifiers list
Removes many # type: ignore comments and @no_type_check decorators (apart from the ones in music)
Removes all unmasked type errors.
Hides the DefaultOpenAIModel class in favor of just exposing create_language_model.
Corrects the process_requests function to correctly handle quit and exit input (each line contains a trailing newline)
Simplifies the evaluator in the 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 to Callable<any, number>! That's because Callable isn't supported, and TypeChat doesn't translate tuples yet. On top of that, the reason Pydantic can't deal with JsonProgram 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.
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.