大聪明 - github.com/glidea/zenfeed (@ajd) 在 知识库的基石:HNSW 的实践分享 中发帖
0. 背景
你有想过 Cherry Studio 知识库的基本原理吗?简单说:
当你添加文档到知识库时:
文档拆分成若干个片段(解决上下文 & 语义稀释)
借助比如硅基 bge-m3 嵌入模型把文档 向量化 并存储
向量化怎么理解呢?可以比喻成给文档打上各种 “标签”(大家好我是 “男的”,“写代码的”,“佬友”…),以后根据标签相似度找文档
严谨起见,给个稍微对味的解释:“把文档映射到 n 维(没错就是你在硅基模型介绍看到的那个)的特征(上面提到的标签)向量空间”,再举个不严谨的例子,“红色” 映射到三维 RGB 向量空间可以是 (255,1,2)。好点到为止,再说我就要露馅了
发现了吗?本质上是量化成数字,后面好运算(比如计算相似度)
当你向知识库查询时:
把查询向量化(对齐到和文档同一个空间)
查找最相似的几个文档片段作为结果。那么怎么判断相...