v0.6.0

解析

查看 KuraDB 對每個變更檔案選用哪個 parser,以及哪些檔案永遠不會進入 pipeline。

Parser dispatch

變更的非目錄 entry 會先依小寫 extension 比對,再依 text sniffing 判斷:

輸入 Parser path Chunking 行為
.pdf go_pkg_parser.PDF Document parser chunks
.docx go_pkg_parser.Docx Document parser chunks
.pptx go_pkg_parser.PPTX Presentation parser chunks
.csv, .tsv 經 parseTabular 呼叫 go_pkg_parser.CSV 依 header,每五筆 data row 一組
.xlsx 經 parseTabular 呼叫 go_pkg_parser.XLSX 依 header,每五筆 data row 一組
其他有效 UTF-8 文字 go_pkg_parser.Markdown Markdown/text chunks

表格 chunk 將每列輸出為 [n] header=value, ...;header 欄位為空時使用 colN,超出 header 寬度的欄位會被捨棄。少於兩列(header 加 data)的工作表不產生 chunk。

Parser 回傳錯誤時只記錄 log、不寫入任何資料,因此前一次成功解析的 row 仍維持 active。

略過的輸入

規則 範例
依名稱排除 .DS_Store
Image extension .jpg, .png, .gif, .webp, .heic, .svg, .tiff, .avif
Video 與 audio extension .mp4, .mov, .mkv, .mp3, .wav, .flac, .m4a, .opus
Archive 與套件 extension .zip, .tar, .gz, .7z, .rar, .iso, .dmg, .deb, .apk
Binary、bytecode 與 library extension .exe, .dll, .so, .dylib, .class, .jar, .pyc, .wasm
Database、設計與字型 extension .db, .sqlite, .psd, .sketch, .fig, .ttf, .woff2
Text sniffing 未通過 空檔案、前 8,192 bytes 含 NUL byte 或無效 UTF-8 的檔案

略過可避免 image base64 與不支援的 binary data 進入文字 embedding pipeline。被略過的檔案不會被 dismiss:若先前已索引的文字檔被清空,它會在 sniffing 階段被略過,舊 chunk 仍可被搜尋,直到檔案被刪除或寫入新文字。

EN