mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-25 06:14:06 +00:00
perf: user openai
This commit is contained in:
@@ -17,12 +17,13 @@ aliTemplateCode=xxxx
|
||||
TOKEN_KEY=dfdasfdas
|
||||
# root key, 最高权限
|
||||
ROOT_KEY=fdafasd
|
||||
# 使用 oneapi
|
||||
# ONEAPI_URL=https://xxxx.cloud.sealos.io/v1
|
||||
# ONEAPI_KEY=sk-xxxx
|
||||
# openai 的基本地址(国外的可以忽略,默认走 api.openai.com)。不用 oneapi 的话需要下面 2 个参数,用户的 key 也会走下面的参数
|
||||
OPENAI_BASE_URL=https://xxxx.cloud.sealos.io/openai/v1
|
||||
OPENAIKEY=sk-xxxx
|
||||
# openai 基本地址,可用作中转。
|
||||
OPENAI_BASE_URL=https://api.openai.com/v1
|
||||
# oneapi 地址,可以使用 oneapi 来实现多模型接入
|
||||
ONEAPI_URL=https://xxxx.cloud.sealos.io/openai/v1
|
||||
# 通用key。可以是 openai 的也可以是 oneapi 的。
|
||||
# 此处填写逻辑:填了 ONEAPI_URL,key 就填 oneapi 的。没填 ONEAPI_URL,key 就填 OPENAI_BASE_URL 对应的。
|
||||
CHAT_API_KEY=sk-xxxx
|
||||
# db
|
||||
MONGODB_URI=mongodb://username:password@0.0.0.0:27017/?authSource=admin
|
||||
MONGODB_NAME=fastgpt
|
||||
|
@@ -3,7 +3,7 @@ import { jsonRes } from '@/service/response';
|
||||
import { connectToDatabase, App } from '@/service/mongo';
|
||||
import type { PagingData } from '@/types';
|
||||
import type { ShareAppItem } from '@/types/app';
|
||||
import { parseCookie } from '@/service/utils/auth';
|
||||
import { authUser } from '@/service/utils/auth';
|
||||
import { Types } from 'mongoose';
|
||||
|
||||
/* 获取模型列表 */
|
||||
@@ -17,13 +17,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse<
|
||||
|
||||
await connectToDatabase();
|
||||
|
||||
let userId = '';
|
||||
|
||||
try {
|
||||
userId = await parseCookie(req.headers.cookie);
|
||||
} catch (error) {
|
||||
error;
|
||||
}
|
||||
const { userId } = await authUser({ req, authToken: true });
|
||||
|
||||
const regex = new RegExp(searchText, 'i');
|
||||
|
||||
|
@@ -1,10 +1,10 @@
|
||||
import { UserModelSchema } from '@/types/mongoSchema';
|
||||
import { Configuration, OpenAIApi } from 'openai';
|
||||
|
||||
export const openaiBaseUrl = 'https://api.openai.com/v1';
|
||||
export const baseUrl = process.env.ONEAPI_URL || process.env.OPENAI_BASE_URL || openaiBaseUrl;
|
||||
export const openaiBaseUrl = process.env.OPENAI_BASE_URL || 'https://api.openai.com/v1';
|
||||
export const baseUrl = process.env.ONEAPI_URL || openaiBaseUrl;
|
||||
|
||||
export const systemAIChatKey = process.env.ONEAPI_KEY || process.env.OPENAIKEY || '';
|
||||
export const systemAIChatKey = process.env.CHAT_API_KEY || '';
|
||||
|
||||
export const getAIChatApi = (props?: UserModelSchema['openaiAccount']) => {
|
||||
return new OpenAIApi(
|
||||
|
@@ -24,7 +24,7 @@ const defaultChatData: InitChatResponse = {
|
||||
chatId: '',
|
||||
appId: '',
|
||||
app: {
|
||||
name: '',
|
||||
name: 'FastAI',
|
||||
avatar: '/icon/logo.png',
|
||||
intro: '',
|
||||
canUse: false
|
||||
|
@@ -30,7 +30,7 @@ export const defaultHistory: ShareChatHistoryItemType = {
|
||||
const defaultShareChatData: ShareChatType = {
|
||||
userAvatar: HUMAN_ICON,
|
||||
app: {
|
||||
name: '',
|
||||
name: 'AI',
|
||||
avatar: '/icon/logo.png',
|
||||
intro: ''
|
||||
},
|
||||
|
@@ -53,6 +53,7 @@ export const useUserStore = create<State>()(
|
||||
});
|
||||
},
|
||||
async updateUserInfo(user: UserUpdateParams) {
|
||||
const oldInfo = (get().userInfo ? { ...get().userInfo } : null) as UserType | null;
|
||||
set((state) => {
|
||||
if (!state.userInfo) return;
|
||||
state.userInfo = {
|
||||
@@ -60,7 +61,14 @@ export const useUserStore = create<State>()(
|
||||
...user
|
||||
};
|
||||
});
|
||||
await putUserInfo(user);
|
||||
try {
|
||||
await putUserInfo(user);
|
||||
} catch (error) {
|
||||
set((state) => {
|
||||
state.userInfo = oldInfo;
|
||||
});
|
||||
return Promise.reject(error);
|
||||
}
|
||||
},
|
||||
myApps: [],
|
||||
myCollectionApps: [],
|
||||
|
Reference in New Issue
Block a user