doomiaichat
Version:
Doomisoft OpenAI
81 lines (80 loc) • 3.87 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createGpt = exports.GptProviderEnum = void 0;
//ts check
/**
* 语音转文字服务商工厂
*/
const openai_1 = __importDefault(require("./openai"));
const deepseek_1 = __importDefault(require("./deepseek"));
const corzbot_1 = __importDefault(require("./corzbot"));
const openaiproxy_1 = __importDefault(require("./openaiproxy"));
const azureai_1 = __importDefault(require("./azureai"));
const stabilityai_1 = __importDefault(require("./stabilityai"));
const stabilityplusai_1 = __importDefault(require("./stabilityplusai"));
const baiduai_1 = __importDefault(require("./baiduai"));
const aimp_1 = __importDefault(require("./aimp"));
const doubaoai_1 = __importDefault(require("./doubaoai"));
const corzauthorization_1 = require("./corzauthorization");
// 扣子的身份认证应用
const corzAuth = new Map();
/**
* OpenAI/NLP 的服务提供商 OpenAI,微软,百度文心(待接入),google(待接入)
*/
exports.GptProviderEnum = {
OPENAI: 'openai',
OPENAIPROXY: 'openaiproxy',
MICROSOFT: 'microsoft',
AIMP: 'aimp',
COZE: 'coze',
BAIDU: 'baidu',
DOUBAO: 'doubao',
DEEPSEEK: 'deepseek',
GOOGLE: 'google',
STABILITY: 'stability',
STABILITY2: 'stability2',
};
/**
* 根据类型创建不同的TTS引擎对象
* @param {*} provider
* @param {*} apikey
* @param {*} setting
* @returns
*/
function createGpt(provider, apikey, setting) {
let { model, agentid, maxtoken, temperature, serviceurl, endpoint, engine, version, embedding, top_p, presence_penalty, frequency_penalty } = setting || {};
switch (provider) {
case exports.GptProviderEnum.OPENAI:
return new openai_1.default(apikey + '', { model, maxtoken, temperature, embedding, top_p, presence_penalty, frequency_penalty });
case exports.GptProviderEnum.DEEPSEEK:
return new deepseek_1.default(apikey + '', { model, maxtoken, temperature, embedding, top_p, presence_penalty, frequency_penalty });
case exports.GptProviderEnum.OPENAIPROXY:
return new openaiproxy_1.default(apikey + '', { serviceurl }, { model, maxtoken, temperature, embedding, top_p, presence_penalty, frequency_penalty });
case exports.GptProviderEnum.MICROSOFT:
return new azureai_1.default(apikey + '', { endpoint, engine, version }, { model, maxtoken, temperature, embedding, top_p, presence_penalty, frequency_penalty });
case exports.GptProviderEnum.BAIDU:
let cred = typeof (apikey) === 'string' ? { apikey, securitykey: apikey } : apikey;
return new baiduai_1.default(cred);
case exports.GptProviderEnum.AIMP:
return new aimp_1.default(apikey + '', { endpoint, agentid });
case exports.GptProviderEnum.COZE:
let authorizationProvider = corzAuth.get(apikey + '');
if (!authorizationProvider) {
authorizationProvider = new corzauthorization_1.CorzAuthorization(apikey + '', setting);
corzAuth.set(apikey + '', authorizationProvider);
}
return new corzbot_1.default(authorizationProvider, setting);
case exports.GptProviderEnum.DOUBAO:
return new doubaoai_1.default(apikey + '', { model, maxtoken, temperature, top_p, presence_penalty, frequency_penalty });
case exports.GptProviderEnum.STABILITY:
return new stabilityai_1.default(apikey + '', { endpoint, engine }, setting);
case exports.GptProviderEnum.STABILITY2:
return new stabilityplusai_1.default(apikey + '', { endpoint, engine }, setting);
default: return null;
}
}
exports.createGpt = createGpt;
;