UNPKG

ai-platform-converter

Version:

Lossless API parameter conversion between multiple AI platforms (OpenAI, Anthropic, Gemini, DeepSeek, Wenwen, Vertex AI, Huawei, BigModel)

56 lines (55 loc) 2.13 kB
"use strict"; /** * Convert OpenAI response to Wenwen format */ Object.defineProperty(exports, "__esModule", { value: true }); exports.convertOpenAIResponseToWenwen = convertOpenAIResponseToWenwen; exports.convertWenwenResponseToOpenAI = convertWenwenResponseToOpenAI; const openai_compatible_1 = require("../universal/openai-compatible"); const common_1 = require("../../types/common"); /** * Convert OpenAI response to Wenwen format * Wenwen uses OpenAI-compatible response format */ function convertOpenAIResponseToWenwen(response, options) { // Use the universal converter since Wenwen is OpenAI-compatible const convertedResponse = (0, openai_compatible_1.convertOpenAIResponseToCompatible)(response, common_1.Platform.Wenwen, options); // Add Wenwen-specific response handling if (convertedResponse._extensions) { convertedResponse._extensions.wenwen = { ...convertedResponse._extensions.wenwen, // Normalize model name for Wenwen response model: normalizeWenwenModel(response.model), // Preserve Wenwen-specific response fields ...(response._extensions?.wenwen || {}) }; } return convertedResponse; } /** * Normalize model name for Wenwen response */ function normalizeWenwenModel(model) { // Wenwen model name mapping for responses const modelMapping = { 'gpt-3.5-turbo': 'wenwen-chat', 'gpt-4': 'wenwen-chat', 'gpt-4-turbo': 'wenwen-chat', 'text-davinci-003': 'wenwen-text', 'code-davinci-002': 'wenwen-code' }; // If it's already a Wenwen model, return as-is if (model.startsWith('wenwen-')) { return model; } // Return mapped model or default return modelMapping[model] || 'wenwen-chat'; } /** * Convert Wenwen response to OpenAI format */ function convertWenwenResponseToOpenAI(response, options) { // Use the universal converter for reverse conversion const convertedResponse = (0, openai_compatible_1.convertOpenAIResponseToCompatible)(response, common_1.Platform.OpenAI, options); return convertedResponse; }