mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-18 23:45:51 +08:00
fix: chat message end
This commit is contained in:
parent
f7f836d6f1
commit
288be3fbd8
@ -14,8 +14,6 @@ export const useCheckInputsForms = () => {
|
|||||||
let fileIsUploading = false
|
let fileIsUploading = false
|
||||||
const requiredVars = inputsForm.filter(({ required }) => required)
|
const requiredVars = inputsForm.filter(({ required }) => required)
|
||||||
|
|
||||||
console.log(inputs, inputsForm, 'inputs, inputsForm')
|
|
||||||
|
|
||||||
if (requiredVars?.length) {
|
if (requiredVars?.length) {
|
||||||
requiredVars.forEach(({ variable, label, type }) => {
|
requiredVars.forEach(({ variable, label, type }) => {
|
||||||
if (hasEmptyInput)
|
if (hasEmptyInput)
|
||||||
|
@ -416,6 +416,8 @@ export const useChat = (
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
responseItem.citation = messageEnd.metadata?.retriever_resources || []
|
responseItem.citation = messageEnd.metadata?.retriever_resources || []
|
||||||
|
const processedFilesFromResponse = getProcessedFilesFromResponse(messageEnd.files || [])
|
||||||
|
responseItem.allFiles = uniqBy([...(responseItem.allFiles || []), ...(processedFilesFromResponse || [])], 'id')
|
||||||
|
|
||||||
const newListWithAnswer = produce(
|
const newListWithAnswer = produce(
|
||||||
chatListRef.current.filter(item => item.id !== responseItem.id && item.id !== placeholderAnswerId),
|
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)
|
return item.node_id === data.node_id && (item.execution_metadata?.parallel_id === data.execution_metadata.parallel_id)
|
||||||
})
|
})
|
||||||
responseItem.workflowProcess!.tracing[currentIndex] = data as any
|
responseItem.workflowProcess!.tracing[currentIndex] = data as any
|
||||||
const processedFilesFromResponse = getProcessedFilesFromResponse(data.files || [])
|
|
||||||
responseItem.allFiles = uniqBy([...(responseItem.allFiles || []), ...(processedFilesFromResponse || [])], 'id')
|
|
||||||
handleUpdateChatList(produce(chatListRef.current, (draft) => {
|
handleUpdateChatList(produce(chatListRef.current, (draft) => {
|
||||||
const currentIndex = draft.findIndex(item => item.id === responseItem.id)
|
const currentIndex = draft.findIndex(item => item.id === responseItem.id)
|
||||||
draft[currentIndex] = {
|
draft[currentIndex] = {
|
||||||
@ -552,6 +552,7 @@ export const useChat = (
|
|||||||
params.token,
|
params.token,
|
||||||
params.appId,
|
params.appId,
|
||||||
pathname,
|
pathname,
|
||||||
|
formSettings,
|
||||||
])
|
])
|
||||||
|
|
||||||
const handleAnnotationEdited = useCallback((query: string, answer: string, index: number) => {
|
const handleAnnotationEdited = useCallback((query: string, answer: string, index: number) => {
|
||||||
|
@ -3,6 +3,7 @@ import type { Annotation, MessageRating } from '@/models/log'
|
|||||||
import type { VisionFile } from '@/types/app'
|
import type { VisionFile } from '@/types/app'
|
||||||
import type { FileEntity } from '@/app/components/base/file-uploader/types'
|
import type { FileEntity } from '@/app/components/base/file-uploader/types'
|
||||||
import type { InputVarType } from '@/app/components/workflow/types'
|
import type { InputVarType } from '@/app/components/workflow/types'
|
||||||
|
import type { FileResponse } from '@/types/workflow'
|
||||||
|
|
||||||
export type MessageMore = {
|
export type MessageMore = {
|
||||||
time: string
|
time: string
|
||||||
@ -114,6 +115,7 @@ export type Metadata = {
|
|||||||
export type MessageEnd = {
|
export type MessageEnd = {
|
||||||
id: string
|
id: string
|
||||||
metadata: Metadata
|
metadata: Metadata
|
||||||
|
files?: FileResponse[]
|
||||||
}
|
}
|
||||||
|
|
||||||
export type MessageReplace = {
|
export type MessageReplace = {
|
||||||
|
@ -274,6 +274,8 @@ export const useChat = (
|
|||||||
},
|
},
|
||||||
onMessageEnd: (messageEnd) => {
|
onMessageEnd: (messageEnd) => {
|
||||||
responseItem.citation = messageEnd.metadata?.retriever_resources || []
|
responseItem.citation = messageEnd.metadata?.retriever_resources || []
|
||||||
|
const processedFilesFromResponse = getProcessedFilesFromResponse(messageEnd.files || [])
|
||||||
|
responseItem.allFiles = uniqBy([...(responseItem.allFiles || []), ...(processedFilesFromResponse || [])], 'id')
|
||||||
|
|
||||||
const newListWithAnswer = produce(
|
const newListWithAnswer = produce(
|
||||||
chatListRef.current.filter(item => item.id !== responseItem.id && item.id !== placeholderAnswerId),
|
chatListRef.current.filter(item => item.id !== responseItem.id && item.id !== placeholderAnswerId),
|
||||||
@ -386,8 +388,6 @@ export const useChat = (
|
|||||||
: {}),
|
: {}),
|
||||||
...data,
|
...data,
|
||||||
} as any
|
} as any
|
||||||
const processedFilesFromResponse = getProcessedFilesFromResponse(data.files || [])
|
|
||||||
responseItem.allFiles = uniqBy([...(responseItem.allFiles || []), ...(processedFilesFromResponse || [])], 'id')
|
|
||||||
handleUpdateChatList(produce(chatListRef.current, (draft) => {
|
handleUpdateChatList(produce(chatListRef.current, (draft) => {
|
||||||
const currentIndex = draft.findIndex(item => item.id === responseItem.id)
|
const currentIndex = draft.findIndex(item => item.id === responseItem.id)
|
||||||
draft[currentIndex] = {
|
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 {
|
return {
|
||||||
conversationId: conversationId.current,
|
conversationId: conversationId.current,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user