[心得] 我做了一個輕量語義搜尋引擎
看板: 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
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有意義嗎。
→
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