Qdrant 通过原生 ColBERT 重排序技术,将 RAG 系统的 token 成本降低了 67%。传统 RAG 采用两阶段架构:先进行第一轮密集向量搜索获取 top 候选,再调用外部重排序 API(如 Cohere、SageMaker)进行排序。这带来了网络开销、运维复杂度和双倍费用等问题。
Qdrant 从 1.10 版本开始支持原生多向量字段和 MAX_SIM 比较器,实现了 ColBERT 风格的晚交互重排序,所有计算在数据库单次查询中完成,无需外部服务。其内存管理优化包括:对密集索引使用二进制量化(BQ),压缩至 1 bit/维度并常驻内存以加速候选预取;ColBERT 的 token 矩阵则存储在磁盘上,仅在重排序阶段加载到内存。
实际构建的流程为:将文档按章节正确分块,避免切断法律条款;对每个块同时生成标准密集嵌入和 ColBERT 多向量矩阵。第一阶段使用二进制量化密集向量预取前 N 个候选块;第二阶段在 Qdrant 内部通过 ColBERT 的 MAX_SIM 运算对候选块重新评分;随后在本地对最高评分块中的句子进行隔离评分,仅将匹配的句子发送给 LLM。
基准测试表明,相比传统两阶段方案,该优化将 token 成本降低了 67%(按 Claude 3.5 Sonnet 每百万输入 token 3 美元计算),同时消除了外部 API 调用的延迟和故障风险。
(原文还提供了 Qdrant 集合配置脚本示例,展示了如何同时使用 BAAI/bge-small-en-v1.5 和 colbert-ir/colbertv2.0 模型生成嵌入。)