diff --git a/web/src/pages/add-knowledge/components/knowledge-dataset/knowledge-upload-file/index.tsx b/web/src/pages/add-knowledge/components/knowledge-dataset/knowledge-upload-file/index.tsx
index b3e5a7a88fc252b104804bdcc2d562c1a8cf1762..3e84a8ea4c7bc2068cfbdb9cac2007538c98ee2b 100644
--- a/web/src/pages/add-knowledge/components/knowledge-dataset/knowledge-upload-file/index.tsx
+++ b/web/src/pages/add-knowledge/components/knowledge-dataset/knowledge-upload-file/index.tsx
@@ -44,6 +44,7 @@ import {
 } from 'react';
 import { Link, useDispatch, useNavigate } from 'umi';
 
+import { useSetDocumentParser } from '@/hooks/documentHooks';
 import styles from './index.less';
 
 const { Dragger } = Upload;
@@ -66,21 +67,14 @@ const UploaderItem = ({
   const { parserConfig, defaultParserId } = useGetDocumentDefaultParser();
   const { removeDocument } = useDeleteDocumentById();
   const [value, setValue] = useState(defaultParserId);
-  const dispatch = useDispatch();
+  const setDocumentParser = useSetDocumentParser();
 
   const documentId = file?.response?.id;
 
   const parserList = useSelectParserList();
 
   const saveParser = (parserId: string) => {
-    dispatch({
-      type: 'kFModel/document_change_parser',
-      payload: {
-        parser_id: parserId,
-        doc_id: documentId,
-        parser_config: parserConfig,
-      },
-    });
+    setDocumentParser(parserId, documentId, parserConfig as any);
   };
 
   const onChange = (e: RadioChangeEvent) => {