perf: quote response

This commit is contained in:
archer
2023-07-17 16:12:51 +08:00
parent 60a9dfb55f
commit 53a4d9db05
20 changed files with 215 additions and 173 deletions

View File

@@ -3,6 +3,7 @@ import { jsonRes } from '@/service/response';
import { connectToDatabase, Chat } from '@/service/mongo';
import { authUser } from '@/service/utils/auth';
import { Types } from 'mongoose';
import { rawSearchKey } from '@/constants/chat';
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
try {
@@ -35,13 +36,13 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
},
{
$project: {
quote: '$content.quote'
[rawSearchKey]: `$content.${rawSearchKey}`
}
}
]);
jsonRes(res, {
data: history[0]?.quote || []
data: history[0]?.[rawSearchKey] || []
});
} catch (err) {
jsonRes(res, {

View File

@@ -11,7 +11,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
contentId,
quoteId,
sourceText = ''
} = req.query as {
} = req.body as {
historyId: string;
contentId: string;
quoteId: string;
@@ -33,7 +33,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
},
{
$set: {
'content.$.quote.$[quoteElem].source': sourceText
'content.$.rawSearch.$[quoteElem].source': sourceText
}
},
{

View File

@@ -9,6 +9,7 @@ import mongoose from 'mongoose';
import type { AppSchema, ChatSchema } from '@/types/mongoSchema';
import { FlowModuleTypeEnum } from '@/constants/flow';
import { SystemInputEnum } from '@/constants/app';
import { quoteLenKey, rawSearchKey } from '@/constants/chat';
/* 初始化我的聊天框,需要身份验证 */
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
@@ -82,8 +83,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
_id: '$content._id',
obj: '$content.obj',
value: '$content.value',
systemPrompt: '$content.systemPrompt',
quoteLen: { $size: { $ifNull: ['$content.quote', []] } }
[quoteLenKey]: { $size: { $ifNull: [`$content.${rawSearchKey}`, []] } }
}
}
]);