aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared/inference.ts
diff options
context:
space:
mode:
authorBenjamin Michaelis <github@relay.benjamin.michaelis.net>2025-10-25 11:12:08 -0700
committerGitHub <noreply@github.com>2025-10-25 19:12:08 +0100
commit046c29dcf1083f0ab89b080f7696e6d642a6bd17 (patch)
tree76ecd012080781c87ce53f045721adfabe88019b /packages/shared/inference.ts
parent8c0aae33b878827ca0978d9979bb4f2b51ef2f6e (diff)
downloadkarakeep-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.ts8
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