Browse Source

fix: with file conversation second chat raise error (#15097)

tags/1.0.1
非法操作 7 months ago
parent
commit
d84fa4d154
No account linked to committer's email address
1 changed files with 24 additions and 4 deletions
  1. 24
    4
      web/app/components/base/chat/chat/utils.ts

+ 24
- 4
web/app/components/base/chat/chat/utils.ts View File

@@ -17,15 +17,35 @@ export const processOpeningStatement = (openingStatement: string, inputs: Record
})
}

export const processInputFileFromServer = (fileItem: Record<string, any>) => {
return {
type: fileItem.type,
transfer_method: fileItem.transfer_method,
url: fileItem.remote_url,
upload_file_id: fileItem.related_id,
}
}

export const getProcessedInputs = (inputs: Record<string, any>, inputsForm: InputForm[]) => {
const processedInputs = { ...inputs }

inputsForm.forEach((item) => {
if (item.type === InputVarType.multiFiles && inputs[item.variable])
processedInputs[item.variable] = getProcessedFiles(inputs[item.variable])
const inputValue = inputs[item.variable]
if (!inputValue)
return

if (item.type === InputVarType.singleFile && inputs[item.variable])
processedInputs[item.variable] = getProcessedFiles([inputs[item.variable]])[0]
if (item.type === InputVarType.singleFile) {
if ('transfer_method' in inputValue)
processedInputs[item.variable] = processInputFileFromServer(inputValue)
else
processedInputs[item.variable] = getProcessedFiles([inputValue])[0]
}
else if (item.type === InputVarType.multiFiles) {
if ('transfer_method' in inputValue[0])
processedInputs[item.variable] = inputValue.map(processInputFileFromServer)
else
processedInputs[item.variable] = getProcessedFiles(inputValue)
}
})

return processedInputs

Loading…
Cancel
Save