| }, | }, | ||||
| } | } | ||||
| const lastAnswer = chatListRef.current.at(-1) | |||||
| const data: any = { | const data: any = { | ||||
| query: message, | query: message, | ||||
| inputs, | inputs, | ||||
| model_config: configData, | model_config: configData, | ||||
| parent_message_id: last_answer?.id || chatListRef.current.at(-1)?.id || null, | |||||
| parent_message_id: last_answer?.id || (lastAnswer | |||||
| ? lastAnswer.isOpeningStatement | |||||
| ? null | |||||
| : lastAnswer.id | |||||
| : null), | |||||
| } | } | ||||
| if (visionConfig.enabled && files?.length && supportVision) | if (visionConfig.enabled && files?.length && supportVision) |
| }, []) | }, []) | ||||
| const doSend: OnSend = useCallback((message, files, last_answer) => { | const doSend: OnSend = useCallback((message, files, last_answer) => { | ||||
| const lastAnswer = chatListRef.current.at(-1) | |||||
| const data: any = { | const data: any = { | ||||
| query: message, | query: message, | ||||
| inputs: currentConversationId ? currentConversationItem?.inputs : newConversationInputs, | inputs: currentConversationId ? currentConversationItem?.inputs : newConversationInputs, | ||||
| conversation_id: currentConversationId, | conversation_id: currentConversationId, | ||||
| parent_message_id: last_answer?.id || chatListRef.current.at(-1)?.id || null, | |||||
| parent_message_id: last_answer?.id || (lastAnswer | |||||
| ? lastAnswer.isOpeningStatement | |||||
| ? null | |||||
| : lastAnswer.id | |||||
| : null), | |||||
| } | } | ||||
| if (appConfig?.file_upload?.image.enabled && files?.length) | if (appConfig?.file_upload?.image.enabled && files?.length) |
| }, []) | }, []) | ||||
| const doSend: OnSend = useCallback((message, files, last_answer) => { | const doSend: OnSend = useCallback((message, files, last_answer) => { | ||||
| const lastAnswer = chatListRef.current.at(-1) | |||||
| const data: any = { | const data: any = { | ||||
| query: message, | query: message, | ||||
| inputs: currentConversationId ? currentConversationItem?.inputs : newConversationInputs, | inputs: currentConversationId ? currentConversationItem?.inputs : newConversationInputs, | ||||
| conversation_id: currentConversationId, | conversation_id: currentConversationId, | ||||
| parent_message_id: last_answer?.id || chatListRef.current.at(-1)?.id || null, | |||||
| parent_message_id: last_answer?.id || (lastAnswer | |||||
| ? lastAnswer.isOpeningStatement | |||||
| ? null | |||||
| : lastAnswer.id | |||||
| : null), | |||||
| } | } | ||||
| if (appConfig?.file_upload?.image.enabled && files?.length) | if (appConfig?.file_upload?.image.enabled && files?.length) |
| ) | ) | ||||
| const doSend = useCallback<OnSend>((query, files, last_answer) => { | const doSend = useCallback<OnSend>((query, files, last_answer) => { | ||||
| const lastAnswer = chatListRef.current.at(-1) | |||||
| handleSend( | handleSend( | ||||
| { | { | ||||
| query, | query, | ||||
| files, | files, | ||||
| inputs: workflowStore.getState().inputs, | inputs: workflowStore.getState().inputs, | ||||
| conversation_id: conversationId, | conversation_id: conversationId, | ||||
| parent_message_id: last_answer?.id || chatListRef.current.at(-1)?.id || null, | |||||
| parent_message_id: last_answer?.id || (lastAnswer | |||||
| ? lastAnswer.isOpeningStatement | |||||
| ? null | |||||
| : lastAnswer.id | |||||
| : null), | |||||
| }, | }, | ||||
| { | { | ||||
| onGetSuggestedQuestions: (messageId, getAbortController) => fetchSuggestedQuestions(appDetail!.id, messageId, getAbortController), | onGetSuggestedQuestions: (messageId, getAbortController) => fetchSuggestedQuestions(appDetail!.id, messageId, getAbortController), |