mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
feat: test document chunks (#62)
This commit is contained in:
@ -0,0 +1,72 @@
|
||||
import { BaseState } from '@/interfaces/common';
|
||||
import {
|
||||
ITestingChunk,
|
||||
ITestingDocument,
|
||||
} from '@/interfaces/database/knowledge';
|
||||
import kbService from '@/services/kbService';
|
||||
import { DvaModel } from 'umi';
|
||||
|
||||
export interface TestingModelState extends Pick<BaseState, 'pagination'> {
|
||||
chunks: ITestingChunk[];
|
||||
documents: ITestingDocument[];
|
||||
total: number;
|
||||
selectedDocumentIds: string[] | undefined;
|
||||
}
|
||||
|
||||
const initialState = {
|
||||
chunks: [],
|
||||
documents: [],
|
||||
total: 0,
|
||||
pagination: {
|
||||
current: 1,
|
||||
pageSize: 10,
|
||||
},
|
||||
selectedDocumentIds: undefined,
|
||||
};
|
||||
|
||||
const model: DvaModel<TestingModelState> = {
|
||||
namespace: 'testingModel',
|
||||
state: initialState,
|
||||
reducers: {
|
||||
setChunksAndDocuments(state, { payload }) {
|
||||
return {
|
||||
...state,
|
||||
...payload,
|
||||
};
|
||||
},
|
||||
setPagination(state, { payload }) {
|
||||
return { ...state, pagination: { ...state.pagination, ...payload } };
|
||||
},
|
||||
setSelectedDocumentIds(state, { payload }) {
|
||||
return { ...state, selectedDocumentIds: payload };
|
||||
},
|
||||
reset() {
|
||||
return initialState;
|
||||
},
|
||||
},
|
||||
effects: {
|
||||
*testDocumentChunk({ payload = {} }, { call, put, select }) {
|
||||
const { pagination, selectedDocumentIds }: TestingModelState =
|
||||
yield select((state: any) => state.testingModel);
|
||||
|
||||
const { data } = yield call(kbService.retrieval_test, {
|
||||
...payload,
|
||||
doc_ids: selectedDocumentIds,
|
||||
page: pagination.current,
|
||||
size: pagination.pageSize,
|
||||
});
|
||||
const { retcode, data: res } = data;
|
||||
if (retcode === 0) {
|
||||
yield put({
|
||||
type: 'setChunksAndDocuments',
|
||||
payload: {
|
||||
chunks: res.chunks,
|
||||
documents: res.doc_aggs,
|
||||
total: res.total,
|
||||
},
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
export default model;
|
||||
Reference in New Issue
Block a user