استكشف تحديات استرجاع المعلومات - الحجم والدقة
يعتمد التوليد المعزز الاسترجاعي (RAG) على استخراج المقاطع الصحيحة من بياناتك قبل أن يجيب النموذج. تظهر مشكلتان مع نمو محتواك: الحجموالدقة. المقياس يتعلق بكيفية نمو حجم بياناتك وأنماط الوصول، وسرعة عودة النتائج. الدقة تعتمد على ما إذا كانت تلك النتائج تجيب فعليا على السؤال. إذا كان الاسترجاع بطيئا أو خارج الهدف، فإن التجربة تتأثر بغض النظر عن قوة النموذج.
المقياس
في RAG، كل سؤال مستخدم يثير بحث عن أقرب جار عبر المتجهات. مع إضافة المزيد من الصفوف وعدد أكبر من المستخدمين الذين يستقصون البيانات في نفس الوقت، تتباطأ أنماط الوصول إلى البيانات ويزيد الضغط المتزامن من التأخير.
احتفظ بالاسترجاع داخل قاعدة بيانات Azure ل PostgreSQL وقرر كيف يتم البحث عن النتائج وترتيبها في قاعدة البيانات. ابدأ بالبحث pgvector عن التشابه المتجه. عندما تنمو مجموعات البيانات، استخدم فهرسا تقريبيا حتى تتجنب الاستعلامات المقارنة مع كل صف. لتحسين الأداء، pgvector يوفر خيارات مؤشر مثل IVFFlat أو HNSW. بالنسبة لمجموعات البيانات الكبيرة جدا، فكر DiskANN في الامتداد pg_diskann المصمم للاسترجاع العالي، والاستعلامات في الثانية (QPS) المرتفعة، وانخفاض الكمون على نطاق واسع.
الدقة
الاستعلامات السريعة لا تساعد إذا أعادوا المقاطع الخاطئة. فقدان الصفوف ذات الصلة أو ترتيبها بشكل سيء يجبر النموذج على التخمين.
عامل الدقة كمسألة ذات خطوتين في قاعدة البيانات. أولا، أنشئ مرشحين جيدين باستخدام pgvector دالة مسافة تتناسب مع التضمينات ومؤشر يوازن بين الاستدعاء والكمون بالنسبة لحجمك. ثانيا، حسن الطلب عند الحاجة. يمكنك إعادة ترتيب النتائج مباشرة في SQL باستخدام العوامل الدلالية في الامتداد azure_ai —مثل azure_ai.rank ترتيب الأهمية المعتمد على نماذج اللغة الكبيرة (LLM).
هناك أيضا مسرع حلول Semantic Ranker لقاعدة بيانات Azure لموقع PostgreSQL إذا أردت مثالا كاملا لخط أنابيب مبني حول هذا النمط. كلا النهجين مصممان ليعمل باستخدام PostgreSQL كطبقة بيانات موحدة.
عندما تساعد العلاقات
بعض المجالات تستفيد من نمذجة كيفية ربط الأشياء. يمكن لخطوة رسم بياني تحسين الاسترجاع باستخدام العلاقات وإشارات البروز. تتوفر استعلامات الرسوم البيانية في قاعدة بيانات Azure ل PostgreSQL من خلال امتداد Apache AGE . GraphRAG هو نهج بحثي من مايكروسوفت يجمع بين البحث المتجه واستعلامات الرسوم البيانية لتحسين دقة الاسترجاع. يستخرج رسم بياني معرفي من بياناتك ويستخدم هذا الهيكل لتوفير سياق أفضل لنموذج اللغة الكبيرة.
القياس والمراقبة
تحتاج إلى وضع استراتيجية مراقبة تلتقط المقاييس الرئيسية وتوفر رؤى حول أداء الاستعلامات.
أنشئ أساسا لأداء استعلام RAG الخاص بك باستخدام:
- مخزن الاستعلامات - يلتقط نص الاستعلام، وقت التشغيل، وإحصائيات الانتظار حتى تتمكن من رؤية أفضل الاستعلامات والاتجاهات على مر الزمن.
- رؤية أداء الاستعلام - يعرض بيانات مخزن الاستعلامات لخادم مرن لتسليط الضوء على الاستعلامات طويلة الأمد والتي تتطلب موارد كبيرة.
- مقاييس ودفاتر عمل Azure Monitor - مخططات ولوحات تحكم على مستوى الخادم لتأخير الاتصالات، المعالج، الإدخال، والمزيد.
تساعدك هذه الأدوات في تحديد عنق الزجاجة والمناطق التي تحتاج إلى تحسين في خط أنابيب RAG الخاص بك. تساعدك في اتخاذ قرارات حول الأداء (المقياس)، لكنك تحتاج إلى استراتيجيات أخرى لضمان دقة الاسترجاع.
دقة القياس:
بينما قياس الدقة ليس بسيطا مثل القياس من أجل الحجم، يمكنك الاستفادة من بعض الدروس المستفادة من مقال مركز العمارة حول مرحلة التقييم.
- طلبات السجل والمقاييس - لكل سؤال، احفظ نص السؤال، والصفوف المسترجعة من PostgreSQL مع ترتيبها ومسافتها، والسياق الدقيق المرسل إلى النموذج، والإجابة النهائية للنموذج.
-
الإشارات الحسابية - في كود التطبيق، احسب ثلاث إشارات بسيطة:
- الصلة والاستخدام - قس كم من العبارات الرئيسية للإجابة تظهر أيضا في المقاطع المسترجعة وكم مرة يتم اقتباس أو تكرار تلك الفقرات.
- التأريض - تحقق من أن كل ادعاء محدد في الإجابة يدعم على الأقل صفا واحدا تم استرجاعه.
- الاكتمال - تحقق من أن الأجزاء الرئيسية من السؤال مغطاة في الإجابة مع نص داعم من الصفوف المسترجعة.
-
دليل التغييرات مع النقاط - استخدم الدرجات لتوجيه التغييرات، ثم أعد نفس مجموعة الاختبارات الصغيرة:
- إذا أخطأت الإجابات في أجزاء من السؤال، ارفع k أو عدل تقسيم القطع.
- إذا لم تظهر الصفوف المناسبة، زد
IVFFlatالمجسات أوpgvectorارفعDiskANNl_value_isالإعدادات حتى يأخذ البحث في الاعتبار المزيد من الجيران. - إذا كان الترتيب هو المشكلة، أضف تمرير إعادة ترتيب في SQL باستخدام حل التصنيف الدلاليلقاعدة بيانات Azure ل PostgreSQL.
- عندما تكون العلاقات مهمة، أضف خطوة رسم بياني قصيرة مع Apache AGE قبل الخطوة النهائية المتجهية.
- تتبع الاتجاهات مع مرور الوقت - راقب لتتأكد من تحسن الدقة ، وليس فقط السرعة.
مع نمو طلبك، أعد تقييم أداء تطبيقك وعدل خط أنابيب RAG حسب الحاجة. من المهم مراقبة سرعة ودقة الاسترجاع مع مرور الوقت.
النقاط الموجزة الأساسية
بالنسبة لمسار Postgres RAG، تحتفظ بالاسترجاع في قاعدة البيانات، تبدأ ب pgvector، ثم تنتقل إلى الفهرس المناسب مع نمو مجموعة البيانات وحركة المرور. أضف تمريرة تصنيف دلالي في SQL إذا كان الترتيب يحتاج إلى دقة أكبر. أدخل GraphRAG لإضافة خطوة رسم بياني قصيرة عندما تحمل العلاقات معنى. قم بالتقييم بانتظام وراقب في الإنتاج حتى يبقى النظام سريعا وصحيحا مع تغير البيانات والاستخدام.