تتيح ميزة Aspose.PDF PDF Chunking and Embedding تقسيم مستندات PDF إلى أجزاء نصية دلالية وتوليد تضمينات متجهية للاستخدام في خطوط أنابيب Retrieval-Augmented Generation (RAG) والبحث الدلالي وسيناريوهات الذكاء الاصطناعي الأخرى.
يوفر API نقطتي دخول كأساليب تمديد على Document:
الأسلوب
الوصف
GetChunksAsync
يحوّل PDF إلى Markdown ويقسّمه إلى كائنات DocumentChunk.
IngestAsync
خط أنابيب كامل: يقسّم المستند إلى أجزاء ويولّد التضمينات ويُدرج السجلات في مخزن المتجهات.
المتطلبات الأساسية
Aspose.PDF for .NET
Microsoft.Extensions.AI — للحصول على IEmbeddingGenerator<string, Embedding<float>>
Microsoft.Extensions.VectorData — للحصول على VectorStoreCollection<string, DocumentChunk>
موفر تضمين (مثل OpenAI أو Azure OpenAI أو أي تنفيذ IEmbeddingGenerator)
مخزن متجهات (مثل Azure AI Search أو Qdrant أو in-memory أو أي تنفيذ VectorStoreCollection)
خيارات التقسيم إلى أجزاء
قم بتكوين سلوك التقسيم إلى أجزاء عبر ChunkingOptions:
عدد الرموز المميزة المتداخلة بين الأجزاء المتتالية، للحفاظ على السياق عند الحدود.
الحصول على الأجزاء
استخدم GetChunksAsync عندما تحتاج فقط إلى الأجزاء النصية — على سبيل المثال، لفحصها أو معالجتها لاحقًا أو تغذيتها في خط أنابيب تضمين مخصص.
التقسيم إلى أجزاء والتضمين واستيعاب مخزن المتجهات
استخدم IngestAsync لتشغيل خط الأنابيب الكامل في استدعاء واحد: يُقسَّم المستند إلى أجزاء، وتُولَّد التضمينات لكل جزء، وتُدرَج جميع السجلات في مخزن المتجهات.
نظرًا لأن API مبني على تجريدات Microsoft.Extensions.AI، يمكن استخدام أي موفر تضمين وأي مخزن متجهات بالتبادل.
OpenAI
Azure OpenAI وAzure AI Search
مرجع DocumentChunk
كل DocumentChunk يُرجعه GetChunksAsync أو يُخزَّن بواسطة IngestAsync لديه الخصائص التالية:
الخاصية
النوع
الوصف
Id
string
معرّف فريد بتنسيق {sourceId}_chunk_{index}.
Index
int
موضع هذا الجزء في المستند يبدأ من الصفر.
Content
string
المحتوى النصي للجزء. يُخزَّن كبيانات بحث نصي كامل في مخزن المتجهات.
Context
string
السياق البنيوي المستخرج من المستند (مثل مسار العنوان). يساعد خطوط أنابيب RAG على فهم مكان الجزء في المستند.
Embedding
ReadOnlyMemory<float>?
التضمين المتجهي، يملؤه IngestAsync. يكون null عند استخدام GetChunksAsync وحده.
Metadata
IDictionary<string, string>
مخزن قابل للتوسيع من أزواج المفاتيح والقيم للبيانات الوصفية المخصصة.
مخطط مخزن المتجهات
استخدم DocumentChunk.GetVectorDefinition(dimensions) للحصول على مخطط المجموعة المطابق لحجم إخراج نموذج التضمين: