𝗪𝗵𝘆 𝗧𝘄𝗶𝗼 𝗖𝗵𝗼𝘀𝗲 𝗩𝗲𝗿𝘁𝗲𝘅 𝗔𝗜 𝗦𝗲𝗮𝗿𝗰𝗵 𝗼𝘃𝗲𝗿 𝗽𝗴𝘃𝗲𝗰𝘁𝗼𝗿

قمنا ببناء أول نظام RAG لدينا في Twio باستخدام pgvector. كان ذلك الخيار الأسرع؛ حيث كانت بياناتنا مخزنة في PostgreSQL، وكان إضافة الـ embeddings هناك أمراً سهلاً.

ومع توسع نطاق عملنا، تغيرت مشكلتنا. لم نعد نتساءل عن كيفية تخزين المتجهات (vectors)، بل أصبح تساؤلنا هو كيفية فهم آلاف المستندات الفوضوية للوسطاء، ورسائل البريد الإلكتروني، والمرفقات.

تخدم Twio وسطاء القروض. وتحتوي الحالة الواحدة على: • سلاسل رسائل البريد الإلكتروني • قسائم الرواتب وكشوف الحسابات البنكية • نماذج القروض وقواعد المقرضين • ملاحظات مكتوبة بخط اليد

يجب على الذكاء الاصطناعي الإجابة على أسئلة مثل: • أي رسالة بريد إلكتروني ذكرت المتطلب المفقود؟ • هل يدعم كشف الحساب البنكي هذا الدخل؟ • لخص جميع المستندات الخاصة بهذا المقترض.

إذا كانت عملية الاسترجاع (retrieval) ضعيفة، ستكون الإجابة ضعيفة. وإذا كان التحليل (parsing) خاطئاً، سيرى النموذج أدلة خاطئة. إن نظام RAG هو بمثابة الذاكرة لمنتجنا.

عمل pgvector بشكل جيد في إصدارنا الأول لأن: • لم يتطلب بنية تحتية جديدة. • كانت تكاليفه منخفضة. • سمح بتصحيح أخطاء SQL بسهولة. • كان سريعاً في الإطلاق.

لكن pgvector ليس سوى جزء واحد من خط معالجة (pipeline) الـ RAG. لقد ترك لنا الباقي: • تحميل المرفقات. • استخراج النصوص من ملفات PDF والمسوحات الضوئية عبر تقنية OCR. • تقسيم المستندات إلى أجزاء (chunking) وتوليد الـ embeddings. • تصميم البيانات الوصفية (metadata) واستعلامات الاسترجاع. • ضبط الفهارس (indexes) والترتيب (ranking). • مراقبة حمل قاعدة البيانات.

ملف PDF نظيف هو أمر سهل. كشف حساب بنكي ممسوح ضوئياً هو أمر صعب. أما رسالة بريد إلكتروني تحتوي على خمسة مرفقات وجداول فهي أصعب من ذلك بكثير. مع pgvector، كان علينا معالجة كل نقطة ضعف في خط المعالجة هذا.

انتقلت التكلفة من فاتورة السحابة الخاصة بنا إلى وقت المهندسين لدينا. وكان وقت المهندسين هو موردنا الأكثر محدودية.

مقارنة: • المستندات الممسوحة ضوئياً: نقوم ببناء OCR مع pgvector. بينما تتولى Vertex معظم عمليات معالجة المستندات. • الأسئلة المتعلقة بالمستندات: نقوم بتصميم الاستعلامات والترتيب مع pgvector. بينما توفر Vertex بحثاً مداراً (managed search). • تدفق المرفقات المفاجئ: يتحمل Postgres الحمل مع pgvector. بينما تبقي Vertex الحمل خارج قاعدة بياناتنا الرئيسية. • التكلفة: يتميز pgvector بتكاليف خدمة أقل. بينما تتميز Vertex بتكاليف هندسية وصيانة أقل.

pgvector أرخص كإضافة لقاعدة البيانات. أما Vertex فهي أرخص كقرار متعلق بالمنتج.

تساعدنا Vertex بأربع طرق: • بنية تحتية أقل للإدارة. • منطق معالجة مستندات أقل للصيانة. • يظل Postgres مركزاً على معاملات الأعمال. • تتوسع مع نمو حجم مستنداتنا.

Vertex ليست مجانية. ولكن بناء نظام OCR وفهرسة وترتيب خاص بنا له تكلفة أيضاً. ونحن ندفع تلك التكلفة في شكل أسابيع عمل للمهندسين.

استخدم pgvector إذا: • كان حجم بياناتك متوسطاً. • كانت مستنداتك عبارة عن نصوص نظيفة بالفعل. • كنت بحاجة إلى تصفية دقيقة باستخدام SQL. • كنت تريد إصداراً أولياً سريعاً ومنخفض التكلفة.

درسنا بسيط: ابدأ بالأداة التي تساعدك على التعلم بشكل أسرع. ثم انتقل إلى الأداة التي تساعدك على التشغيل بشكل أفضل.

المصدر: https://dev.to/twio_ai/why-twio-chose-vertex-ai-search-over-pgvector-for-production-rag-51jm

مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi