> Discover all available pages from the documentation index: https://mastra.zisheng.pro/llms.txt # MDocument MDocument 类为 RAG 应用处理文档。主要方法是 `.chunk()` 和 `.extractMetadata()`。 ## 构造函数 **docs** (`Array<{ text: string, metadata?: Record }>`): 包含文本内容及可选元数据的文档块数组 **type** (`'text' | 'html' | 'markdown' | 'json' | 'latex'`): 文档内容类型 ## 静态方法 ### `fromText()` 从纯文本内容创建文档。 ```typescript static fromText(text: string, metadata?: Record): MDocument ``` ### `fromHTML()` 从 HTML 内容创建文档。 ```typescript static fromHTML(html: string, metadata?: Record): MDocument ``` ### `fromMarkdown()` 从 Markdown 内容创建文档。 ```typescript static fromMarkdown(markdown: string, metadata?: Record): MDocument ``` ### `fromJSON()` 从 JSON 内容创建文档。 ```typescript static fromJSON(json: string, metadata?: Record): MDocument ``` ## 实例方法 ### `chunk()` 将文档拆分为块,并可选地提取元数据。 ```typescript async chunk(params?: ChunkParams): Promise ``` 详细选项请参阅 [chunk() 参考](https://mastra.zisheng.pro/reference/rag/chunk)。 ### `getDocs()` 返回已处理文档块的数组。 ```typescript getDocs(): Chunk[] ``` ### `getText()` 返回块中的文本字符串数组。 ```typescript getText(): string[] ``` ### `getMetadata()` 返回元数据对象数组。 ```typescript getMetadata(): Record[] ``` ### `extractMetadata()` 使用指定的提取器提取元数据。详情请参阅 [ExtractParams 参考](https://mastra.zisheng.pro/reference/rag/extract-params)。 ```typescript async extractMetadata(params: ExtractParams): Promise ``` ## 示例 ```typescript import { MDocument } from '@mastra/rag' // Create document from text const doc = MDocument.fromText('Your content here') // Split into chunks with metadata extraction const chunks = await doc.chunk({ strategy: 'markdown', headers: [ ['#', 'title'], ['##', 'section'], ], extract: { summary: true, // Extract summaries with default settings keywords: true, // Extract keywords with default settings }, }) // Get processed chunks const docs = doc.getDocs() const texts = doc.getText() const metadata = doc.getMetadata() ```