新闻详情

新闻详情

首页 / 资讯中心 / 详情

实习生日常:RAG 召回后排序(Rerank)实战:利用 Cross-Encoder 深度重排序模型大幅削减文档噪音

发布时间:2026/10/30 2:06:16来源:尧图网络
实习生日常:RAG 召回后排序(Rerank)实战:利用 Cross-Encoder 深度重排序模型大幅削减文档噪音
实习生日常RAG 召回后排序Rerank实战利用 Cross-Encoder 深度重排序模型大幅削减文档噪音在构建企业级检索增强生成RAG工单智能系统时我们在昨天的实战中落地了“BM25 稠密向量的双路混合召回Hybrid Search”。然而在第一阶段粗召回Retrieval中为了保证不漏掉关键信息我们通常会放大召回窗口例如一次性召回 Top 30 或 Top 50 个候选文档片段。随之而来的新生产痛点爆发了大模型的“迷失在中间Lost-in-the-Middle”现象研究表明大语言模型对 Prompt 开头和结尾的上下文最为敏感而如果将 30 个包含大量冗余与微弱相关的文档一股脑塞进 Prompt 中核心答案极易被淹没在中间导致大模型产生幻觉或答非所问Token 上下文开销成倍暴增30 个段落消耗了数千个 Token极大地拖慢了首字生成时间TTFT且推高了 API 账单成本。为了将召回的候选文档从粗糙的 Top 30 精确压缩为信息密度极高、与问题强相关的 Top 3 黄金片段必须在召回与生成之间插入一道关键防线——基于 Cross-Encoder 的深度重排序模型Reranker如 BAAI/bge-reranker-large 或 Cohere Rerank。今天我把这套现代 RAG 重排序流水线、Bi-Encoder vs Cross-Encoder 的架构差异与 Java/Python 生产级落地实战完整公开。Bi-Encoder向量召回vs Cross-Encoder重排序核心架构对比graph TD subgraph Bi-Encoder (双塔模型: 用于海量数据初筛召回) Q1[Query 问题] -- ModelQ[Embedding 模型] -- VecQ[1024 维向量 Q] D1[Document 文档] -- ModelD[Embedding 模型] -- VecD[1024 维向量 D] VecQ VecD -- Cosine[余弦点积计算相似度: 耗时微秒级, 但两段文本在模型内部零交互!] end subgraph Cross-Encoder (交叉编码模型: 用于精排 Top 30) Q2[Query 问题] D2[Document 文档] -- Concat[拼接为: [CLS] Query [SEP] Document] Concat -- FullAttention[ 全注意力交互 Transformer (每个 Token 互相 Cross-Attention)] FullAttention -- Sigmoid[直接输出精确相关度分值: 0.0 ~ 1.0 (精度极高!)] end对比维度Bi-Encoder双塔 Embedding 向量检索Cross-Encoder重排序 Rerank 模型文本交互深度零交互各自独立编码为固定维度向量仅做向量余弦点积全量深度交互输入拼接后在所有自注意力层中两两计算 Cross-Attention计算复杂度极低向量距离计算耗时纳秒级支持百万级索引毫秒检索较高单次比对需要走完整 Transformer 前向传播语义判决精度适中容易出现语义漂移与泛化失真极高对语序、条件限定与逻辑否定极其敏锐最佳生产定位第一阶段从海量 100 万文档中粗筛 Top 50 候选集第二阶段从 Top 50 候选中精排筛选 Top 3 黄金上下文RAG 工业级“两阶段检索重排”全景流水线graph TD UserQ[用户工单提问: 服务超时 502 且退款失败如何处理?] -- Hybrid[第一阶段: 混合粗召回 (BM25 向量检索)] Hybrid -- Candidates[召回 Top 30 候选文档片段 (包含大量弱相关噪音)] Candidates -- Reranker[第二阶段: bge-reranker-large 深度重排序模型] Reranker -- Scores[Cross-Encoder 输出每个片段的精准相关度得分 (0.0 ~ 1.0)] Scores -- FilterThreshold{过滤: 得分 0.65 且截取 Top 3} FilterThreshold -- GoldenContext[ 仅保留 3 个纯净高密度黄金片段 (约 600 Token)] GoldenContext -- LLM[大模型组装 Prompt 产出精准、零幻觉答案]Python 服务端轻量 Rerank 推理微服务实现基于 HuggingFace / ONNX在内网部署基于BAAI/bge-reranker-large的轻量高性能重排序微服务from fastapi import FastAPI from pydantic import BaseModel from typing import List import torch from transformers import AutoModelForSequenceClassification, AutoTokenizer app FastAPI() tokenizer AutoTokenizer.from_pretrained(BAAI/bge-reranker-large) model AutoModelForSequenceClassification.from_pretrained(BAAI/bge-reranker-large) model.eval() if torch.cuda.is_available(): model.cuda() class RerankRequest(BaseModel): query: str documents: List[str] top_k: int 3 app.post(/v1/rerank) def rerank(req: RerankRequest): pairs [[req.query, doc] for doc in req.documents] # 构造交叉注意力输入 with torch.no_grad(): inputs tokenizer(pairs, paddingTrue, truncationTrue, max_length512, return_tensorspt) if torch.cuda.is_available(): inputs {k: v.cuda() for k, v in inputs.items()} scores model(**inputs, return_dictTrue).logits.view(-1).float() # 经过 Sigmoid 归一化到 0~1 区间 probs torch.sigmoid(scores).cpu().numpy() # 结果按得分从高到低排序 results [] for idx, (doc, score) in enumerate(zip(req.documents, probs)): results.append({index: idx, document: doc, score: float(score)}) results.sort(keylambda x: x[score], reverseTrue) return {results: results[:req.top_k]}Spring Boot 业务端优雅接入与质量提升实测在 Java 后端 Service 中将混合检索结果送入 Reranker 过滤Service Slf4j public class RerankedRagService { Autowired private HybridSearchService hybridSearchService; Autowired private RerankClient rerankClient; Autowired private LlmInferenceClient llmClient; public String answerUserQuery(String userQuery) { // 1. 混合检索召回 Top 30 候选集 ListString rawCandidates hybridSearchService.searchTop30(userQuery); // 2. 调用 Cross-Encoder 深度重排序精筛 Top 3 (耗时约 35ms) ListRerankedResult reranked rerankClient.rerank(userQuery, rawCandidates, 3); // 3. 过滤低分噪音片段 (门槛设为 0.60) ListString goldenDocs reranked.stream() .filter(r - r.getScore() 0.60) .map(RerankedResult::getDocument) .toList(); if (goldenDocs.isEmpty()) { return 【智能客服】未检索到与您问题高度匹配的合规政策请转人工客服。; } // 4. 组装极简纯净 Prompt 送入大模型 return llmClient.chatWithGoldenDocs(userQuery, goldenDocs); } }生产评测成效对比在 5,000 条复杂长尾工单真实问答测试集上进行全真对比RAG 架构方案输入 Prompt 平均 Token 数大模型首字延迟TTFT答案幻觉率最终答案准确率Accuracy仅向量检索 Top 104,200 Token1,850 ms14.2%76.5%混合召回 Top 30无重排8,500 Token严重过载3,200 ms22.8% (迷失在中间)69.2%混合召回 Cross-Encoder 重排 Top 31,150 Token削减 86%620 ms极速秒级直出0.4%几乎零幻觉94.8%登顶最佳实习生的工程总结Rerank 模型是连接“宽门初筛”与“大模型高精推理”之间的**“降噪滤镜”**。通过在粗召回后引入 Cross-Encoder 深度注意力全交互我们在大幅削减 86% 无效上下文 Token 的同时消除了大模型在复杂上下文中的注意力迷失真正实现了“低成本、超低时延、极致精准”的工业级 RAG 落地。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/10/28 16:06:12

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/10/29 23:30:48

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/10/29 13:36:24

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/10/29 19:55:35

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/10/29 13:36:50

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/10/28 16:06:10

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉