From 4d194d0c3e6756f6daa999cc1967a352fdb1d169 Mon Sep 17 00:00:00 2001 From: 0007 <0007@qq.com> Date: Wed, 27 Aug 2025 19:57:20 +0800 Subject: [PATCH] Add File --- docs/zh/core/document.md | 53 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 docs/zh/core/document.md diff --git a/docs/zh/core/document.md b/docs/zh/core/document.md new file mode 100644 index 0000000..721ff3f --- /dev/null +++ b/docs/zh/core/document.md @@ -0,0 +1,53 @@ +# Document 文档 + +在 Agents-Flex 中,`Document` 是一个带有向量数据的文档对象。其定义如下: + +```java +public class Document extends VectorData { + + /** + * 文档 ID + */ + private Object id; + + /** + * 文档内容 + */ + private String content; +} +``` + +- id:文档 id +- content:文档内容 + +由于其带有向量数据,因此可以被存储在向量数据库(VectorStore)中。 + +在文档模块中,除了 `Document` 本身以外,还提供了如下几种组件: + +- **DocumentLoader**:文档加载器,用于从不同的地方加载(读取)内容(比如 本地磁盘、数据库、网站 等)文档内容。 +- **DocumentParser**:文档解析器,用于对不同类型的文档进行解析,最终得到 `Document` 对象,比如解析 word、pdf、html 等等。 +- **DocumentSplitter**:文档分割器,用于对大文档进行分割,生成多个小文档,方便 Embedding 计算以及向量数据库存储。 + +## DocumentLoader 文档加载器 + +在 Agents-Flex 中,提供了如下两种文档加载器(未来会提供更多的类型): + +- **FileDocumentLoader**: 文件文档加载器 +- **HttpDocumentLoader**: http 文档加载器 + +未来我们会新增更多类型的文档加载器,比如数据库加载、FTP 加载。或者特定的领域的加载器,比如微信公众号加载器等。用户也可以实现自己的加载,欢迎大家参与和分享。 + +## DocumentParser 文档解析器 + +文档解析器用于对不同类型的文档进行解析,最终得到 `Document` 对象,Agents-Flex 已内置的文档解析器如下: + +- **PdfBoxDocumentParser**:对 PDF 解析 +- **PoiDocumentParser**:对 word 文档进行解析 + +## DocumentSplitter 文档分割器 + +文档分割器是用对对大文档进行分割为多个小文档的场景,不同的分割器可以用于不同的分割场景。目前 Agents-Flex 的提供的文档分割器如下: + +- **SimpleDocumentSplitter**:可以通过正则表达式进行分割 +- **MarkdownDocumentSplitter**:对 Markdown 内容进行分割 +- **ParagraphDocumentSplitter**:通过段落进行分割