Fix OpenRouter compatibility for OpenAI models (#4917) * Fix OpenRouter compatibility for OpenAI models * Don't disable o1 streaming on OpenRouter * Fix OpenRouter compatibility for o1 model handling --------- Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
Signed| @@ -2742,7 +2742,8 @@ export async function createGenerationParameters(settings, model, type, messages | |||
| 2742 | generate_data['seed'] = settings.seed; | 2742 | generate_data['seed'] = settings.seed; |
| 2743 | } | 2743 | } |
| 2744 | 2744 | ||
| 2745 | if (gptSources.includes(settings.chat_completion_source) && /^(o1|o3|o4)/.test(model)) { | 2745 | if ([chat_completion_sources.OPENAI, chat_completion_sources.AZURE_OPENAI].includes(settings.chat_completion_source) && /^(o1|o3|o4)/.test(model) || |
| 2746 | (chat_completion_sources.OPENROUTER === settings.chat_completion_source && /^openai\/(o1|o3|o4)/.test(model))) { | ||
| 2746 | generate_data.max_completion_tokens = generate_data.max_tokens; | 2747 | generate_data.max_completion_tokens = generate_data.max_tokens; |
| 2747 | delete generate_data.max_tokens; | 2748 | delete generate_data.max_tokens; |
| 2748 | delete generate_data.logprobs; | 2749 | delete generate_data.logprobs; |
| @@ -2753,7 +2754,7 @@ export async function createGenerationParameters(settings, model, type, messages | |||
| 2753 | delete generate_data.top_p; | 2754 | delete generate_data.top_p; |
| 2754 | delete generate_data.frequency_penalty; | 2755 | delete generate_data.frequency_penalty; |
| 2755 | delete generate_data.presence_penalty; | 2756 | delete generate_data.presence_penalty; |
| 2756 | if (model.startsWith('o1')) { | 2757 | if (/^(openai\/)?(o1)/.test(model)) { |
| 2757 | generate_data.messages.forEach((msg) => { | 2758 | generate_data.messages.forEach((msg) => { |
| 2758 | if (msg.role === 'system') { | 2759 | if (msg.role === 'system') { |
| 2759 | msg.role = 'user'; | 2760 | msg.role = 'user'; |
| @@ -2765,7 +2766,7 @@ export async function createGenerationParameters(settings, model, type, messages | |||
| 2765 | } | 2766 | } |
| 2766 | } | 2767 | } |
| 2767 | 2768 | ||
| 2768 | if (gptSources.includes(settings.chat_completion_source) && /^gpt-5/.test(model)) { | 2769 | if (gptSources.includes(settings.chat_completion_source) && /gpt-5/.test(model)) { |
| 2769 | generate_data.max_completion_tokens = generate_data.max_tokens; | 2770 | generate_data.max_completion_tokens = generate_data.max_tokens; |
| 2770 | delete generate_data.max_tokens; | 2771 | delete generate_data.max_tokens; |
| 2771 | delete generate_data.logprobs; | 2772 | delete generate_data.logprobs; |