Aller au contenu principal

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 base
Lien 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ètres
Lien 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

ChunkParams
Lien 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 retour
Lien 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és
Lien 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 Tool
Lien 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