Skip to Content
RAG埋め込みメタデータ抽出

メタデータ抽出

この例では、Mastra のドキュメント処理機能を使ってドキュメントからメタデータを抽出し、活用する方法を示します。 抽出されたメタデータは、ドキュメントの整理、フィルタリング、RAG システムでの高度な検索に利用できます。

概要

このシステムは、2つの方法でメタデータ抽出を実演します。

  1. ドキュメントからの直接的なメタデータ抽出
  2. チャンク分割とメタデータ抽出

セットアップ

依存関係

必要な依存関係をインポートします:

src/index.ts
import { MDocument } from "@mastra/rag";

ドキュメント作成

テキストコンテンツからドキュメントを作成します:

src/index.ts
const doc = MDocument.fromText(`Title: The Benefits of Regular Exercise Regular exercise has numerous health benefits. It improves cardiovascular health, strengthens muscles, and boosts mental wellbeing. Key Benefits: • Reduces stress and anxiety • Improves sleep quality • Helps maintain healthy weight • Increases energy levels For optimal results, experts recommend at least 150 minutes of moderate exercise per week.`);

1. 直接メタデータ抽出

ドキュメントから直接メタデータを抽出します:

src/index.ts
// Configure metadata extraction options await doc.extractMetadata({ keywords: true, // Extract important keywords summary: true, // Generate a concise summary }); // Retrieve the extracted metadata const meta = doc.getMetadata(); console.log("Extracted Metadata:", meta); // Example Output: // Extracted Metadata: { // keywords: [ // 'exercise', // 'health benefits', // 'cardiovascular health', // 'mental wellbeing', // 'stress reduction', // 'sleep quality' // ], // summary: 'Regular exercise provides multiple health benefits including improved cardiovascular health, muscle strength, and mental wellbeing. Key benefits include stress reduction, better sleep, weight management, and increased energy. Recommended exercise duration is 150 minutes per week.' // }

2. メタデータ付きチャンク化

ドキュメントのチャンク化とメタデータ抽出を組み合わせます:

src/index.ts
// Configure chunking with metadata extraction await doc.chunk({ strategy: "recursive", // Use recursive chunking strategy size: 200, // Maximum chunk size extract: { keywords: true, // Extract keywords per chunk summary: true, // Generate summary per chunk }, }); // Get metadata from chunks const metaTwo = doc.getMetadata(); console.log("Chunk Metadata:", metaTwo); // Example Output: // Chunk Metadata: { // keywords: [ // 'exercise', // 'health benefits', // 'cardiovascular health', // 'mental wellbeing', // 'stress reduction', // 'sleep quality' // ], // summary: 'Regular exercise provides multiple health benefits including improved cardiovascular health, muscle strength, and mental wellbeing. Key benefits include stress reduction, better sleep, weight management, and increased energy. Recommended exercise duration is 150 minutes per week.' // }





GitHubで例を見る