File size: 3,039 Bytes
e55650e 3054c20 452020d 058cd84 452020d 88e5a61 452020d e55650e 8c4ec99 88e5a61 8c4ec99 3054c20 452020d 88e5a61 7c07000 452020d 7c07000 452020d 3054c20 88e5a61 3054c20 88e5a61 3054c20 452020d 84f80c5 88e5a61 0957ae0 84f80c5 88e5a61 84f80c5 8c4ec99 88e5a61 8c4ec99 88e5a61 8c4ec99 452020d ae21b62 88e5a61 ae21b62 452020d 8c4ec99 88e5a61 8c4ec99 88e5a61 8c4ec99 7c07000 8c4ec99 88e5a61 8c4ec99 452020d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
import { useFetchKnowledgeList } from '@/hooks/knowledgeHook';
import { PlusOutlined } from '@ant-design/icons';
import { Form, Input, Select, Upload } from 'antd';
import classNames from 'classnames';
import { ISegmentedContentProps } from '../interface';
import { useTranslate } from '@/hooks/commonHooks';
import styles from './index.less';
const AssistantSetting = ({ show }: ISegmentedContentProps) => {
const { list: knowledgeList } = useFetchKnowledgeList(true);
const knowledgeOptions = knowledgeList.map((x) => ({
label: x.name,
value: x.id,
}));
const { t } = useTranslate('chat');
const normFile = (e: any) => {
if (Array.isArray(e)) {
return e;
}
return e?.fileList;
};
return (
<section
className={classNames({
[styles.segmentedHidden]: !show,
})}
>
<Form.Item
name={'name'}
label={t('assistantName')}
rules={[{ required: true, message: t('assistantNameMessage') }]}
>
<Input placeholder={t('namePlaceholder')} />
</Form.Item>
<Form.Item
name="icon"
label={t('assistantAvatar')}
valuePropName="fileList"
getValueFromEvent={normFile}
>
<Upload
listType="picture-card"
maxCount={1}
showUploadList={{ showPreviewIcon: false, showRemoveIcon: false }}
>
<button style={{ border: 0, background: 'none' }} type="button">
<PlusOutlined />
<div style={{ marginTop: 8 }}>
{t('upload', { keyPrefix: 'common' })}
</div>
</button>
</Upload>
</Form.Item>
<Form.Item
name={'language'}
label={t('language')}
initialValue={'English'}
tooltip="coming soon"
style={{ display: 'none' }}
>
<Select
options={[
{ value: 'Chinese', label: t('chinese', { keyPrefix: 'common' }) },
{ value: 'English', label: t('english', { keyPrefix: 'common' }) },
]}
/>
</Form.Item>
<Form.Item
name={['prompt_config', 'empty_response']}
label={t('emptyResponse')}
tooltip={t('emptyResponseTip')}
>
<Input placeholder="" />
</Form.Item>
<Form.Item
name={['prompt_config', 'prologue']}
label={t('setAnOpener')}
tooltip={t('setAnOpenerTip')}
initialValue={t('setAnOpenerInitial')}
>
<Input.TextArea autoSize={{ minRows: 5 }} />
</Form.Item>
<Form.Item
label={t('knowledgeBases')}
name="kb_ids"
tooltip={t('knowledgeBasesTip')}
rules={[
{
required: true,
message: t('knowledgeBasesMessage'),
type: 'array',
},
]}
>
<Select
mode="multiple"
options={knowledgeOptions}
placeholder={t('knowledgeBasesMessage')}
></Select>
</Form.Item>
</section>
);
};
export default AssistantSetting;
|