A 500 billion dollar startup can’t filter API payload fields
| @@ -2488,7 +2488,7 @@ async function sendOpenAIRequest(type, messages, signal, { jsonSchema = null } = | |||
| 2488 | generate_data['seed'] = oai_settings.seed; | 2488 | generate_data['seed'] = oai_settings.seed; |
| 2489 | } | 2489 | } |
| 2490 | 2490 | ||
| 2491 | if ((isOAI && /^(o1|o3|o4)/.test(oai_settings.openai_model)) || (isAzureOpenAI && /^(o1|o3|o4)/.test(oai_settings.azure_openai_model))) { | 2491 | if ((isOAI && /^(o1|o3|o4)/.test(model)) || (isAzureOpenAI && /^(o1|o3|o4)/.test(model))) { |
| 2492 | generate_data.max_completion_tokens = generate_data.max_tokens; | 2492 | generate_data.max_completion_tokens = generate_data.max_tokens; |
| 2493 | delete generate_data.max_tokens; | 2493 | delete generate_data.max_tokens; |
| 2494 | delete generate_data.logprobs; | 2494 | delete generate_data.logprobs; |
| @@ -2499,7 +2499,7 @@ async function sendOpenAIRequest(type, messages, signal, { jsonSchema = null } = | |||
| 2499 | delete generate_data.top_p; | 2499 | delete generate_data.top_p; |
| 2500 | delete generate_data.frequency_penalty; | 2500 | delete generate_data.frequency_penalty; |
| 2501 | delete generate_data.presence_penalty; | 2501 | delete generate_data.presence_penalty; |
| 2502 | if (oai_settings.openai_model.startsWith('o1')) { | 2502 | if (model.startsWith('o1')) { |
| 2503 | generate_data.messages.forEach((msg) => { | 2503 | generate_data.messages.forEach((msg) => { |
| 2504 | if (msg.role === 'system') { | 2504 | if (msg.role === 'system') { |
| 2505 | msg.role = 'user'; | 2505 | msg.role = 'user'; |
| @@ -2511,14 +2511,19 @@ async function sendOpenAIRequest(type, messages, signal, { jsonSchema = null } = | |||
| 2511 | } | 2511 | } |
| 2512 | } | 2512 | } |
| 2513 | 2513 | ||
| 2514 | if ((isOAI && /^gpt-5/.test(oai_settings.openai_model)) || (isAzureOpenAI && /^gpt-5/.test(oai_settings.azure_openai_model))) { | 2514 | if ((isOAI && /^gpt-5/.test(model)) || (isAzureOpenAI && /^gpt-5/.test(model))) { |
| 2515 | generate_data.max_completion_tokens = generate_data.max_tokens; | 2515 | generate_data.max_completion_tokens = generate_data.max_tokens; |
| 2516 | delete generate_data.max_tokens; | 2516 | delete generate_data.max_tokens; |
| 2517 | delete generate_data.logprobs; | 2517 | delete generate_data.logprobs; |
| 2518 | delete generate_data.top_logprobs; | 2518 | delete generate_data.top_logprobs; |
| 2519 | if (/gpt-5-chat-latest/.test(oai_settings.openai_model)) { | 2519 | if (/gpt-5-chat-latest/.test(model)) { |
| 2520 | delete generate_data.tools; | 2520 | delete generate_data.tools; |
| 2521 | delete generate_data.tool_choice; | 2521 | delete generate_data.tool_choice; |
| 2522 | } else if (/gpt-5.1/.test(model) && !/chat-latest/.test(model)) { | ||
| 2523 | delete generate_data.frequency_penalty; | ||
| 2524 | delete generate_data.presence_penalty; | ||
| 2525 | delete generate_data.logit_bias; | ||
| 2526 | delete generate_data.stop; | ||
| 2522 | } else { | 2527 | } else { |
| 2523 | delete generate_data.temperature; | 2528 | delete generate_data.temperature; |
| 2524 | delete generate_data.top_p; | 2529 | delete generate_data.top_p; |
| @@ -466,6 +466,9 @@ export const OPENAI_REASONING_EFFORT_MODELS = [ | |||
| 466 | 'gpt-5-mini-2025-08-07', | 466 | 'gpt-5-mini-2025-08-07', |
| 467 | 'gpt-5-nano', | 467 | 'gpt-5-nano', |
| 468 | 'gpt-5-nano-2025-08-07', | 468 | 'gpt-5-nano-2025-08-07', |
| 469 | 'gpt-5.1', | ||
| 470 | 'gpt-5.1-2025-11-13', | ||
| 471 | 'gpt-5.1-chat-latest', | ||
| 469 | ]; | 472 | ]; |
| 470 | 473 | ||
| 471 | export const OPENAI_REASONING_EFFORT_MAP = { | 474 | export const OPENAI_REASONING_EFFORT_MAP = { |