doc and config rerank (#475)

This commit is contained in:
Archer
2023-11-16 10:46:47 +08:00
committed by GitHub
parent cd3acb44ab
commit 16103029f5
18 changed files with 158 additions and 55 deletions

View File

@@ -9,7 +9,8 @@ import {
useTheme,
Textarea,
Grid,
Divider
Divider,
Switch
} from '@chakra-ui/react';
import Avatar from '@/components/Avatar';
import { useForm } from 'react-hook-form';
@@ -30,6 +31,7 @@ export type KbParamsType = {
searchSimilarity: number;
searchLimit: number;
searchEmptyText: string;
rerank: boolean;
};
export const DatasetSelectModal = ({
@@ -225,10 +227,11 @@ export const DatasetSelectModal = ({
);
};
export const KbParamsModal = ({
export const DatasetParamsModal = ({
searchEmptyText,
searchLimit,
searchSimilarity,
rerank,
onClose,
onChange
}: KbParamsType & { onClose: () => void; onChange: (e: KbParamsType) => void }) => {
@@ -237,7 +240,8 @@ export const KbParamsModal = ({
defaultValues: {
searchEmptyText,
searchLimit,
searchSimilarity
searchSimilarity,
rerank
}
});
@@ -245,6 +249,24 @@ export const KbParamsModal = ({
<MyModal isOpen={true} onClose={onClose} title={'搜索参数调整'} minW={['90vw', '600px']}>
<Flex flexDirection={'column'}>
<ModalBody>
{feConfigs?.isPlus && (
<Box display={['block', 'flex']} py={5} pt={[0, 5]}>
<Box flex={'0 0 100px'} mb={[8, 0]}>
<MyTooltip label={'将召回的结果进行进一步重排,可增加召回率'} forceShow>
<QuestionOutlineIcon ml={1} />
</MyTooltip>
</Box>
<Switch
size={'lg'}
isChecked={getValues('rerank')}
onChange={(e) => {
setValue('rerank', e.target.checked);
setRefresh(!refresh);
}}
/>
</Box>
)}
<Box display={['block', 'flex']} py={5} pt={[0, 5]}>
<Box flex={'0 0 100px'} mb={[8, 0]}>

View File

@@ -14,7 +14,8 @@ import {
useDisclosure,
Button,
useTheme,
Grid
Grid,
Switch
} from '@chakra-ui/react';
import { FlowNodeInputTypeEnum } from '@fastgpt/global/core/module/node/constant';
import { QuestionOutlineIcon } from '@chakra-ui/icons';
@@ -35,6 +36,7 @@ import type { SelectedDatasetType } from '@fastgpt/global/core/module/api.d';
import { useQuery } from '@tanstack/react-query';
import type { LLMModelItemType } from '@fastgpt/global/core/ai/model.d';
import type { EditFieldModeType, EditFieldType } from '../modules/FieldEditModal';
import { feConfigs } from '@/web/common/system/staticData';
const FieldEditModal = dynamic(() => import('../modules/FieldEditModal'));
const SelectAppModal = dynamic(() => import('../../SelectAppModal'));
@@ -163,7 +165,10 @@ const RenderInput = ({
editFiledType?: EditFieldModeType;
}) => {
const sortInputs = useMemo(
() => flowInputList.sort((a, b) => (a.key === FlowNodeInputTypeEnum.switch ? -1 : 1)),
() =>
flowInputList
.filter((item) => !item.plusField || feConfigs.isPlus)
.sort((a, b) => (a.key === FlowNodeInputTypeEnum.switch ? -1 : 1)),
[flowInputList]
);
return (
@@ -187,6 +192,9 @@ const RenderInput = ({
{item.type === FlowNodeInputTypeEnum.input && (
<TextInputRender item={item} moduleId={moduleId} />
)}
{item.type === FlowNodeInputTypeEnum.switch && (
<SwitchRender item={item} moduleId={moduleId} />
)}
{item.type === FlowNodeInputTypeEnum.textarea && (
<TextareaRender item={item} moduleId={moduleId} />
)}
@@ -277,6 +285,26 @@ var TextInputRender = React.memo(function TextInputRender({ item, moduleId }: Re
);
});
var SwitchRender = React.memo(function SwitchRender({ item, moduleId }: RenderProps) {
return (
<Switch
size={'lg'}
isChecked={item.value}
onChange={(e) => {
onChangeNode({
moduleId,
type: 'updateInput',
key: item.key,
value: {
...item,
value: e.target.checked
}
});
}}
/>
);
});
var TextareaRender = React.memo(function TextareaRender({ item, moduleId }: RenderProps) {
return (
<Textarea