bm25.py
概述
retrieval/retrieverModules/bm25.py 提供了一种基于精确且严谨的字面切割出现频度的离散分词统计频率召回策略的封装类引擎实现包。 它特别适合应对数学、物理领域里当询问特定的专门名词或者包含非常严苛要求不得偏离的原标题概念:“如欧拉-拉格朗日方程的条件” 这一类的基于纯字面要求匹配而使得它比会胡乱发散的向量嵌入拥有更为靠谱命中不偏移特征能力的机制构建层。
函数与执行控制块点详情装配机制
class BM25Retriever(BaseRetriever)
负责初始化基于 TF-IDF 以及更进一步的算法衍生库(如 rank_bm25)并将我们整个语料进行载入字典并在构建器阶段初始化为一个能够响应 .retrieve 等协议调用的快速打分反馈结构对象提供环境端配置设计处操作方法封装接口引擎配置类端点。
_tokenize_query_for_bm25(query_str: str) -> list
提供对外部提问字符串用在引擎开始匹配前利用分词模型切出对应的数学颗粒、停止词排除以形成合法特征数组矩阵交于核心执行计分的纯净结构拆卸提取机制控制等功能端业务组装端部分等功能实现处调用口。