跳至主要內容

MDocument

MDocument 類別會處理 RAG 應用程式的文件。主要方法為 .chunk().extractMetadata()

建構函式
「建構函式」的直接連結

docs:

Array<{ text: string, metadata?: Record<string, any> }>
包含文字內容與選用中繼資料的文件區塊陣列

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」的直接連結

將文件分成區塊,並可選擇是否擷取中繼資料。

async chunk(params?: ChunkParams): Promise<Chunk[]>

如需詳細選項,請參閱 chunk() 參考

getDocs()
「getdocs」的直接連結

傳回處理後的文件區塊陣列。

getDocs(): Chunk[]

getText()
「gettext」的直接連結

傳回區塊中的文字字串陣列。

getText(): string[]

getMetadata()
「getmetadata」的直接連結

傳回區塊中的中繼資料物件陣列。

getMetadata(): Record<string, any>[]

extractMetadata()
「extractmetadata」的直接連結

使用指定的擷取器擷取中繼資料。詳情請參閱 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()