MDocument
MDocument 類別會為 RAG 應用程式處理文件。主要方法是 .chunk() 及 .extractMetadata()。
建構函式建構函式 的直接連結
docs:
Array<{ text: string, metadata?: Record<string, any> }>
包含文字內容及可選 metadata 的文件分塊陣列
type:
'text' | 'html' | 'markdown' | 'json' | 'latex'
文件內容的類型
靜態方法靜態方法 的直接連結
fromText()fromtext 的直接連結
從純文字內容建立文件。
static fromText(text: string, metadata?: Record<string, any>): MDocument
fromHTML()fromhtml 的直接連結
從 HTML 內容建立文件。
static fromHTML(html: string, metadata?: Record<string, any>): MDocument
fromMarkdown()frommarkdown 的直接連結
從 Markdown 內容建立文件。
static fromMarkdown(markdown: string, metadata?: Record<string, any>): MDocument
fromJSON()fromjson 的直接連結
從 JSON 內容建立文件。
static fromJSON(json: string, metadata?: Record<string, any>): MDocument
實例方法實例方法 的直接連結
chunk()chunk 的直接連結
將文件分割成多個分塊,並可選擇擷取 metadata。
async chunk(params?: ChunkParams): Promise<Chunk[]>
詳細選項請參閱 chunk() 參考。
getDocs()getdocs 的直接連結
傳回已處理的文件分塊陣列。
getDocs(): Chunk[]
getText()gettext 的直接連結
傳回分塊中的文字字串陣列。
getText(): string[]
getMetadata()getmetadata 的直接連結
傳回分塊中的 metadata 物件陣列。
getMetadata(): Record<string, any>[]
extractMetadata()extractmetadata 的直接連結
使用指定的擷取器擷取 metadata。詳情請參閱 ExtractParams 參考。
async extractMetadata(params: ExtractParams): Promise<MDocument>
範例範例 的直接連結
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()