perrf chat不请求余额

This commit is contained in:
archer
2023-03-31 14:13:00 +08:00
parent df9ac99ef2
commit a3d74ec4a6
5 changed files with 17 additions and 11 deletions

View File

@@ -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,

View File

@@ -40,7 +40,7 @@ export async function generateAbstract(next = false): Promise<any> {
// 获取 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) {

View File

@@ -37,7 +37,7 @@ export async function generateQA(next = false): Promise<any> {
// 获取 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) {

View File

@@ -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);

View File

@@ -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 {