zed
zed copied to clipboard
Add max_output_tokens to OpenAI models and integrate into requests
Pull Request Title
Introduce max_output_tokens Field for OpenAI Models
https://platform.deepseek.com/api-docs/news/news0725/#4-8k-max_tokens-betarelease-longer-possibilities
Description
This commit introduces a new field max_output_tokens to the OpenAI models, which allows specifying the maximum number of tokens that can be generated in the output. This field is now integrated into the request handling across multiple crates, ensuring that the output token limit is respected during language model completions.
Changes include:
- Adding
max_output_tokensto theCustomvariant of theopen_ai::Modelenum. - Updating the
into_open_aimethod inLanguageModelRequestto accept and usemax_output_tokens. - Modifying the
OpenAiLanguageModelandCloudLanguageModelimplementations to passmax_output_tokenswhen converting requests. - Ensuring that the
max_output_tokensfield is correctly serialized and deserialized in relevant structures.
This enhancement provides more control over the output length of OpenAI model responses, improving the flexibility and accuracy of language model interactions.
Changes
- Added
max_output_tokensto theCustomvariant of theopen_ai::Modelenum. - Updated the
into_open_aimethod inLanguageModelRequestto accept and usemax_output_tokens. - Modified the
OpenAiLanguageModelandCloudLanguageModelimplementations to passmax_output_tokenswhen converting requests. - Ensured that the
max_output_tokensfield is correctly serialized and deserialized in relevant structures.
Related Issue
https://github.com/zed-industries/zed/pull/16358
Release Notes
- Added
max_output_tokensfield to OpenAI models for controlling output token length. - Improved request handling across multiple crates to respect
max_output_tokens.
Screenshots / Media
N/A
Checklist
- [x] Code compiles correctly.
- [x] All tests pass.
- [ ] Documentation has been updated accordingly.
- [ ] Additional tests have been added to cover new functionality.
- [ ] Relevant documentation has been updated or added.
We require contributors to sign our Contributor License Agreement, and we don't have @Cupnfish on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'.
@cla-bot check
The cla-bot has been summoned, and re-checked this pull request!
| Warnings | |
|---|---|
| :warning: |
This PR is missing release notes. Please add a "Release Notes" section that describes the change:
If your change is not user-facing, you can use "N/A" for the entry:
|
Generated by :no_entry_sign: dangerJS against d0c00cd2fc6ed9c6cd2f5760c440fac731af31ba
FYI. This broke GPT-4 (and only GPT-4).
Fix in:
- https://github.com/zed-industries/zed/pull/17168