Rerank重排序与辅助工具
前七篇讲完了 Chat 子系统(六篇)和 Embedding 子系统(一篇),覆盖了 infra-ai 模块 9 个包中的 6 个:config(配置)、enums(枚举)、model(路由核心)、http(HTTP 基础设施)、chat(对话)、embedding(向量化)。
这一篇讲剩下的 3 个包:rerank(重排序子系统)、token(Token 估算)、util(工具类),把整个 infra-ai 模块收尾。
Rerank 是三种能力中的最后一个——和 Chat、Embedding 遵循同样的三层接口设计,复用同一套路由和熔断机制。但 Rerank 有两个独特之处:一是百炼的 Rerank 实现里有一套去重 + 回填的防御性逻辑,处理混合检索场景的边缘情况;二是 NoopRerankClient 用空对象模式实现了优雅降级——没有 Rerank 模型时系统不报错,而是回退到简单截断。
Token 估算和响应清洗是两个小工具,代码量不大,但在 RAG 流程中经常用到。一并在本篇讲完。