AIX: OpenAI ChatCompletion: remove multipart hotfix (not needed anymore)

This commit is contained in:
Enrico Ros
2025-12-01 08:27:55 -08:00
parent d05e1786d7
commit 1de039c315
@@ -38,7 +38,6 @@ export function aixToOpenAIChatCompletions(openAIDialect: OpenAIDialects, model:
const hotFixAlternateUserAssistantRoles = openAIDialect === 'deepseek' || openAIDialect === 'perplexity';
const hotFixRemoveEmptyMessages = openAIDialect === 'perplexity';
const hotFixRemoveStreamOptions = openAIDialect === 'azure' || openAIDialect === 'mistral';
const hotFixSquashMultiPartText = openAIDialect === 'deepseek';
const hotFixThrowCannotFC =
// [OpenRouter] 2025-10-02: do not throw, rather let it fail if upstream has issues
// openAIDialect === 'openrouter' || /* OpenRouter FC support is not good (as of 2024-07-15) */
@@ -60,8 +59,6 @@ export function aixToOpenAIChatCompletions(openAIDialect: OpenAIDialects, model:
let chatMessages = _toOpenAIMessages(chatGenerate.systemMessage, chatGenerate.chatSequence, hotFixOpenAIOFamily);
// Apply hotfixes
if (hotFixSquashMultiPartText)
chatMessages = _fixSquashMultiPartText(chatMessages);
if (hotFixRemoveEmptyMessages)
chatMessages = _fixRemoveEmptyMessages(chatMessages);
@@ -350,17 +347,6 @@ function _fixRemoveStreamOptions(payload: TRequest): TRequest {
return rest;
}
function _fixSquashMultiPartText(chatMessages: TRequestMessages): TRequestMessages {
// Convert multi-part text messages to single strings for older OpenAI dialects
return chatMessages.reduce((acc, message) => {
if (message.role === 'user' && Array.isArray(message.content))
acc.push({ role: message.role, content: message.content.filter(part => part.type === 'text').map(textPart => textPart.text).filter(text => !!text).join(hotFixSquashTextSeparator) });
else
acc.push(message);
return acc;
}, [] as TRequestMessages);
}
function _fixVndOaiRestoreMarkdown_Inline(payload: TRequest) {
// OpenAI - https://platform.openai.com/docs/guides/reasoning/advice-on-prompting#advice-on-prompting