diff --git a/src/pages/api/chat/chatGpt.ts b/src/pages/api/chat/chatGpt.ts index 03adca679..f363318fb 100644 --- a/src/pages/api/chat/chatGpt.ts +++ b/src/pages/api/chat/chatGpt.ts @@ -91,7 +91,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) messages: formatPrompts, frequency_penalty: 0.5, // 越大,重复内容越少 presence_penalty: -0.5, // 越大,越容易出现新内容 - stream: true + stream: true, + stop: ['.!?。'] }, { timeout: 40000, diff --git a/src/service/events/generateAbstract.ts b/src/service/events/generateAbstract.ts index 61847063e..1314a10a6 100644 --- a/src/service/events/generateAbstract.ts +++ b/src/service/events/generateAbstract.ts @@ -40,7 +40,7 @@ export async function generateAbstract(next = false): Promise { // 获取 openapi Key let userApiKey, systemKey; try { - const key = await getOpenApiKey(dataItem.userId); + const key = await getOpenApiKey(dataItem.userId, true); userApiKey = key.userApiKey; systemKey = key.systemKey; } catch (error: any) { diff --git a/src/service/events/generateQA.ts b/src/service/events/generateQA.ts index 7f38f362f..15e570978 100644 --- a/src/service/events/generateQA.ts +++ b/src/service/events/generateQA.ts @@ -37,7 +37,7 @@ export async function generateQA(next = false): Promise { // 获取 openapi Key let userApiKey, systemKey; try { - const key = await getOpenApiKey(dataItem.userId); + const key = await getOpenApiKey(dataItem.userId, true); userApiKey = key.userApiKey; systemKey = key.systemKey; } catch (error: any) { diff --git a/src/service/utils/chat.ts b/src/service/utils/chat.ts index 3c0846333..5f5e11b85 100644 --- a/src/service/utils/chat.ts +++ b/src/service/utils/chat.ts @@ -35,7 +35,10 @@ export const authChat = async (chatId: string, authorization?: string) => { } // 获取 user 的 apiKey - const { user, userApiKey, systemKey } = await getOpenApiKey(chat.userId as unknown as string); + const { user, userApiKey, systemKey } = await getOpenApiKey( + chat.userId as unknown as string, + false + ); // filter 掉被 deleted 的内容 chat.content = chat.content.filter((item) => item.deleted !== true); diff --git a/src/service/utils/tools.ts b/src/service/utils/tools.ts index 8ae1d5670..a208b5cc5 100644 --- a/src/service/utils/tools.ts +++ b/src/service/utils/tools.ts @@ -97,7 +97,7 @@ export const getUserApiOpenai = async (userId: string) => { }; /* 获取 open api key,如果用户没有自己的key,就用平台的,用平台记得加账单 */ -export const getOpenApiKey = async (userId: string) => { +export const getOpenApiKey = async (userId: string, checkGrant = false) => { const user = await User.findById(userId); if (!user) { return Promise.reject('找不到用户'); @@ -108,12 +108,14 @@ export const getOpenApiKey = async (userId: string) => { // 有自己的key if (userApiKey) { // api 余额校验 - const hasGrant = await checkKeyGrant(userApiKey); - if (!hasGrant) { - return Promise.reject({ - code: 501, - message: 'API 余额不足' - }); + if (checkGrant) { + const hasGrant = await checkKeyGrant(userApiKey); + if (!hasGrant) { + return Promise.reject({ + code: 501, + message: 'API 余额不足' + }); + } } return {