fix: chat message end

This commit is contained in:
StyleZhang 2024-09-27 10:30:36 +08:00
parent f7f836d6f1
commit 288be3fbd8
4 changed files with 8 additions and 7 deletions

View File

@ -14,8 +14,6 @@ export const useCheckInputsForms = () => {
let fileIsUploading = false
const requiredVars = inputsForm.filter(({ required }) => required)
console.log(inputs, inputsForm, 'inputs, inputsForm')
if (requiredVars?.length) {
requiredVars.forEach(({ variable, label, type }) => {
if (hasEmptyInput)

View File

@ -416,6 +416,8 @@ export const useChat = (
return
}
responseItem.citation = messageEnd.metadata?.retriever_resources || []
const processedFilesFromResponse = getProcessedFilesFromResponse(messageEnd.files || [])
responseItem.allFiles = uniqBy([...(responseItem.allFiles || []), ...(processedFilesFromResponse || [])], 'id')
const newListWithAnswer = produce(
chatListRef.current.filter(item => item.id !== responseItem.id && item.id !== placeholderAnswerId),
@ -520,8 +522,6 @@ export const useChat = (
return item.node_id === data.node_id && (item.execution_metadata?.parallel_id === data.execution_metadata.parallel_id)
})
responseItem.workflowProcess!.tracing[currentIndex] = data as any
const processedFilesFromResponse = getProcessedFilesFromResponse(data.files || [])
responseItem.allFiles = uniqBy([...(responseItem.allFiles || []), ...(processedFilesFromResponse || [])], 'id')
handleUpdateChatList(produce(chatListRef.current, (draft) => {
const currentIndex = draft.findIndex(item => item.id === responseItem.id)
draft[currentIndex] = {
@ -552,6 +552,7 @@ export const useChat = (
params.token,
params.appId,
pathname,
formSettings,
])
const handleAnnotationEdited = useCallback((query: string, answer: string, index: number) => {

View File

@ -3,6 +3,7 @@ import type { Annotation, MessageRating } from '@/models/log'
import type { VisionFile } from '@/types/app'
import type { FileEntity } from '@/app/components/base/file-uploader/types'
import type { InputVarType } from '@/app/components/workflow/types'
import type { FileResponse } from '@/types/workflow'
export type MessageMore = {
time: string
@ -114,6 +115,7 @@ export type Metadata = {
export type MessageEnd = {
id: string
metadata: Metadata
files?: FileResponse[]
}
export type MessageReplace = {

View File

@ -274,6 +274,8 @@ export const useChat = (
},
onMessageEnd: (messageEnd) => {
responseItem.citation = messageEnd.metadata?.retriever_resources || []
const processedFilesFromResponse = getProcessedFilesFromResponse(messageEnd.files || [])
responseItem.allFiles = uniqBy([...(responseItem.allFiles || []), ...(processedFilesFromResponse || [])], 'id')
const newListWithAnswer = produce(
chatListRef.current.filter(item => item.id !== responseItem.id && item.id !== placeholderAnswerId),
@ -386,8 +388,6 @@ export const useChat = (
: {}),
...data,
} as any
const processedFilesFromResponse = getProcessedFilesFromResponse(data.files || [])
responseItem.allFiles = uniqBy([...(responseItem.allFiles || []), ...(processedFilesFromResponse || [])], 'id')
handleUpdateChatList(produce(chatListRef.current, (draft) => {
const currentIndex = draft.findIndex(item => item.id === responseItem.id)
draft[currentIndex] = {
@ -398,7 +398,7 @@ export const useChat = (
},
},
)
}, [handleRun, handleResponding, handleUpdateChatList, notify, t, updateCurrentQA, config.suggested_questions_after_answer?.enabled])
}, [handleRun, handleResponding, handleUpdateChatList, notify, t, updateCurrentQA, config.suggested_questions_after_answer?.enabled, formSettings])
return {
conversationId: conversationId.current,