feat: improve OpenAI model APIs and examples to better support audio, images, and tool calling #707
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.
Description
This PR makes several improvements to the OpenAI model interface APIs, for both AssemblyScript and Go.
localtime.isValidTimeZone(tz: string): bool
to both SDKs (used by one of the tools in the tool calling examples)The changes conform to OpenAI's published OpenAPI Schema - which in some areas is more accurate or specific than the end-user documentation.
❗ There are some minor breaking changes with this update, such as the
role
field of messages now being immutable. It should have little to no impact for most users. Any breaking changes should be noticeable at compile time, and should be resolvable with minimal effort.❗ This PR is blocked and will stay in draft mode until AssemblyScript/assemblyscript#2894 is merged and released. It will then be updated to include a bump to AssemblyScript in the SDK.
Additionally, the "text generation" examples in both SDKs have been updated as follows:
Checklist
All PRs should check the following boxes:
Conventional Commits syntax, leading with
fix:
,feat:
,chore:
,ci:
, etc.the contributing guide.
If the PR includes a code change, then also check the following boxes. (If not, then delete the
next section.)
CHANGELOG.md
file.