mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
feat: fetch knowledge detail on KnowledgeUploadFile mount and add category column to chunk table and set initial value for the model field of chat setting (#104)
* feat: set initial value for the model field of chat setting * feat: add category column to chunk table * feat: fetch knowledge detail on KnowledgeUploadFile mount
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
import showDeleteConfirm from '@/components/deleting-confirm';
|
||||
import { KnowledgeSearchParams } from '@/constants/knowledge';
|
||||
import { IKnowledge, ITenantInfo } from '@/interfaces/database/knowledge';
|
||||
import { IKnowledge } from '@/interfaces/database/knowledge';
|
||||
import { useCallback, useEffect, useMemo } from 'react';
|
||||
import { useDispatch, useSearchParams, useSelector } from 'umi';
|
||||
|
||||
@ -11,6 +11,17 @@ export const useKnowledgeBaseId = (): string => {
|
||||
return knowledgeBaseId || '';
|
||||
};
|
||||
|
||||
export const useGetKnowledgeSearchParams = () => {
|
||||
const [currentQueryParameters] = useSearchParams();
|
||||
|
||||
return {
|
||||
documentId:
|
||||
currentQueryParameters.get(KnowledgeSearchParams.DocumentId) || '',
|
||||
knowledgeId:
|
||||
currentQueryParameters.get(KnowledgeSearchParams.KnowledgeId) || '',
|
||||
};
|
||||
};
|
||||
|
||||
export const useDeleteDocumentById = (): {
|
||||
removeDocument: (documentId: string) => Promise<number>;
|
||||
} => {
|
||||
@ -36,12 +47,37 @@ export const useDeleteDocumentById = (): {
|
||||
};
|
||||
};
|
||||
|
||||
export const useGetDocumentDefaultParser = (knowledgeBaseId: string) => {
|
||||
const data: IKnowledge[] = useSelector(
|
||||
(state: any) => state.knowledgeModel.data,
|
||||
export const useFetchKnowledgeDetail = () => {
|
||||
const dispatch = useDispatch();
|
||||
const { knowledgeId } = useGetKnowledgeSearchParams();
|
||||
|
||||
const fetchKnowledgeDetail = useCallback(
|
||||
(knowledgeId: string) => {
|
||||
dispatch({
|
||||
type: 'knowledgeModel/getKnowledgeDetail',
|
||||
payload: { kb_id: knowledgeId },
|
||||
});
|
||||
},
|
||||
[dispatch],
|
||||
);
|
||||
|
||||
const item = data.find((x) => x.id === knowledgeBaseId);
|
||||
useEffect(() => {
|
||||
fetchKnowledgeDetail(knowledgeId);
|
||||
}, [fetchKnowledgeDetail, knowledgeId]);
|
||||
|
||||
return fetchKnowledgeDetail;
|
||||
};
|
||||
|
||||
export const useSelectKnowledgeDetail = () => {
|
||||
const knowledge: IKnowledge = useSelector(
|
||||
(state: any) => state.knowledgeModel.knowledge,
|
||||
);
|
||||
|
||||
return knowledge;
|
||||
};
|
||||
|
||||
export const useGetDocumentDefaultParser = () => {
|
||||
const item = useSelectKnowledgeDetail();
|
||||
|
||||
return {
|
||||
defaultParserId: item?.parser_id ?? '',
|
||||
@ -79,35 +115,6 @@ export const useDeleteChunkByIds = (): {
|
||||
};
|
||||
};
|
||||
|
||||
export const useSelectParserList = (): Array<{
|
||||
value: string;
|
||||
label: string;
|
||||
}> => {
|
||||
const tenantIfo: Nullable<ITenantInfo> = useSelector(
|
||||
(state: any) => state.settingModel.tenantIfo,
|
||||
);
|
||||
|
||||
const parserList = useMemo(() => {
|
||||
const parserArray: Array<string> = tenantIfo?.parser_ids.split(',') ?? [];
|
||||
return parserArray.map((x) => {
|
||||
const arr = x.split(':');
|
||||
return { value: arr[0], label: arr[1] };
|
||||
});
|
||||
}, [tenantIfo]);
|
||||
|
||||
return parserList;
|
||||
};
|
||||
|
||||
export const useFetchParserList = () => {
|
||||
const dispatch = useDispatch();
|
||||
|
||||
useEffect(() => {
|
||||
dispatch({
|
||||
type: 'settingModel/getTenantInfo',
|
||||
});
|
||||
}, [dispatch]);
|
||||
};
|
||||
|
||||
export const useFetchKnowledgeBaseConfiguration = () => {
|
||||
const dispatch = useDispatch();
|
||||
const knowledgeBaseId = useKnowledgeBaseId();
|
||||
@ -182,14 +189,3 @@ export const useFetchFileThumbnails = (docIds?: Array<string>) => {
|
||||
|
||||
return { fileThumbnails, fetchFileThumbnails };
|
||||
};
|
||||
|
||||
export const useGetKnowledgeSearchParams = () => {
|
||||
const [currentQueryParameters] = useSearchParams();
|
||||
|
||||
return {
|
||||
documentId:
|
||||
currentQueryParameters.get(KnowledgeSearchParams.DocumentId) || '',
|
||||
knowledgeId:
|
||||
currentQueryParameters.get(KnowledgeSearchParams.KnowledgeId) || '',
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user