إنشاء الاسترداد المعزز باستخدام Azure الذكاء الاصطناعي Document Intelligence

ينطبق هذا المحتوى على:checkmarkv4.0 (معاينة)

مقدمة

يعد Retrieval-Augmented Generation (RAG) نمط تصميم يجمع بين نموذج لغة كبيرة مدرب مسبقا (LLM) مثل ChatGPT مع نظام استرداد بيانات خارجي لإنشاء استجابة محسنة تتضمن بيانات جديدة خارج بيانات التدريب الأصلية. تمكنك إضافة نظام استرداد المعلومات إلى تطبيقاتك من الدردشة مع مستنداتك، وإنشاء محتوى ملفت، والوصول إلى قوة نماذج Azure OpenAI لبياناتك. لديك أيضا المزيد من التحكم في البيانات المستخدمة من قبل LLM في أثناء صياغة استجابة.

نموذج Document Intelligence Layout هو واجهة برمجة تطبيقات متقدمة لتحليل المستندات المستندة إلى التعلم الآلي. يوفر نموذج التخطيط حلا شاملا لاستخراج المحتوى المتقدم وقدرات تحليل بنية المستند. باستخدام نموذج التخطيط، يمكنك بسهولة استخراج النص والعناصر الهيكلية لتقسيم النصوص الكبيرة إلى أجزاء أصغر وذات معنى استنادا إلى المحتوى الدلالي بدلا من التقسيمات العشوائية. يمكن إخراج المعلومات المستخرجة بسهولة إلى تنسيق Markdown، ما يتيح لك تحديد استراتيجية التقسيم الدلالي استنادا إلى كتل الإنشاء المقدمة.

Screenshot depicting semantic chunking with RAG using Azure AI Document Intelligence.

التقسيم الدلالي

الجمل الطويلة تمثل تحديا لتطبيقات معالجة اللغة الطبيعية (NLP). خاصة عندما تتكون من عبارات متعددة وعبارات اسم أو فعل معقدة وعبارات نسبية وتجميعات قوسية. تماما مثل العنصر البشري، يحتاج نظام NLP أيضا إلى تتبع جميع التبعيات المقدمة بنجاح. الهدف من التقسيم الدلالي هو العثور على أجزاء متماسكة دلاليا من تمثيل الجملة. يمكن بعد ذلك معالجة هذه الأجزاء بشكل مستقل وإعادة دمجها كتمثيلات دلالية دون فقدان المعلومات أو التفسير أو الصلة الدلالية. يتم استخدام المعنى المتأصل للنص كدليل لعملية التقسيم.

تلعب إستراتيجيات تجميع البيانات النصية دورا رئيسيا في تحسين استجابة RAG وأدائها. الحجم الثابت والدلالي هما طريقتان متميزتان للتقسيم:

  • تقسيم ثابت الحجم. تستند معظم استراتيجيات التقسيم المستخدمة في RAG اليوم إلى مقاطع نصية ذات حجم إصلاح تعرف باسم المجموعات. يعد التقسيم الثابت الحجم سريعا وسهلا وفعالا مع النص الذي لا يحتوي على بنية دلالية قوية مثل السجلات والبيانات. ومع ذلك، لا يوصى به للنص الذي يتطلب فهما دلاليا وسياقا دقيقا. يمكن أن تؤدي الطبيعة الثابتة للنافذة إلى قطع الكلمات أو الجمل أو الفقرات التي تعوق الفهم وتعطيل تدفق المعلومات والفهم.

  • التقسيم الدلالي. يقسم هذا الأسلوب النص إلى أجزاء استنادا إلى الفهم الدلالي. تركز حدود التقسيم على موضوع الجملة وتستخدم موارد حسابية معقدة خوارزمية كبيرة. ومع ذلك، فإنه يتمتع بميزة مميزة للحفاظ على الاتساق الدلالي داخل كل مجموعة. إنه مفيد لمهام تلخيص النص وتحليل التوجه وتصنيف المستندات.

التقسيم الدلالي مع نموذج تخطيط ذكاء المستند

Markdown هي لغة ترميز منظمة ومنسقة ومدخل شائع لتمكين التقسيم الدلالي في RAG (Retrieval-Augmented Generation). يمكنك استخدام محتوى Markdown من نموذج التخطيط لتقسيم المستندات استنادا إلى حدود الفقرة، وإنشاء مجموعات معينة للجداول، وضبط استراتيجية التقسيم لتحسين جودة الاستجابات التي تم إنشاؤها.

فوائد استخدام نموذج التخطيط

  • معالجة مبسطة. يمكنك توزيع أنواع مستندات مختلفة، مثل ملفات PDF الرقمية والممسوحة ضوئيا والصور وملفات Office (docx وxlsx وpptx) وHTML، مع استدعاء واجهة برمجة تطبيقات واحد فقط.

  • قابلية التوسع وجودة الذكاء الاصطناعي. نموذج التخطيط قابل للتطوير بدرجة كبيرة في التعرف البصري على الحروف (OCR) واستخراج الجدول وتحليل بنية المستند. وهو يدعم 309 لغات مطبوعة و12 لغة مكتوبة بخط اليد، مما يضمن تحقيق نتائج عالية الجودة مدفوعة بقدرات الذكاء الاصطناعي.

  • توافق نموذج اللغة الكبيرة (LLM). يعد الإخراج المنسق لنموذج التخطيط Markdown مألوفا ل LLM ويسهل التكامل السلس في مهام سير العمل الخاصة بك. يمكنك تحويل أي جدول في مستند إلى تنسيق Markdown وتجنب بذل جهد مكثف لتحليل المستندات لفهم LLM بشكل أكبر.

تمت معالجة الصورة النصية باستخدام Document Intelligence Studio والإخراج إلى MarkDown باستخدام نموذج التخطيط

Screenshot of newspaper article processed by Layout model and outputted to Markdown.

صورة جدول تمت معالجتها باستخدام Document Intelligence Studio باستخدام نموذج التخطيط

Screenshot of table processed by Layout model and outputted to Markdown.

الشروع في العمل

يدعم نموذج تخطيط المعلومات المستندية 2024-02-29-preview و2023-10-31-preview خيارات التطوير التالية:

هل أنت جاهز للبدء؟

Document Intelligence Studio

يمكنك متابعة التشغيل السريع ل Document Intelligence Studio للبدء. بعد ذلك، يمكنك دمج ميزات Document Intelligence مع التطبيق الخاص بك باستخدام نموذج التعليمات البرمجية المتوفرة.

  • ابدأ بنموذج التخطيط. تحتاج إلى تحديد خيارات التحليل التالية لاستخدام RAG في الاستوديو:

    **Required**

    • تشغيل نطاق التحليل → المستند الحالي.
    • نطاق الصفحات → كافة الصفحات.
    • نمط تنسيق الإخراج → Markdown.

    **Optional**

    • يمكنك أيضا تحديد معلمات الكشف الاختيارية ذات الصلة.
  • حدد حفظ.

    Screenshot of Analyze options dialog window with RAG required options in the Document Intelligence studio.

  • حدد الزر Run analysis لعرض الإخراج.

    Screenshot of the Run Analysis button in the Document Intelligence Studio.

SDK أو REST API

  • يمكنك اتباع التشغيل السريع ل Document Intelligence للغة البرمجة المفضلة لديك SDK أو REST API. استخدم نموذج التخطيط لاستخراج المحتوى والبنية من مستنداتك.

  • يمكنك أيضا التحقق من GitHub repos للحصول على نماذج التعليمات البرمجية وتلميحات لتحليل مستند بتنسيق إخراج markdown.

إنشاء دردشة مستند مع التقسيم الدلالي

  • يمكنك Azure OpenAI على بياناتك من تشغيل الدردشة المدعومة على مستنداتك. يطبق Azure OpenAI على بياناتك نموذج تخطيط ذكاء المستند لاستخراج بيانات المستند وتحليلها عن طريق تقسيم نص طويل استنادا إلى الجداول والفقرات. يمكنك أيضا تخصيص استراتيجية التقسيم باستخدام نماذج البرامج النصية ل Azure OpenAI الموجودة في مستودع GitHub الخاص بنا.

  • تم الآن دمج Azure الذكاء الاصطناعي Document Intelligence مع LangChain كأحد أحمال المستندات الخاصة به. يمكنك استخدامه لتحميل البيانات والإخراج بسهولة إلى تنسيق Markdown. لمزيد من المعلومات، راجع نموذج التعليمات البرمجية الذي يعرض عرضا توضيحيا بسيطا لنمط RAG مع Azure الذكاء الاصطناعي Document Intelligence كمحمل مستندات وAzure Search كمسترد في LangChain.

  • توضح الدردشة مع نموذج التعليمات البرمجية لمسرع حلول البيانات نموذج نمط RAG الأساسي الشامل. ويستخدم Azure الذكاء الاصطناعي Search كمسترد وAzure الذكاء الاصطناعي Document Intelligence لتحميل المستندات والتقسيم الدلالي.

حالة الاستخدام

إذا كنت تبحث عن مقطع معين في مستند، فيمكنك استخدام التقسيم الدلالي لتقسيم المستند إلى أجزاء أصغر استنادا إلى رؤوس المقاطع التي تساعدك على العثور على المقطع الذي تبحث عنه بسرعة وسهولة:


# Using SDK targeting 2024-02-29-preview or 2023-10-31-preview, make sure your resource is in one of these regions: East US, West US2, West Europe
# pip install azure-ai-documentintelligence==1.0.0b1
# pip install langchain langchain-community azure-ai-documentintelligence

from azure.ai.documentintelligence import DocumentIntelligenceClient

endpoint = "https://<my-custom-subdomain>.cognitiveservices.azure.com/"
key = "<api_key>"

from langchain_community.document_loaders import AzureAIDocumentIntelligenceLoader
from langchain.text_splitter import MarkdownHeaderTextSplitter
 
# Initiate Azure AI Document Intelligence to load the document. You can either specify file_path or url_path to load the document.
loader = AzureAIDocumentIntelligenceLoader(file_path="<path to your file>", api_key = key, api_endpoint = endpoint, api_model="prebuilt-layout")
docs = loader.load()
 
# Split the document into chunks base on markdown headers.
headers_to_split_on = [
    ("#", "Header 1"),
    ("##", "Header 2"),
    ("###", "Header 3"),
]
text_splitter = MarkdownHeaderTextSplitter(headers_to_split_on=headers_to_split_on)
 
docs_string = docs[0].page_content
splits = text_splitter.split_text(docs_string)
splits

الخطوات التالية