text-generation support file type

This commit is contained in:
JzoNg 2024-09-25 15:01:56 +08:00
parent 195ac19774
commit f8d26e46ac
3 changed files with 47 additions and 3 deletions

View File

@ -392,6 +392,7 @@ const TextGeneration: FC<IMainProps> = ({
image_file_size_limit: appParams?.system_parameters?.image_file_size_limit,
})
const prompt_variables = userInputsFormToPromptVariables(user_input_form)
console.log(prompt_variables)
setPromptConfig({
prompt_template: '', // placeholder for future
prompt_variables,

View File

@ -94,6 +94,18 @@ const RunOnce: FC<IRunOnceProps> = ({
onChange={(e) => { onInputsChange({ ...inputs, [item.key]: e.target.value }) }}
/>
)}
{item.type === 'file' && (
<FileUploaderInAttachmentWrapper
onChange={(files) => { onInputsChange({ ...inputs, [item.key]: getProcessedFiles(files)[0] }) }}
fileConfig={item.config as any}
/>
)}
{item.type === 'file-list' && (
<FileUploaderInAttachmentWrapper
onChange={(files) => { onInputsChange({ ...inputs, [item.key]: getProcessedFiles(files) }) }}
fileConfig={item.config as any}
/>
)}
</div>
</div>
))}
@ -115,9 +127,6 @@ const RunOnce: FC<IRunOnceProps> = ({
</div>
)
}
<FileUploaderInAttachmentWrapper
onChange={files => onVisionFilesChange(getProcessedFiles(files))}
/>
{promptConfig.prompt_variables.length > 0 && (
<div className='mt-4 h-[1px] bg-gray-100'></div>
)}

View File

@ -18,6 +18,12 @@ export const userInputsFormToPromptVariables = (useInputs: UserInputFormItem[] |
if (item.number)
return ['number', item.number]
if (item.file)
return ['file', item.file]
if (item['file-list'])
return ['file-list', item['file-list']]
if (item.external_data_tool)
return [item.external_data_tool.type, item.external_data_tool]
@ -55,6 +61,34 @@ export const userInputsFormToPromptVariables = (useInputs: UserInputFormItem[] |
is_context_var,
})
}
else if (type === 'file') {
promptVariables.push({
key: content.variable,
name: content.label,
required: content.required,
type,
config: {
allowed_file_types: content.allowed_file_types,
allowed_file_extensions: content.allowed_file_extensions,
allowed_file_upload_methods: content.allowed_file_upload_methods,
number_limits: 1,
},
})
}
else if (type === 'file-list') {
promptVariables.push({
key: content.variable,
name: content.label,
required: content.required,
type,
config: {
allowed_file_types: content.allowed_file_types,
allowed_file_extensions: content.allowed_file_extensions,
allowed_file_upload_methods: content.allowed_file_upload_methods,
number_limits: content.max_length,
},
})
}
else {
promptVariables.push({
key: content.variable,