feat: handle questioin classify

This commit is contained in:
Joel 2024-03-18 11:26:26 +08:00
parent b8ecfd859b
commit 13dbc7f0ce
4 changed files with 18 additions and 9 deletions

View File

@ -133,7 +133,7 @@ const MemoryConfig: FC<Props> = ({
<div className='flex items-center h-8 space-x-2'> <div className='flex items-center h-8 space-x-2'>
<Slider <Slider
className='w-[144px]' className='w-[144px]'
value={payload.window?.size as number} value={(payload.window?.size || WINDOW_SIZE_DEFAULT) as number}
min={WINDOW_SIZE_MIN} min={WINDOW_SIZE_MIN}
max={WINDOW_SIZE_MAX} max={WINDOW_SIZE_MAX}
step={1} step={1}
@ -141,7 +141,7 @@ const MemoryConfig: FC<Props> = ({
disabled={readonly} disabled={readonly}
/> />
<input <input
value={(payload.window?.size || '') as number} value={(payload.window?.size || WINDOW_SIZE_DEFAULT) as number}
className='shrink-0 block ml-4 pl-3 w-12 h-8 appearance-none outline-none rounded-lg bg-gray-100 text-[13px] text-gra-900' className='shrink-0 block ml-4 pl-3 w-12 h-8 appearance-none outline-none rounded-lg bg-gray-100 text-[13px] text-gra-900'
type='number' type='number'
min={WINDOW_SIZE_MIN} min={WINDOW_SIZE_MIN}

View File

@ -10,6 +10,7 @@ const i18nPrefix = 'workflow.nodes.questionClassifiers'
type Props = { type Props = {
instruction: string instruction: string
onInstructionChange: (instruction: string) => void onInstructionChange: (instruction: string) => void
hideMemorySetting: boolean
memory: Memory memory: Memory
onMemoryChange: (memory: Memory) => void onMemoryChange: (memory: Memory) => void
} }
@ -17,6 +18,7 @@ type Props = {
const AdvancedSetting: FC<Props> = ({ const AdvancedSetting: FC<Props> = ({
instruction, instruction,
onInstructionChange, onInstructionChange,
hideMemorySetting,
memory, memory,
onMemoryChange, onMemoryChange,
}) => { }) => {
@ -37,13 +39,15 @@ const AdvancedSetting: FC<Props> = ({
</div> </div>
)} )}
/> />
<MemoryConfig {!hideMemorySetting && (
className='mt-4' <MemoryConfig
readonly={false} className='mt-4'
payload={memory} readonly={false}
onChange={onMemoryChange} payload={memory}
canSetRoleName={false} onChange={onMemoryChange}
/> canSetRoleName={false}
/>
)}
</> </>
) )
} }

View File

@ -24,6 +24,7 @@ const Panel: FC<NodePanelProps<QuestionClassifierNodeType>> = ({
const { const {
inputs, inputs,
handleModelChanged, handleModelChanged,
isChatModel,
handleCompletionParamsChange, handleCompletionParamsChange,
handleQueryVarChange, handleQueryVarChange,
handleTopicsChange, handleTopicsChange,
@ -86,6 +87,7 @@ const Panel: FC<NodePanelProps<QuestionClassifierNodeType>> = ({
supportFold supportFold
> >
<AdvancedSetting <AdvancedSetting
hideMemorySetting={!isChatModel}
instruction={inputs.instruction} instruction={inputs.instruction}
onInstructionChange={handleInstructionChange} onInstructionChange={handleInstructionChange}
memory={inputs.memory} memory={inputs.memory}

View File

@ -28,6 +28,8 @@ const useConfig = (id: string, payload: QuestionClassifierNodeType) => {
} = useModelListAndDefaultModelAndCurrentProviderAndModel(1) } = useModelListAndDefaultModelAndCurrentProviderAndModel(1)
const model = inputs.model const model = inputs.model
const modelMode = inputs.model?.mode
const isChatModel = modelMode === 'chat'
const handleModelChanged = useCallback((model: { provider: string; modelId: string; mode?: string }) => { const handleModelChanged = useCallback((model: { provider: string; modelId: string; mode?: string }) => {
const newInputs = produce(inputRef.current, (draft) => { const newInputs = produce(inputRef.current, (draft) => {
@ -133,6 +135,7 @@ const useConfig = (id: string, payload: QuestionClassifierNodeType) => {
return { return {
inputs, inputs,
handleModelChanged, handleModelChanged,
isChatModel,
handleCompletionParamsChange, handleCompletionParamsChange,
handleQueryVarChange, handleQueryVarChange,
filterVar, filterVar,