createDocumentChunkerTool()
La fonction createDocumentChunkerTool() crée un Tool qui divise les documents en fragments plus petits afin d'optimiser leur traitement et leur récupération. Elle prend en charge différentes stratégies de découpage ainsi que des paramètres configurables.
Utilisation de baseLien direct vers Utilisation de base
import { createDocumentChunkerTool, MDocument } from '@mastra/rag'
const document = new MDocument({
text: 'Your document content here...',
metadata: { source: 'user-manual' },
})
const chunker = createDocumentChunkerTool({
doc: document,
params: {
strategy: 'recursive',
size: 512,
overlap: 50,
separator: '\n',
},
})
const { chunks } = await chunker.execute()
ParamètresLien direct vers Paramètres
doc:
MDocument
Document à découper
params?:
ChunkParams
= Paramètres de découpage par défaut
Paramètres de configuration du découpage
ChunkParamsLien direct vers chunkparams
strategy?:
'recursive'
= 'recursive'
Stratégie de découpage à utiliser
size?:
number
= 512
Taille cible de chaque fragment en tokens ou caractères
overlap?:
number
= 50
Nombre de tokens ou de caractères qui se chevauchent entre les fragments
separator?:
string
= '\n'
Caractère ou caractères à utiliser comme séparateur de fragments
Valeur de retourLien direct vers Valeur de retour
chunks:
DocumentChunk[]
Tableau de fragments du document, avec leur contenu et leurs métadonnées
Exemple avec des paramètres personnalisésLien direct vers Exemple avec des paramètres personnalisés
const technicalDoc = new MDocument({
text: longDocumentContent,
metadata: {
type: 'technical',
version: '1.0',
},
})
const chunker = createDocumentChunkerTool({
doc: technicalDoc,
params: {
strategy: 'recursive',
size: 1024, // Larger chunks
overlap: 100, // More overlap
separator: '\n\n', // Split on double newlines
},
})
const { chunks } = await chunker.execute()
// Process the chunks
chunks.forEach((chunk, index) => {
console.log(`Chunk ${index + 1} length: ${chunk.content.length}`)
})
Détails du ToolLien direct vers Détails du Tool
Le chunker est créé sous forme de Tool Mastra avec les propriétés suivantes :
- ID du Tool :
Document Chunker {strategy} {size} - Description :
Chunks document using {strategy} strategy with size {size} and {overlap} overlap - Schéma d'entrée : objet vide, aucune entrée supplémentaire requise
- Schéma de sortie : objet contenant le tableau de fragments