← 返回首頁
Clelia Bertelli (🦙/acc)
Clelia Bertelli (🦙/acc)
@itsclelia
100🔁 11
𝕏 (Twitter)🔥🔥🔥
AI 中文摘要Claude 生成

項目概述

litesearch 是一款完全本地化的語意搜尋 CLI 和 TUI 應用,整合了 LiteParse 解析引擎、Chonkie 分塊工具和 Qdrant Edge 向量儲存,無需外部服務即可實現文件攝取、嵌入和檢索的完整流程。

核心工作流程

litesearch 的文件攝取透過四階段管道運作:

  • 解析階段:使用 LiteParse 從文件中提取純文本,支援透過配置文件自訂解析邏輯
  • 分塊階段:透過 Chonkie 將文本分割成重疊的片段,預設為 512 字元
  • 嵌入階段:使用本地模型 nomic-ai/nomic-embed-text-v1.5 生成 768 維度的向量嵌入,透過 @huggingface/transformers 執行
  • 儲存階段:將向量及其 payload 寫入 Qdrant Edge 本地分片,持久化儲存於 .litesearch.qdrant/ 目錄

檢索時,應用使用相同的嵌入模型對查詢進行向量化,隨後對本地分片執行餘弦相似度搜尋。

技術堆疊

  • 向量儲存由 Rust 原生 addon(使用 napi-rs)提供,包裝 qdrant-edge 以支援磁碟型 mmap 備份儲存
  • 專案依賴 Bun 作為執行時環境,Rust 工具鏈僅在重建 qdrant-edge-utils 時需要
  • 程式碼庫分為 CLI 入口點、管道編排、解析、分塊、嵌入和儲存等模組

使用介面與功能

應用提供命令列和終端使用者介面兩種方式:

  • 攝取命令 (bun run ingest <file>):支援自訂 LiteParse 配置文件和分塊大小
  • 檢索命令 (bun run retrieve <query>):支援指定檔案範圍、結果數量上限和相似度閾值篩選
  • TUI 模式 (bun run tui):提供互動式終端介面,引導使用者完成攝取和檢索操作

範例輸出顯示,查詢結果會返回相似度評分(如 0.8723)和對應的文本片段。

本地化優勢

整個流程在本地執行意味著無隱私風險、無網路依賴、無外部服務費用。向量儲存可透過刪除 .litesearch.qdrant/ 目錄快速重置,易於管理和維護。