Sistema ng RAG ng Dokumento na Lokal-Una na may Hybrid Search & Suporta sa Maraming Format
Isang pangkat na gumagawa ng developer tools ang nangailangan ng isang ganap na lokal, nagpapanatili ng privacy na sistema ng document intelligence na kayang tumanggap ng maraming file formats, makabuo ng mga searchable knowledge bases, at makasagot ng mga natural language queries gamit ang Retrieval-Augmented Generation โ nang hindi nagpapadala ng anumang data sa mga external API.
Pag-usapan ang Iyong Proyekto
Ang Hamon
Ang mga kasalukuyang solusyon ng RAG ay may malaking limitasyon para sa mga use case na may kamalayan sa privacy at nakatuon sa developer:
- Pagdepende sa External API โ Karamihan sa mga tool ng RAG ay nangangailangan ng pagpapadala ng nilalaman ng dokumento sa mga cloud-based embedding APIs, na lumalabag sa mga kinakailangan sa privacy
- Limitadong Suporta sa Format โ Karaniwang hinahawakan lang ng mga solusyon ang plain text o PDF, na binabalewala ang mga spreadsheet, Word docs, HTML, at Markdown
- Mahinang Chunking โ Hindi isinasaalang-alang ng naive text splitting ang istraktura ng dokumento (mga pahina, sheet, heading), na lumilikha ng mga context-poor chunk
- Mga Puwang sa Keyword โ Ang pure embedding-based search ay hindi nakuha ang eksaktong mga katugma ng keyword na makukuha ng lexical search
- Pagkabulag sa Spreadsheet โ Hindi kayang hawakan ng mga sistema ng RAG ang structured tabular data o sagutin ang mga filtering/aggregation queries
- Walang Reranking โ Ang first-pass retrieval ay madalas na nagpapakita ng bahagya lang na relevant na resulta nang walang second-pass quality filter
Ang Aming Solusyon
Binuo namin ang isang kumpletong lokal-una 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 buo sa makina ng user.
Arkitektura
- Document Loaders: Mga parser na tiyak 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: Lokal na 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 Loader
Isang registry pattern ang awtomatikong nakakadetect ng uri ng file at nagruruta sa angkop na parser:
- PDF โ Pag-extract ng teksto 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 nag-e-extract ng metadata (pamagat, may-akda, petsa ng paggawa, bilang ng pahina/sheet, bilang ng salita) kasama ang nilalaman, na lumilikha ng structured sections na may mga source reference.
Structure-Aware Chunking
Hindi tulad ng naive text splitting, iginagalang ng chunker ang mga hangganan ng dokumento:
- Nagpapanatili ng mga paghati ng pahina (mga PDF), mga hangganan ng sheet (mga spreadsheet), at hierarchy ng heading (Word/Markdown)
- Token-based sizing na may configurable na chunk size at overlap
- Hierarchical fallback: hinahati muna ayon sa mga seksyon, pagkatapos ay mga talata, pagkatapos ay mga pangungusap
- Ang bawat chunk ay nagpapanatili ng source metadata (numero ng pahina, pangalan ng sheet, heading) para sa attribution
Embedding at Indexing
Lokal na Embedding Model
- Tumatakbo nang buo nang lokal sa pamamagitan ng Transformers.js โ walang data na lumalabas sa makina
- Quantized model para sa performance optimization
- Batch embedding para sa mahusay na bulk processing
- Awtomatikong pagputol sa mga hangganan ng salita na may L2 normalization
Vector Storage
Nagbibigay ang LanceDB ng serverless vector storage:
- File-based (walang hiwalay na database server na kailangan)
- Per-project isolation na may independiyenteng mga index
- 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 solong diskarte:
Signal 1: Embedding Search (Semantic)
Hinahanap ng vector similarity search ang mga chunk na may kaugnay na kahulugan kahit na gumagamit ng iba't ibang salita. Humahawak ng paraphrasing, synonyms, at conceptual queries.
Signal 2: Full-Text Search (Lexical)
Nahuhuli ng Trigram-based indexing na may Jaccard similarity ang eksaktong mga katugma ng keyword na maaaring hindi makuha ng embedding search โ mahalaga para sa mga technical term, pangalan, at identifier.
Signal 3: Recency Boost
Ang exponential decay weighting ay pumapabor sa mga kamakailang na-access o nabagong dokumento, tinitiyak na ang up-to-date na impormasyon ang unang lumilitaw.
Kombinasyon ng Score
Ang mga signal ay pinagsasama sa mga configurable na timbang (default: 50% semantic, 25% lexical, 25% recency), normalized, at filtered ng isang minimum score threshold.
Cross-Encoder Reranking
Pagkatapos ng paunang retrieval, isang cross-encoder model ang muling nagbibigay ng score sa mga nangungunang kandidato:
- Isinasaalang-alang ng context-aware scoring ang mga pares ng query-document nang magkasama (hindi independiyente)
- Keyword boost calculation para sa term overlap
- Blended scoring (cross-encoder + keyword signals)
- Gumagawa ng pinal na naka-rank na listahan na may mas mataas na precision kaysa sa first-pass retrieval lamang
Suporta sa Structured Data
Para sa nilalaman ng spreadsheet, nagbibigay ang system ng karagdagang mga kakayahan:
- Auto-detection ng mga uri ng column (numeric, date, boolean, string)
- Natural language filtering (hal., "mga empleyado sa engineering na may sahod na lampas sa threshold")
- Suporta sa aggregation (count, sum, average, min, max)
- Dinadaan ng query analyzer ang mga structured queries sa isang dedikadong engine sa halip na embedding search
Web Interface
- Pamamahala ng Proyekto โ Gumawa, mag-update, at magtanggal ng mga proyekto ng knowledge base
- Pag-upload ng Dokumento โ Drag-and-drop na pag-upload ng file na may format auto-detection
- Paglikha ng Dokumento โ Gumawa ng mga dokumento mula sa teksto nang direkta sa UI
- Interactive Search โ Natural language query interface na may mga naka-rank na resulta
- Mga Estadistika โ Laki ng index, bilang ng dokumento, at distribusyon ng format bawat proyekto
Mga Pangunahing Tampok
- Ganap na Lokal โ Lahat ng pagproseso sa device; walang external API calls para sa embeddings o search
- 9 na Input Format โ PDF, DOCX, DOC, XLSX, XLS, CSV, HTML, Markdown, plain text
- Structure-Aware Chunking โ Nagpapanatili ng mga pahina, sheet, at heading bilang mga hangganan ng chunk
- 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 data ng spreadsheet
- Serverless Vector DB โ LanceDB file-based storage na walang infrastructure overhead
- Pagsusulat ng Dokumento โ Mga kakayahan sa pag-export para sa paglikha ng PDF, DOCX, at XLSX
- Paghihiwalay ng Proyekto โ Independent knowledge bases na may hiwalay na mga index
- Web UI โ Kumpletong interface para sa pamamahala ng dokumento 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 gamit ang Multi-Agent Orchestration at Cross-Document Reference
Kinailangan ng isang data team ng enterprise na suriin, mag-query, at i-edit ang malalaking koleksyon ng mga spreadsheet at 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 negosyo 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.