Lokal-Muna na Sistema ng RAG para sa Dokumento na may Hybrid Search at Suporta sa Maraming Format
Isang pangkat na bumubuo ng developer tools ang nangailangan ng ganap na lokal, nagpapanatili ng privacy na sistema ng document intelligence na kayang tumanggap ng maraming format ng file, makabuo ng nahahanap na knowledge bases, at sumagot sa natural language queries gamit ang Retrieval-Augmented Generation โ nang hindi nagpapadala ng anumang data sa external APIs.
Pag-usapan ang Iyong Proyekto
Ang Hamon
Ang mga umiiral na RAG solutions ay may malalaking limitasyon para sa mga use case na may kamalayan sa privacy at nakatuon sa developer:
- Dependency sa External API โ Karamihan sa mga RAG tools ay nangangailangan ng pagpapadala ng nilalaman ng dokumento sa cloud-based embedding APIs, na lumalabag sa mga kinakailangan sa privacy
- Limitadong Suporta sa Format โ Karaniwang plain text o PDF lang ang hinahawakan ng mga solusyon, binabalewala ang spreadsheets, Word docs, HTML, at Markdown
- Mahinang Chunking โ Hindi pinansin ng naive text splitting ang istraktura ng dokumento (mga pahina, sheet, headings), na lumilikha ng mga context-poor chunks
- Kakulangan sa Keyword โ Ang pure embedding-based search ay hindi nakita ang eksaktong keyword matches na mahuhuli ng lexical search
- Kakulangan sa Spreadsheet โ Hindi kayang hawakan ng mga RAG systems ang structured tabular data o sagutin ang filtering/aggregation queries
- Walang Reranking โ Ang first-pass retrieval ay madalas na nagpapakita ng bahagyang relevant na resulta lamang nang walang second-pass quality filter
Ang Aming Solusyon
Binuo namin ang isang kumpletong lokal-muna na sistema ng RAG na may multi-format document ingestion, structure-aware chunking, local embedding generation, isang hybrid search pipeline (semantic + full-text + recency), cross-encoder reranking, at isang web-based UI โ lahat ay tumatakbo nang ganap sa makina ng user.
Arkitektura
- Document Loaders: Mga parser na partikular sa format para sa PDF, DOCX, XLSX, CSV, HTML, Markdown, at plain text
- Chunker: Structure-aware splitting na nagpapanatili ng mga hangganan ng pahina, sheet, at heading
- Embeddings: Local embedding model sa pamamagitan ng Transformers.js (walang external API calls)
- Vector Database: LanceDB (serverless, file-based) para sa embedding storage at similarity search
- Full-Text Search: Trigram-based indexing para sa lexical matching
- Reranker: Cross-encoder model para sa context-aware result scoring
- Query Analyzer: Intent detection routing sa pagitan ng semantic at structured queries
- Web Server: Express.js API na may project management at search endpoints
- Frontend: Web-based UI para sa document upload, management, at interactive search
Pipeline sa Pagproseso ng Dokumento
Mga Multi-Format na Loader
Ang isang registry pattern ay awtomatikong nagde-detect ng uri ng file at nagruruta sa angkop na parser:
- PDF โ Text extraction na may page-level segmentation
- Word (.docx/.doc) โ Heading-aware parsing na nagpapanatili ng hierarchy ng dokumento
- Excel/CSV โ Sheet-by-sheet parsing na may header detection at row-level content
- HTML โ Tag-aware extraction na may structure preservation
- Markdown โ Heading-based section parsing
- Plain Text โ Line-based segmentation
Ang bawat loader ay naglalabas ng metadata (title, author, creation date, page/sheet count, word count) kasama ng nilalaman, na bumubuo ng structured sections na may source references.
Structure-Aware Chunking
Hindi tulad ng naive text splitting, iginagalang ng chunker ang mga hangganan ng dokumento:
- Nagpapanatili ng mga page break (PDFs), sheet boundaries (spreadsheets), at heading hierarchy (Word/Markdown)
- Token-based sizing na may configurable chunk size at overlap
- Hierarchical fallback: unang hinahati ayon sa sections, pagkatapos ay paragraphs, pagkatapos ay sentences
- Bawat chunk ay nagpapanatili ng source metadata (page number, sheet name, heading) para sa attribution
Embedding at Indexing
Lokal na Embedding Model
- Tumatakbo nang ganap nang lokal sa pamamagitan ng Transformers.js โ walang data na lumalabas sa makina
- Quantized model para sa performance optimization
- Batch embedding para sa efficient bulk processing
- Awtomatikong truncation sa mga word boundary na may L2 normalization
Vector Storage
Nagbibigay ang LanceDB ng serverless vector storage:
- File-based (walang kailangang hiwalay na database server)
- Per-project isolation na may independent indices
- SHA256-based cache keys para sa deduplication
- Metadata na nakaimbak kasama ng mga vector para sa filtered retrieval
Hybrid Search Pipeline
Pinagsasama ng retrieval pipeline ang tatlong ranking signals para sa mas mahusay na resulta kaysa sa anumang nag-iisang pamamaraan:
Signal 1: Embedding Search (Semantic)
Nakahanap ang vector similarity search ng mga chunk na may kaugnay na kahulugan kahit na iba't ibang salita ang ginamit. Humahawak ng paraphrasing, synonyms, at conceptual queries.
Signal 2: Full-Text Search (Lexical)
Nahuhuli ng Trigram-based indexing na may Jaccard similarity ang eksaktong keyword matches na maaaring makaligtaan ng embedding search โ mahalaga para sa technical terms, pangalan, at identifiers.
Signal 3: Recency Boost
Ang exponential decay weighting ay pumapabor sa mga kamakailang na-access o nabagong dokumento, tinitiyak na ang napapanahong impormasyon ang unang lumalabas.
Kombinasyon ng Score
Pinagsasama ang mga signal sa configurable weights (default: 50% semantic, 25% lexical, 25% recency), normalized, at filtered ng isang minimum score threshold.
Cross-Encoder Reranking
Pagkatapos ng paunang retrieval, muling sinusuri ng isang cross-encoder model ang mga nangungunang kandidato:
- Isinasaalang-alang ng context-aware scoring ang mga pares ng query-document nang magkasama (hindi nang hiwalay)
- Pagkalkula ng keyword boost para sa term overlap
- Blended scoring (cross-encoder + keyword signals)
- Nagbibigay ng huling ranked list na may mas mataas na precision kaysa sa first-pass retrieval lamang
Suporta sa Structured Data
Para sa nilalaman ng spreadsheet, nagbibigay ang sistema ng karagdagang kakayahan:
- Auto-detection ng mga uri ng column (numeric, date, boolean, string)
- Natural language filtering (halimbawa, "mga empleyado sa engineering na may sahod na lampas sa threshold")
- Suporta sa aggregation (count, sum, average, min, max)
- Ang query analyzer ay nagruruta ng structured queries sa isang dedicated engine sa halip na embedding search
Web Interface
- Project Management โ Gumawa, mag-update, at mag-delete ng knowledge base projects
- Pag-upload ng Dokumento โ Drag-and-drop file upload na may format auto-detection
- Paglikha ng Dokumento โ Gumawa ng mga dokumento mula sa text direkta sa UI
- Interactive Search โ Natural language query interface na may ranked results
- Statistics โ Laki ng index, bilang ng dokumento, at format distribution bawat project
Mga Pangunahing Katangian
- Ganap na Lokal โ Lahat ng pagproseso ay on-device; walang external API calls para sa embeddings o search
- 9 Input Formats โ PDF, DOCX, DOC, XLSX, XLS, CSV, HTML, Markdown, plain text
- Structure-Aware Chunking โ Nagpapanatili ng mga pahina, sheet, at headings bilang chunk boundaries
- Hybrid Search โ Pinagsasama ang semantic, lexical, at recency signals para sa mas mahusay na retrieval
- Cross-Encoder Reranking โ Second-pass scoring para sa mas mataas na precision results
- Structured Queries โ Natural language filtering at aggregation sa spreadsheet data
- Serverless Vector DB โ LanceDB file-based storage na walang infrastructure overhead
- Pagsusulat ng Dokumento โ Mga kakayahan sa pag-export para sa paggawa ng PDF, DOCX, at XLSX
- Project Isolation โ Independent knowledge bases na may hiwalay na indices
- Web UI โ Kumpletong interface para sa document management at interactive search
Mga Resulta
Technology Stack
caseStudyDetail.more Mga Case Study
Tuklasin ang higit pa sa aming mga teknikal na implementasyon
Pagsusuri ng Spreadsheet at Dokumento na Pinapagana ng AI na may Multi-Agent Orchestration at Cross-Document Reference
Kinailangan ng isang data team ng enterprise na magsuri, mag-query, at mag-edit ng malalaking koleksyon ng spreadsheets at mga dokumento (Excel, CSV, Google Sheets, PDFs, Word docs) gamit ang natural na wika โ na may kakayahang mag-cross-reference ng data sa maraming file at magsagawa ng multi-step analytical workflows nang walang manual na data wrangling.
Catant HR at Platform sa Pamamahala ng Workforce
Ang Catant ay isang modular na HR at platform sa pamamahala ng workforce na tumutulong sa mga enterprise na pamahalaan ang mga empleyado, payroll, pagdalo, at compliance mula sa isang dashboard.
Handa nang Baguhin ang Iyong Negosyo?
Pag-usapan natin kung paano namin mailalapat ang katulad na mga solusyon sa iyong mga hamon.