feat: pg vector 0.8.0;perf: app pdf enhance parse (#3962)

* perf: app pdf enhance parse

* feat: pg vector 0.8.0

* update schema default

* model sort and default image

* perf: i18n

* perf: ui tip
This commit is contained in:
Archer
2025-03-04 13:43:50 +08:00
committed by archer
parent adf5377ebe
commit 54eb5c0547
33 changed files with 181 additions and 66 deletions

View File

@@ -563,8 +563,10 @@ const DefaultModelModal = ({
embeddingModelList,
ttsModelList,
sttModelList,
reRankModelList
reRankModelList,
getVlmModelList
} = useSystemStore();
const vlmModelList = useMemo(() => getVlmModelList(), [getVlmModelList]);
// Create a copy of defaultModels for local state management
const [defaultData, setDefaultData] = useState(defaultModels);
@@ -703,6 +705,28 @@ const DefaultModelModal = ({
/>
</Box>
</Box>
<Box>
<Flex mt={4} {...labelStyles} alignItems={'center'}>
<Box mr={0.5}>{t('account_model:vlm_model')}</Box>
<QuestionTip label={t('account_model:vlm_model_tip')} />
</Flex>
<Box flex={1}>
<AIModelSelector
bg="myGray.50"
value={defaultData.datasetImageLLM?.model}
list={vlmModelList.map((item) => ({
value: item.model,
label: item.name
}))}
onchange={(e) => {
setDefaultData((state) => ({
...state,
datasetImageLLM: vlmModelList.find((item) => item.model === e)
}));
}}
/>
</Box>
</Box>
</ModalBody>
<ModalFooter>
<Button variant={'whiteBase'} mr={4} onClick={onClose}>

View File

@@ -35,21 +35,17 @@ import FormLabel from '@fastgpt/web/components/common/MyBox/FormLabel';
import MyNumberInput from '@fastgpt/web/components/common/Input/NumberInput';
import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip';
import { shadowLight } from '@fastgpt/web/styles/theme';
import AIModelSelector from '@/components/Select/AIModelSelector';
import { DatasetPageContext } from '@/web/core/dataset/context/datasetPageContext';
import { useToast } from '@fastgpt/web/hooks/useToast';
function DataProcess() {
const { t } = useTranslation();
const { feConfigs } = useSystemStore();
const { toast } = useToast();
const {
goToNext,
processParamsForm,
chunkSizeField,
minChunkSize,
maxChunkSize,
priceTip,
chunkSize
} = useContextSelector(DatasetImportContext, (v) => v);
const { goToNext, processParamsForm, chunkSizeField, minChunkSize, maxChunkSize } =
useContextSelector(DatasetImportContext, (v) => v);
const datasetDetail = useContextSelector(DatasetPageContext, (v) => v.datasetDetail);
const { getValues, setValue, register, watch } = processParamsForm;
const trainingType = watch('trainingType');
const chunkSettingMode = watch('chunkSettingMode');
@@ -177,9 +173,16 @@ function DataProcess() {
<QuestionTip label={t('dataset:auto_indexes_tips')} />
</HStack>
<HStack flex={'1'} spacing={1}>
<Checkbox {...register('imageIndex')}>
<FormLabel>{t('dataset:image_auto_parse')}</FormLabel>
</Checkbox>
<MyTooltip
label={!datasetDetail?.vlmModel ? t('common:error_vlm_not_config') : ''}
>
<Checkbox
isDisabled={!datasetDetail?.vlmModel}
{...register('imageIndex')}
>
<FormLabel>{t('dataset:image_auto_parse')}</FormLabel>
</Checkbox>
</MyTooltip>
<QuestionTip label={t('dataset:image_auto_parse_tips')} />
</HStack>
</HStack>

View File

@@ -37,7 +37,7 @@ const Info = ({ datasetId }: { datasetId: string }) => {
const { t } = useTranslation();
const { datasetDetail, loadDatasetDetail, updateDataset, rebuildingCount, trainingCount } =
useContextSelector(DatasetPageContext, (v) => v);
const { feConfigs, datasetModelList, embeddingModelList, getVllmModelList } = useSystemStore();
const { feConfigs, datasetModelList, embeddingModelList, getVlmModelList } = useSystemStore();
const [editedDataset, setEditedDataset] = useState<EditResourceInfoFormType>();
const [editedAPIDataset, setEditedAPIDataset] = useState<EditAPIDatasetInfoFormType>();
@@ -52,7 +52,7 @@ const Info = ({ datasetId }: { datasetId: string }) => {
const vectorModel = watch('vectorModel');
const agentModel = watch('agentModel');
const vllmModelList = useMemo(() => getVllmModelList(), [getVllmModelList]);
const vllmModelList = useMemo(() => getVlmModelList(), [getVlmModelList]);
const vlmModel = watch('vlmModel');
const { ConfirmModal: ConfirmDelModal } = useConfirm({

View File

@@ -40,7 +40,7 @@ const CreateModal = ({
}) => {
const { t } = useTranslation();
const router = useRouter();
const { feConfigs, defaultModels, embeddingModelList, datasetModelList, getVllmModelList } =
const { feConfigs, defaultModels, embeddingModelList, datasetModelList, getVlmModelList } =
useSystemStore();
const { isPc } = useSystem();
@@ -71,7 +71,7 @@ const CreateModal = ({
const filterNotHiddenVectorModelList = embeddingModelList.filter((item) => !item.hidden);
const vllmModelList = useMemo(() => getVllmModelList(), [getVllmModelList]);
const vllmModelList = useMemo(() => getVlmModelList(), [getVlmModelList]);
const form = useForm<CreateDatasetParams>({
defaultValues: {