diff options
| author | Benjamin Michaelis <github@relay.benjamin.michaelis.net> | 2025-10-25 11:12:08 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-25 19:12:08 +0100 |
| commit | 046c29dcf1083f0ab89b080f7696e6d642a6bd17 (patch) | |
| tree | 76ecd012080781c87ce53f045721adfabe88019b /packages/shared/inference.ts | |
| parent | 8c0aae33b878827ca0978d9979bb4f2b51ef2f6e (diff) | |
| download | karakeep-046c29dcf1083f0ab89b080f7696e6d642a6bd17.tar.zst | |
fix: update OpenAI API to use max_completion_tokens instead of max_tokens (#2000)
* fix: update OpenAI API to use max_completion_tokens instead of max_tokens
The OpenAI API has deprecated max_tokens in favor of max_completion_tokens
for newer models. This change updates both text and image model calls.
* feat: add support for max_completion_tokens in OpenAI inference configuration
Diffstat (limited to 'packages/shared/inference.ts')
| -rw-r--r-- | packages/shared/inference.ts | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/packages/shared/inference.ts b/packages/shared/inference.ts index 41026fbd..7689f4f4 100644 --- a/packages/shared/inference.ts +++ b/packages/shared/inference.ts @@ -90,7 +90,9 @@ class OpenAIInferenceClient implements InferenceClient { { messages: [{ role: "user", content: prompt }], model: serverConfig.inference.textModel, - max_tokens: serverConfig.inference.maxOutputTokens, + ...(serverConfig.inference.useMaxCompletionTokens + ? { max_completion_tokens: serverConfig.inference.maxOutputTokens } + : { max_tokens: serverConfig.inference.maxOutputTokens }), response_format: mapInferenceOutputSchema( { structured: optsWithDefaults.schema @@ -127,7 +129,9 @@ class OpenAIInferenceClient implements InferenceClient { const chatCompletion = await this.openAI.chat.completions.create( { model: serverConfig.inference.imageModel, - max_tokens: serverConfig.inference.maxOutputTokens, + ...(serverConfig.inference.useMaxCompletionTokens + ? { max_completion_tokens: serverConfig.inference.maxOutputTokens } + : { max_tokens: serverConfig.inference.maxOutputTokens }), response_format: mapInferenceOutputSchema( { structured: optsWithDefaults.schema |
