Soft_Job / PTTBBS 推薦

[心得] 我做了一個輕量語義搜尋引擎

看板: Soft_Job

作者: galaxy4552 (無聞)

標題: [心得] 我做了一個輕量語義搜尋引擎

時間: Wed Nov 19 09:00:56 2025


PipOwl:可嵌入任何 Python 專案的輕量語義搜尋引擎(核心約 10KB)


PipOwl 是從我大型語義專案中抽離出來的

最安全、最不敏感、最容易被整合的一層。


它的定位是:


輕量語義搜尋引擎(Mini Semantic Engine)

純 Python 實作,不含 C/C++ 原生模組

額外依賴皆為常見 NLP 套件(numpy / sentence-transformers)

可用於 CLI / API / Chatbot / IME本地即時執行(接近輸入法候選速度)

適合做:語句相似度、意圖比對、快速原型開發

安裝方式:pip install pipowl


GitHub:https://github.com/galaxy4552/Pipowl


PyPI:pip install pipowl


如果你對中文語義系統、向量表示、或極簡的 semantic engine 有興趣,歡迎一起討論。


--

※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.167.188 (臺灣) ※ 文章網址 ※ ※ 編輯: galaxy4552 (114.136.167.188 臺灣), 11/19/2025 09:09:45
oopFoo : all-MiniLM-L6-v2?有試過EmbeddingGemma-300m?現在中文那 11/19 09:33
oopFoo : 個embedding model是最推薦的? 11/19 09:34
lchcoding : 上次-新酷鷹的事,有沒有後續...? 11/19 10:36
galaxy4552 : 我比較偏向做語義引擎 / pipeline 的研究 11/19 10:40
galaxy4552 : 所以沒有大量 benchmark 各種模型。 11/19 10:41
galaxy4552 : PipOwl embedding layer 抽掉,想塞哪顆MODEL都行 11/19 10:41
galaxy4552 : 回lchcoding 謝謝你記得 這個就是後續 目前還在開發 11/19 10:42
lchcoding : 理解,晚上看 11/19 10:59
DrTech : 依賴sentence-transformers,強調核心 10KB有意義嗎。


11/19 19:16
DrTech : 接用sentence-transformers不就好了。 11/19 19:16
DrTech : 認真看了一下,就是sentence-transformers再包一層,有必 11/19 19:18
DrTech : 要嗎。 11/19 19:18
DrTech : 預設模型,還是中文能力特別差的all-MiniLM-L6-v2,真的蠻 11/19 19:24
DrTech : 外行,又多餘的套件。 11/19 19:24
DrTech : 結論:套殼 sentence-transformers。 11/19 19:27
galaxy4552 : 其實 pipowl 的重點不在重造 Sentence-Transformers 11/19 19:31
galaxy4552 : 本體還是用 sentence-transformers 沒錯 但我的目標是 11/19 19:32
galaxy4552 : 把整條 embedding pipeline (前處理、向量化 11/19 19:32
galaxy4552 : normalization、top-k、API 統一化…) 11/19 19:33
galaxy4552 : 都包成應用層能直接用的三行程式 11/19 19:33
galaxy4552 : all-MiniLM-L6-v2 當預設只是demo用 不是核心設計 11/19 19:36
galaxy4552 : 謝謝你深挖 也很感謝你花時間看程式碼 11/19 19:42
galaxy4552 : 速度這塊我自己實測過體感會比一般直接寫SBERT順很多 11/19 19:42
DrTech : 你把實務上需要根據需求,需要調整的部分,例如怎麼清洗文 11/19 19:43
DrTech : 字,相似度怎麼算,都包起來了,不能直接調整,確實很難用 11/19 19:43
DrTech : 。sentence-transformers 不封裝這些東西,就是為了實務上 11/19 19:43
DrTech : 方便調整。 11/19 19:43
DrTech : 如果是直接砍掉 sentence-transformers,從pytorch層級, 11/19 19:46
DrTech : 輕量封裝,取代sentence-transformers,對我會比較有幫助 11/19 19:46
DrTech : 11/19 19:46
galaxy4552 : 理解你的需求,這裡的定位真的不太一樣。 11/19 19:49
galaxy4552 : pipowl-open 是做「開箱即用的語意搜尋」 11/19 19:49
galaxy4552 : 目標是讓工程師不用碰到清洗、相似度公式 11/19 19:50
galaxy4552 : encode cache 等細節 快速把 SBERT pipeline 11/19 19:51
galaxy4552 : 接進應用程式。 11/19 19:51
galaxy4552 : 你說的那確實是另一種方向 pipowl 不是瞄準那一塊 11/19 19:53
galaxy4552 : 定位不太一樣而已,完全理解你的 point 11/19 19:53
DrTech : 謝謝友善回應 11/19 19:54
galaxy4552 : 您剛剛分析的細節,其實能感受到您真的很有能力。 11/19 19:57
galaxy4552 : 我後面其實還有做一些更底層的向量技術 11/19 20:00
galaxy4552 : 等更穩定後會開放 11/19 20:00
yunf : 講到關鍵字大神要從美國跳出來了 11/20 04:43