File size: 1,587 Bytes
b9fe2b4 |
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 |
import { useTranslate } from '@/hooks/common-hooks';
import { useHandleChunkMethodSelectChange } from '@/hooks/logic-hooks';
import { Form, Select } from 'antd';
import { memo } from 'react';
import {
useHasParsedDocument,
useSelectChunkMethodList,
useSelectEmbeddingModelOptions,
} from '../hooks';
export const EmbeddingModelItem = memo(function EmbeddingModelItem() {
const { t } = useTranslate('knowledgeConfiguration');
const embeddingModelOptions = useSelectEmbeddingModelOptions();
const disabled = useHasParsedDocument();
return (
<Form.Item
name="embd_id"
label={t('embeddingModel')}
rules={[{ required: true }]}
tooltip={t('embeddingModelTip')}
>
<Select
placeholder={t('embeddingModelPlaceholder')}
options={embeddingModelOptions}
disabled={disabled}
></Select>
</Form.Item>
);
});
export const ChunkMethodItem = memo(function ChunkMethodItem() {
const { t } = useTranslate('knowledgeConfiguration');
const form = Form.useFormInstance();
const handleChunkMethodSelectChange = useHandleChunkMethodSelectChange(form);
const disabled = useHasParsedDocument();
const parserList = useSelectChunkMethodList();
return (
<Form.Item
name="parser_id"
label={t('chunkMethod')}
tooltip={t('chunkMethodTip')}
rules={[{ required: true }]}
>
<Select
placeholder={t('chunkMethodPlaceholder')}
disabled={disabled}
onChange={handleChunkMethodSelectChange}
options={parserList}
></Select>
</Form.Item>
);
});
|