Fix issue where a message that errors out creates a bad state

This commit is contained in:
Weves 2023-12-17 22:53:41 -08:00 committed by Chris Weaver
parent edfc849652
commit 677c32ea79
3 changed files with 20 additions and 7 deletions

View File

@ -18,6 +18,7 @@ import {
createChatSession,
getCitedDocumentsFromMessage,
getHumanAndAIMessageFromMessageNumber,
getLastSuccessfulMessageId,
handleAutoScroll,
handleChatFeedback,
nameChatSession,
@ -205,12 +206,11 @@ export const Chat = ({
let error: string | null = null;
let finalMessage: BackendMessage | null = null;
try {
const lastSuccessfulMessageId =
getLastSuccessfulMessageId(currMessageHistory);
for await (const packetBunch of sendMessage({
message: currMessage,
parentMessageId:
currMessageHistory.length > 0
? currMessageHistory[currMessageHistory.length - 1].messageId
: null,
parentMessageId: lastSuccessfulMessageId,
chatSessionId: currChatSessionId,
// if search-only set prompt to null to tell backend to not give an answer
promptId:

View File

@ -266,3 +266,16 @@ export function groupSessionsByDateRange(chatSessions: ChatSession[]) {
return groups;
}
export function getLastSuccessfulMessageId(messageHistory: Message[]) {
const lastSuccessfulMessage = messageHistory
.slice()
.reverse()
.find(
(message) =>
message.type === "assistant" &&
message.messageId !== -1 &&
message.messageId !== null
);
return lastSuccessfulMessage ? lastSuccessfulMessage?.messageId : null;
}

View File

@ -34,9 +34,9 @@ export const searchRequestStreamed = async ({
const filters = buildFilters(sources, documentSets, timeRange);
const threadMessage = {
message: query,
sender: null,
role: "user"
message: query,
sender: null,
role: "user",
};
const response = await fetch("/api/query/stream-answer-with-quote", {