作者galaxy4552 (无闻)
看板Soft_Job
标题[心得] 我做了一个轻量语义搜寻引擎
时间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 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1763514061.A.5E0.html
※ 编辑: galaxy4552 (114.136.167.188 台湾), 11/19/2025 09:09:45
1F:推 oopFoo: all-MiniLM-L6-v2?有试过EmbeddingGemma-300m?现在中文那 11/19 09:33
2F:→ oopFoo: 个embedding model是最推荐的? 11/19 09:34
3F:推 lchcoding: 上次-新酷鹰的事,有没有後续...? 11/19 10:36
4F:→ galaxy4552: 我比较偏向做语义引擎 / pipeline 的研究 11/19 10:40
5F:→ galaxy4552: 所以没有大量 benchmark 各种模型。 11/19 10:41
6F:→ galaxy4552: PipOwl 把 embedding layer 抽掉,想塞哪颗MODEL都行 11/19 10:41
7F:→ galaxy4552: 回lchcoding 谢谢你记得 这个就是後续 目前还在开发 11/19 10:42
8F:→ lchcoding: 理解,晚上看 11/19 10:59
9F:→ DrTech: 依赖sentence-transformers,强调核心 10KB有意义吗。 直 11/19 19:16
10F:→ DrTech: 接用sentence-transformers不就好了。 11/19 19:16
11F:→ DrTech: 认真看了一下,就是sentence-transformers再包一层,有必 11/19 19:18
12F:→ DrTech: 要吗。 11/19 19:18
13F:→ DrTech: 预设模型,还是中文能力特别差的all-MiniLM-L6-v2,真的蛮 11/19 19:24
14F:→ DrTech: 外行,又多余的套件。 11/19 19:24
15F:→ DrTech: 结论:套壳 sentence-transformers。 11/19 19:27
16F:→ galaxy4552: 其实 pipowl 的重点不在重造 Sentence-Transformers 11/19 19:31
17F:→ galaxy4552: 本体还是用 sentence-transformers 没错 但我的目标是 11/19 19:32
18F:→ galaxy4552: 把整条 embedding pipeline (前处理、向量化 11/19 19:32
19F:→ galaxy4552: normalization、top-k、API 统一化…) 11/19 19:33
20F:→ galaxy4552: 都包成应用层能直接用的三行程式 11/19 19:33
21F:→ galaxy4552: all-MiniLM-L6-v2 当预设只是demo用 不是核心设计 11/19 19:36
22F:→ galaxy4552: 谢谢你深挖 也很感谢你花时间看程式码 11/19 19:42
23F:→ galaxy4552: 速度这块我自己实测过体感会比一般直接写SBERT顺很多 11/19 19:42
24F:→ DrTech: 你把实务上需要根据需求,需要调整的部分,例如怎麽清洗文 11/19 19:43
25F:→ DrTech: 字,相似度怎麽算,都包起来了,不能直接调整,确实很难用 11/19 19:43
26F:→ DrTech: 。sentence-transformers 不封装这些东西,就是为了实务上 11/19 19:43
27F:→ DrTech: 方便调整。 11/19 19:43
28F:→ DrTech: 如果是直接砍掉 sentence-transformers,从pytorch层级, 11/19 19:46
29F:→ DrTech: 轻量封装,取代sentence-transformers,对我会比较有帮助 11/19 19:46
30F:→ DrTech: 。 11/19 19:46
31F:→ galaxy4552: 理解你的需求,这里的定位真的不太一样。 11/19 19:49
32F:→ galaxy4552: pipowl-open 是做「开箱即用的语意搜寻」 11/19 19:49
33F:→ galaxy4552: 目标是让工程师不用碰到清洗、相似度公式 11/19 19:50
34F:→ galaxy4552: encode cache 等细节 快速把 SBERT pipeline 11/19 19:51
35F:→ galaxy4552: 接进应用程式。 11/19 19:51
36F:→ galaxy4552: 你说的那确实是另一种方向 pipowl 不是瞄准那一块 11/19 19:53
37F:→ galaxy4552: 定位不太一样而已,完全理解你的 point 11/19 19:53
38F:推 DrTech: 谢谢友善回应 11/19 19:54
39F:→ galaxy4552: 您刚刚分析的细节,其实能感受到您真的很有能力。 11/19 19:57
40F:→ galaxy4552: 我後面其实还有做一些更底层的向量技术 11/19 20:00
41F:→ galaxy4552: 等更稳定後会开放 11/19 20:00
42F:→ yunf: 讲到关键字大神要从美国跳出来了 11/20 04:43