doomiaichat
Version:
Doomisoft OpenAI
44 lines (43 loc) • 1.57 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createAIInstance = exports.AIProviderEnum = void 0;
/**
* 语音转文字服务商工厂
*/
const openai_1 = __importDefault(require("./openai"));
const azureai_1 = __importDefault(require("./azureai"));
const baiduai_1 = __importDefault(require("./baiduai"));
/**
* OpenAI/NLP 的服务提供商 OpenAI,微软,百度文心(待接入),google(待接入)
*/
exports.AIProviderEnum = {
OPENAI: 'openai',
MICROSOFT: 'microsoft',
BAIDU: 'baidu',
GOOGLE: 'google'
};
/**
* 根据类型创建不同的TTS引擎对象
* @param {*} provider
* @param {*} apikey
* @param {*} setting
* @returns
*/
function createAIInstance(provider, apikey, setting) {
let { model, maxtoken, temperature, endpoint, engine, version } = setting || {};
switch (provider) {
case exports.AIProviderEnum.OPENAI:
return new openai_1.default(apikey + '', { model, maxtoken, temperature });
case exports.AIProviderEnum.MICROSOFT:
return new azureai_1.default(apikey + '', { endpoint, engine, version }, { model, maxtoken, temperature });
case exports.AIProviderEnum.BAIDU:
let cred = typeof (apikey) === 'string' ? { apikey, securitykey: apikey } : apikey;
return new baiduai_1.default(cred);
default: return null;
}
}
exports.createAIInstance = createAIInstance;
;