Merge pull request #104 from slx618/fix/azure-max-completion-tokens
fix Azure OpenAI max token parameter
This commit is contained in:
@@ -656,10 +656,20 @@ class OpenAIShimMessages {
|
|||||||
messages: openaiMessages,
|
messages: openaiMessages,
|
||||||
stream: params.stream ?? false,
|
stream: params.stream ?? false,
|
||||||
}
|
}
|
||||||
if (params.max_tokens !== undefined) {
|
// Convert max_tokens to max_completion_tokens for OpenAI API compatibility.
|
||||||
body.max_completion_tokens = params.max_tokens
|
// Azure OpenAI requires max_completion_tokens and does not accept max_tokens.
|
||||||
} else if ((params as Record<string, unknown>).max_completion_tokens !== undefined) {
|
// Ensure max_tokens is a valid positive number before using it.
|
||||||
body.max_completion_tokens = (params as Record<string, unknown>).max_completion_tokens
|
const maxTokensValue = typeof params.max_tokens === 'number' && params.max_tokens > 0
|
||||||
|
? params.max_tokens
|
||||||
|
: undefined
|
||||||
|
const maxCompletionTokensValue = typeof (params as Record<string, unknown>).max_completion_tokens === 'number'
|
||||||
|
? (params as Record<string, unknown>).max_completion_tokens as number
|
||||||
|
: undefined
|
||||||
|
|
||||||
|
if (maxTokensValue !== undefined) {
|
||||||
|
body.max_completion_tokens = maxTokensValue
|
||||||
|
} else if (maxCompletionTokensValue !== undefined) {
|
||||||
|
body.max_completion_tokens = maxCompletionTokensValue
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params.stream) {
|
if (params.stream) {
|
||||||
|
|||||||
Reference in New Issue
Block a user