Add AudioBytes Class and OpenAI Model Support for Audio Input #446
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.
Summary
This PR introduces the
AudioBytes
class to represent audio input bytes and enhances OpenAI chat model support to accept audio (WAV) input as part of user messages. It also ensures consistent type annotations and casting throughout the codebase to maintain compatibility with static type checkers and newer Python standards.Details
AudioBytes
class inchat_model/message.py
for audio (WAV) input and validates MIME type.AudioBytes
intoUserMessageContentBlock
for message flexibility.AudioBytes
correctly in OpenAI chat model and allows their use in user content.AudioBytes
from the main module for external availability.typing.cast()
usage to use string literal type expressions as required by PEP 695 and enforced by tooling, ensuring correct syntax and compatibility throughout the repo.