perf: openapi

This commit is contained in:
archer 2023-07-23 20:15:25 +08:00
parent 67e10d6f2c
commit ba965320d5
No known key found for this signature in database
GPG Key ID: 569A5660D2379E28
3 changed files with 11 additions and 17 deletions

View File

@ -13,7 +13,7 @@ import {
dispatchClassifyQuestion dispatchClassifyQuestion
} from '@/service/moduleDispatch'; } from '@/service/moduleDispatch';
import type { CreateChatCompletionRequest } from 'openai'; import type { CreateChatCompletionRequest } from 'openai';
import { gptMessage2ChatType } from '@/utils/adapt'; import { gptMessage2ChatType, textAdaptGptResponse } from '@/utils/adapt';
import { getChatHistory } from './getHistory'; import { getChatHistory } from './getHistory';
import { saveChat } from '@/service/utils/chat/saveChat'; import { saveChat } from '@/service/utils/chat/saveChat';
import { sseResponse } from '@/service/utils/tools'; import { sseResponse } from '@/service/utils/tools';
@ -154,6 +154,14 @@ export default withNextCors(async function handler(req: NextApiRequest, res: Nex
console.log(`finish time: ${(Date.now() - startTime) / 1000}s`); console.log(`finish time: ${(Date.now() - startTime) / 1000}s`);
if (stream) { if (stream) {
sseResponse({
res,
event: sseResponseEventEnum.answer,
data: textAdaptGptResponse({
text: null,
finish_reason: 'stop'
})
});
sseResponse({ sseResponse({
res, res,
event: sseResponseEventEnum.answer, event: sseResponseEventEnum.answer,

View File

@ -169,7 +169,7 @@ const ShareChat = ({ shareId, chatId }: { shareId: string; chatId: string }) =>
onChangeChat={(chatId) => { onChangeChat={(chatId) => {
console.log(chatId); console.log(chatId);
router.push({ router.replace({
query: { query: {
chatId: chatId || '', chatId: chatId || '',
shareId shareId

View File

@ -209,21 +209,7 @@ async function streamResponse({ res, response }: { res: NextApiResponse; respons
if (res.closed || error) return; if (res.closed || error) return;
if (data === '[DONE]') { if (data !== '[DONE]') {
sseResponse({
res,
event: sseResponseEventEnum.answer,
data: textAdaptGptResponse({
text: null,
finish_reason: 'stop'
})
});
sseResponse({
res,
event: sseResponseEventEnum.answer,
data: '[DONE]'
});
} else {
sseResponse({ sseResponse({
res, res,
event: sseResponseEventEnum.answer, event: sseResponseEventEnum.answer,