* Adds max_completion_tokens to the request body if needed based on provider configuration * Note: max_tokens is deprecated in favor of max_completion_tokens as per OpenAI documentation * O3 family models handle max_tokens separately in handleO3FamilyMessage
( requestOptions: | OpenAI.Chat.Completions.ChatCompletionCreateParamsStreaming | OpenAI.Chat.Completions.ChatCompletionCreateParamsNonStreaming, modelInfo: ModelInfo, )
| 524 | * O3 family models handle max_tokens separately in handleO3FamilyMessage |
| 525 | */ |
| 526 | protected addMaxTokensIfNeeded( |
| 527 | requestOptions: |
| 528 | | OpenAI.Chat.Completions.ChatCompletionCreateParamsStreaming |
| 529 | | OpenAI.Chat.Completions.ChatCompletionCreateParamsNonStreaming, |
| 530 | modelInfo: ModelInfo, |
| 531 | ): void { |
| 532 | // Only add max_completion_tokens if includeMaxTokens is true |
| 533 | if (this.options.includeMaxTokens === true) { |
| 534 | // Use user-configured modelMaxTokens if available, otherwise fall back to model's default maxTokens |
| 535 | // Using max_completion_tokens as max_tokens is deprecated |
| 536 | requestOptions.max_completion_tokens = this.options.modelMaxTokens || modelInfo.maxTokens |
| 537 | } |
| 538 | } |
| 539 | } |
| 540 | |
| 541 | export async function getOpenAiModels(baseUrl?: string, apiKey?: string, openAiHeaders?: Record<string, string>) { |
no outgoing calls
no test coverage detected