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()