メインコンテンツへ移動

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への直接リンク

指定した extractor を使用してメタデータを抽出します。詳細は、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()