Aspose.PDF PDF Chunking and Embedding permet de diviser les documents PDF en fragments de texte sémantiques et de générer des incorporations vectorielles pour une utilisation dans les pipelines de Génération Augmentée par Récupération (RAG), la recherche sémantique et d’autres scénarios pilotés par l’IA.
L’API fournit deux points d’entrée sous forme de méthodes d’extension sur Document :
Méthode
Description
GetChunksAsync
Convertit un PDF en Markdown et le divise en objets DocumentChunk.
IngestAsync
Pipeline complet : fragmente le document, génère des incorporations et effectue un upsert des enregistrements dans un magasin de vecteurs.
Prérequis
Aspose.PDF for .NET
Microsoft.Extensions.AI — pour IEmbeddingGenerator<string, Embedding<float>>
Microsoft.Extensions.VectorData — pour VectorStoreCollection<string, DocumentChunk>
Un fournisseur d’incorporations (par exemple OpenAI, Azure OpenAI ou toute implémentation IEmbeddingGenerator)
Un magasin de vecteurs (par exemple Azure AI Search, Qdrant, en mémoire ou toute implémentation VectorStoreCollection)
Options de fragmentation
Configurez le comportement de fragmentation via ChunkingOptions :
Nombre de tokens se chevauchant entre des fragments consécutifs, préservant le contexte aux limites.
Obtention des fragments
Utilisez GetChunksAsync lorsque vous n’avez besoin que des fragments de texte — par exemple, pour les inspecter, les post-traiter ou les introduire dans un pipeline d’incorporation personnalisé.
Fragmentation, incorporation et ingestion dans le magasin de vecteurs
Utilisez IngestAsync pour exécuter le pipeline complet en un seul appel : le document est fragmenté, des incorporations sont générées pour chaque fragment, et tous les enregistrements sont upsertés dans le magasin de vecteurs.
Étant donné que l’API est construite sur les abstractions Microsoft.Extensions.AI, n’importe quel fournisseur d’incorporations et n’importe quel magasin de vecteurs peuvent être utilisés de manière interchangeable.
OpenAI
Azure OpenAI et Azure AI Search
Référence DocumentChunk
Chaque DocumentChunk retourné par GetChunksAsync ou stocké par IngestAsync possède les propriétés suivantes :
Propriété
Type
Description
Id
string
Identifiant unique au format {sourceId}_chunk_{index}.
Index
int
Position basée sur zéro de ce fragment dans le document.
Content
string
Le contenu textuel du fragment. Stocké comme données de recherche en texte intégral dans le magasin de vecteurs.
Context
string
Contexte structurel extrait du document (par exemple, chemin d’en-tête). Aide les pipelines RAG à comprendre d’où dans le document provient le fragment.
Embedding
ReadOnlyMemory<float>?
Incorporation vectorielle, remplie par IngestAsync. null lors de l’utilisation de GetChunksAsync seul.
Metadata
IDictionary<string, string>
Magasin extensible clé-valeur pour les métadonnées personnalisées.
Schéma du magasin de vecteurs
Utilisez DocumentChunk.GetVectorDefinition(dimensions) pour obtenir le schéma de collection correspondant à la taille de sortie du modèle d’incorporation :