import OpenAI from '@fastgpt/global/core/ai'; import { type OpenaiAccountType } from '@fastgpt/global/support/user/team/type'; const aiProxyBaseUrl = process.env.AIPROXY_API_ENDPOINT ? `${process.env.AIPROXY_API_ENDPOINT}/v1` : undefined; const openaiBaseUrl = aiProxyBaseUrl || process.env.OPENAI_BASE_URL || 'https://api.openai.com/v1'; const openaiBaseKey = process.env.AIPROXY_API_TOKEN || process.env.CHAT_API_KEY || ''; export const getAIApi = (props?: { userKey?: OpenaiAccountType; timeout?: number }) => { const { userKey, timeout } = props || {}; const baseUrl = userKey?.baseUrl || global?.systemEnv?.oneapiUrl || openaiBaseUrl; const apiKey = userKey?.key || global?.systemEnv?.chatApiKey || openaiBaseKey; return new OpenAI({ baseURL: baseUrl, apiKey, httpAgent: global.httpsAgent, timeout, maxRetries: 2 }); }; export const getAxiosConfig = (props?: { userKey?: OpenaiAccountType }) => { const { userKey } = props || {}; const baseUrl = userKey?.baseUrl || global?.systemEnv?.oneapiUrl || openaiBaseUrl; const apiKey = userKey?.key || global?.systemEnv?.chatApiKey || openaiBaseKey; return { baseUrl, authorization: `Bearer ${apiKey}` }; };