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.14 kB
"use strict"; /** * Convert OpenAI request to DeepSeek format */ Object.defineProperty(exports, "__esModule", { value: true }); exports.convertOpenAIRequestToDeepSeek = convertOpenAIRequestToDeepSeek; exports.convertDeepSeekRequestToOpenAI = convertDeepSeekRequestToOpenAI; const openai_compatible_1 = require("../universal/openai-compatible"); const common_1 = require("../../types/common"); /** * Convert OpenAI request to DeepSeek format * DeepSeek uses OpenAI-compatible API with some specific extensions */ function convertOpenAIRequestToDeepSeek(request, options) { // Use the universal converter since DeepSeek is OpenAI-compatible const convertedRequest = (0, openai_compatible_1.convertOpenAIRequestToCompatible)(request, common_1.Platform.DeepSeek, options); // Add DeepSeek-specific extensions if (convertedRequest._extensions) { convertedRequest._extensions.deepseek = { ...convertedRequest._extensions.deepseek, // DeepSeek-specific model handling model: normalizeDeepSeekModel(request.model), // Preserve DeepSeek-specific parameters ...(request._extensions?.deepseek || {}) }; } return convertedRequest; } /** * Normalize model name for DeepSeek API */ function normalizeDeepSeekModel(model) { // DeepSeek model name mapping const modelMapping = { 'gpt-3.5-turbo': 'deepseek-chat', 'gpt-4': 'deepseek-chat', 'gpt-4-turbo': 'deepseek-chat', 'text-davinci-003': 'deepseek-coder', 'code-davinci-002': 'deepseek-coder' }; // If it's already a DeepSeek model, return as-is if (model.startsWith('deepseek-')) { return model; } // Return mapped model or default return modelMapping[model] || 'deepseek-chat'; } /** * Convert DeepSeek request to OpenAI format */ function convertDeepSeekRequestToOpenAI(request, options) { // Use the universal converter for reverse conversion const convertedRequest = (0, openai_compatible_1.convertOpenAIRequestToCompatible)(request, common_1.Platform.OpenAI, options); return convertedRequest; }