> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-TW/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/zh-TW/reference/rag/chunk)。 ### `getDocs()` 傳回處理後的文件區塊陣列。 ```typescript getDocs(): Chunk[] ``` ### `getText()` 傳回區塊中的文字字串陣列。 ```typescript getText(): string[] ``` ### `getMetadata()` 傳回區塊中的中繼資料物件陣列。 ```typescript getMetadata(): Record[] ``` ### `extractMetadata()` 使用指定的擷取器擷取中繼資料。詳情請參閱 [ExtractParams 參考](https://mastra.zisheng.pro/zh-TW/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() ```