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

आम्ही Twio मध्ये आमची पहिली RAG सिस्टम pgvector वापरून तयार केली. तो एक जलद पर्याय होता. आमचा डेटा PostgreSQL मध्ये होता. तिथे embeddings जोडणे सोपे होते.

जसा आमचा विस्तार झाला, तशी आमची समस्या बदलली. आम्ही आता फक्त vectors कसे साठवायचे हे विचारत नव्हतो. तर हजारो विस्कळीत ब्रोकर दस्तऐवज (documents), ईमेल्स आणि अटॅचमेंट्स कसे समजून घ्यायचे, हा आमचा प्रश्न होता.

Twio कर्ज दलालांना (loan brokers) सेवा देते. एका केसमध्ये खालील गोष्टींचा समावेश असतो: • ईमेल थ्रेड्स • पे-स्लिप्स आणि बँक स्टेटमेंट्स • लोन फॉर्म्स आणि कर्जदात्यांचे नियम (lender rules) • हाताने लिहिलेल्या नोट्स

AI ला खालीलसारख्या प्रश्नांची उत्तरे द्यावी लागतात: • कोणत्या ईमेलमध्ये अपूर्ण आवश्यकतेचा (missing requirement) उल्लेख होता? • हे बँक स्टेटमेंट उत्पन्नाला आधार देते का? • या कर्जदारासाठी सर्व दस्तऐवजांचा सारांश द्या.

जर retrieval कमकुवत असेल, तर उत्तरही कमकुवत येते. जर parsing चुकीचे असेल, तर मॉडेलला चुकीचे पुरावे दिसतात. RAG ही आमच्या उत्पादनाची स्मृती (memory) आहे.

आमची पहिली आवृत्ती (version) pgvector साठी चांगली होती कारण: • त्यासाठी कोणत्याही नवीन इन्फ्रास्ट्रक्चरची गरज नव्हती. • त्याचा खर्च कमी होता. • त्यामध्ये सोपे SQL debugging करता येत होते. • ते वेगाने कार्यान्वित (ship) करता आले.

पण pgvector हा RAG pipeline चा फक्त एक भाग आहे. बाकीचे काम आम्हाला करावे लागत होते: • अटॅचमेंट्स डाउनलोड करणे. • OCR द्वारे PDFs आणि स्कॅन्समधून मजकूर काढणे (extracting text). • दस्तऐवजांचे chunking करणे आणि embeddings तयार करणे. • metadata आणि retrieval queries डिझाइन करणे. • indexes आणि ranking ट्यून करणे. • डेटाबेस लोडवर लक्ष ठेवणे (monitoring).

एक स्वच्छ PDF सोपी असते. स्कॅन केलेले बँक स्टेटमेंट कठीण असते. पाच अटॅचमेंट्स आणि टेबल्स असलेला ईमेल त्याहूनही कठीण असतो. pgvector सोबत, आम्हाला त्या pipeline मधील प्रत्येक त्रुटी दूर करावी लागत होती.

खर्च आमच्या क्लाउड बिलाकडून आमच्या इंजिनिअरिंग वेळेकडे वळला. इंजिनिअरिंग वेळ हा आमचा सर्वात मर्यादित स्त्रोत होता.

तुलना: • स्कॅन केलेले दस्तऐवज: आम्ही pgvector सह OCR तयार करतो. Vertex बहुतेक दस्तऐवज प्रक्रिया (document processing) हाताळते. • दस्तऐवजांवरील प्रश्न: आम्ही pgvector सह queries आणि ranking डिझाइन करतो. Vertex मॅनेज्ड सर्च (managed search) प्रदान करते. • अटॅचमेंट्सचा ओघ (Attachment bursts): pgvector सह Postgres लोड सहन करते. Vertex हा लोड आमच्या मुख्य डेटाबेसच्या बाहेर ठेवते. • खर्च: pgvector चा सर्व्हिस खर्च कमी आहे. Vertex चा इंजिनिअरिंग आणि मेंटेनन्स खर्च कमी आहे.

डेटाबेस एक्स्टेंशन म्हणून pgvector स्वस्त आहे. उत्पादन निर्णय (product decision) म्हणून Vertex स्वस्त आहे.

Vertex आम्हाला चार प्रकारे मदत करते: • व्यवस्थापित करण्यासाठी कमी इन्फ्रास्ट्रक्चर. • मेंटेन करण्यासाठी कमी दस्तऐवज-प्रक्रिया लॉजिक. • Postgres बिझनेस ट्रान्झॅक्शन्सवर लक्ष केंद्रित ठेवते. • जसा आमच्या दस्तऐवजांचा आकार वाढतो, तसे ते स्केल होते.

Vertex मोफत नाही. पण आमचे स्वतःचे OCR, indexing आणि ranking तयार करण्याचाही खर्च येतो. तो खर्च आम्ही इंजिनिअरच्या कामाच्या आठवड्यांमध्ये (engineer weeks) मोजतो.

pgvector वापरा जर: • तुमचा डेटा वॉल्यूम मध्यम असेल. • तुमचे दस्तऐवज आधीच स्वच्छ मजकूर (clean text) स्वरूपात असतील. • तुम्हाला कडक SQL फिल्टरिंगची गरज असेल. • तुम्हाला जलद आणि कमी खर्चाची पहिली आवृत्ती हवी असेल.

आमचा धडा साधा आहे: ज्या टूलमुळे तुम्हाला सर्वात वेगाने शिकण्यास मदत होईल, तिथून सुरुवात करा. त्यानंतर अशा टूलकडे वळा जे तुम्हाला सर्वोत्तम कार्यक्षमतेने काम करण्यास मदत करेल.

Source: https://dev.to/twio_ai/why-twio-chose-vertex-ai-search-over-pgvector-for-production-rag-51jm

Optional learning community: https://t.me/GyaanSetuAi