UNPKG

doomiaichat

Version:

Doomisoft OpenAI

81 lines (80 loc) 3.87 kB
"use strict"; 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; ;