diff --git a/app/store/chat.ts b/app/store/chat.ts index cb11087d4..d9a4af781 100644 --- a/app/store/chat.ts +++ b/app/store/chat.ts @@ -402,14 +402,17 @@ export const useChatStore = create()( summarizeSession() { const session = get().currentSession(); + + // remove error messages if any + const cleanMessages = session.messages.filter((msg) => !msg.isError); // should summarize topic after chating more than 50 words const SUMMARIZE_MIN_LEN = 50; if ( session.topic === DEFAULT_TOPIC && - countMessages(session.messages) >= SUMMARIZE_MIN_LEN + countMessages(cleanMessages) >= SUMMARIZE_MIN_LEN ) { - requestWithPrompt(session.messages, Locale.Store.Prompt.Topic, { + requestWithPrompt(cleanMessages, Locale.Store.Prompt.Topic, { model: "gpt-3.5-turbo", }).then((res) => { get().updateCurrentSession( @@ -420,10 +423,10 @@ export const useChatStore = create()( } const modelConfig = session.mask.modelConfig; - let toBeSummarizedMsgs = session.messages.slice( + let toBeSummarizedMsgs = cleanMessages.slice( session.lastSummarizeIndex, ); - + const historyMsgLength = countMessages(toBeSummarizedMsgs); if (historyMsgLength > modelConfig?.max_tokens ?? 4000) {