| import LLMSelect from '@/components/llm-select'; | |
| import { useTranslate } from '@/hooks/common-hooks'; | |
| import { Form, Select } from 'antd'; | |
| import { Operator } from '../../constant'; | |
| import { useBuildFormSelectOptions } from '../../form-hooks'; | |
| import { useSetLlmSetting } from '../../hooks'; | |
| import { IOperatorForm } from '../../interface'; | |
| import { useWatchConnectionChanges } from './hooks'; | |
| const RelevantForm = ({ onValuesChange, form, node }: IOperatorForm) => { | |
| const { t } = useTranslate('flow'); | |
| useSetLlmSetting(form); | |
| const buildRelevantOptions = useBuildFormSelectOptions( | |
| Operator.Relevant, | |
| node?.id, | |
| ); | |
| useWatchConnectionChanges({ nodeId: node?.id, form }); | |
| return ( | |
| <Form | |
| name="basic" | |
| labelCol={{ span: 4 }} | |
| wrapperCol={{ span: 20 }} | |
| onValuesChange={onValuesChange} | |
| autoComplete="off" | |
| form={form} | |
| > | |
| <Form.Item | |
| name={'llm_id'} | |
| label={t('model', { keyPrefix: 'chat' })} | |
| tooltip={t('modelTip', { keyPrefix: 'chat' })} | |
| > | |
| <LLMSelect></LLMSelect> | |
| </Form.Item> | |
| <Form.Item label={t('yes')} name={'yes'}> | |
| <Select | |
| allowClear | |
| options={buildRelevantOptions([form?.getFieldValue('no')])} | |
| /> | |
| </Form.Item> | |
| <Form.Item label={t('no')} name={'no'}> | |
| <Select | |
| allowClear | |
| options={buildRelevantOptions([form?.getFieldValue('yes')])} | |
| /> | |
| </Form.Item> | |
| </Form> | |
| ); | |
| }; | |
| export default RelevantForm; | |