96SEO 2026-02-19 15:59 16
因此我们今天来系统回顾下RAG中的模块#xff0c;包括一些架构#xff0c;文本嵌入embedding等#xff…对于RAG而言2023年已经出现了很多工作草台班子有了一堆架构也初步走通2024年应该会围绕搜索增强做更多的优化工作。

因此我们今天来系统回顾下RAG中的模块包括一些架构文本嵌入embedding等供大家一起参考。
RAG深入探讨其核心范式、关键技术及未来趋势中对Retrieval-Augmented
Survey进行了介绍其对于增强大家对RAG的基本理论认知有一定的帮助。
而另一个文章https://blog.llamaindex.ai/a-cheat-sheet-and-some-recipes-for-building-advanced-rag-803a9d94c41b又整理了个图在圈子里火了起来。
而最近也有开源一个涵盖到reranker阶段的RAG开源项目QAnything
致力于支持任意格式文件或数据库的本地知识库问答系统支持PDFWord(doc/docx)PPTMarkdownEmlTXT图片jpgpng等网页链接等。
地址https://github.com/netease-youdao/QAnything
QAnything使用两阶段检索范式其提到知识库数据量大的场景下两阶段优势非常明显如果只用一阶段embedding检索随着数据量增大会出现检索退化的问题二阶段rerank重排后能实现准确率稳定增长即数据越多效果越好。
本周也出现了一些新的文本嵌入模型和RAG项目例如NetEase
Youdao开源了其嵌入项目BCEmbedding以及问答系统QAnything。
EmbeddingModel用于生成语义向量在语义搜索和问答中起着关键作用EmbeddingModel支持中文和英文。
EmbeddingModel通常用于粗排因为其可以预先对文本进行向量表示并预先建立索引在真实场景下只需要检索计算相似度即可很快速并且各个文本计算相似度可以
EmbeddingModel(model_name_or_pathmaidalun1020/bce-embedding-base_v1)#
model.encode(sentences)不过EmbeddingModel并为考虑文本之间的交互并且不同的场景下相似度阈值并不好控制。
RAG)是由网易有道开发的双语和跨语种语义表征算法模型库其中包含EmbeddingModel和RerankerModel两类基础模型。
地址https://github.com/netease-youdao/BCEmbedding
对模型进行预训练再用对比学习在大规模成对数据上训练模型地址https://github.com/FlagOpen/FlagEmbedding/tree/master/FlagEmbedding/baai_general_embedding
可以在https://github.com/netease-youdao/BCEmbedding中找到embedding侧的对比结果。
其采用基于MTEB的语义表征评估基准https://github.com/embeddings-benchmark/mteb。
知乎文章《https://zhuanlan.zhihu.com/p/661867062》针对这块有了个不错的总结【感兴趣的可以进一步看看】其提到在大模型微调这块有个hard
tuning的方式在进行多任务微调的时候给不同的任务的input前边都加入固定模式的文字让模型学会看到某一段文字之后就知道要做什么任务了有助于提高下游不同任务的效果。
举一反三都是语言模型当然也可以在向量化模型上用这个trick了也就是做不同的任务时分别给不同任务的query和key加上不同的prompt之后在做向量化因此母亲也出现了许多很有意思的idea。
Instructions》(https://arxiv.org/pdf/2211.09260.pdf)是在2022年很早期的一个工作该工作目标是利用多任务指令调整技术开发一种通用的任务感知检索系统该系统可以按照人类编写的指令为给定查询找到最佳文档首次大规模收集了约40个带指令的数据集BERRI,Bank
Instructions并介绍了在带指令的BERRI上训练的多任务检索系统TART(TAsk-aware
ReTriever)TART展示了通过指令适应新检索任务的可行性。
我们在之前的文章《引入任务Instruction指令的句子向量化方案Instructor的实现思路及训练数据集构造方案》(https://mp.weixin.qq.com/s/qIh07eU8_lYL2gBVzTFzKA)**
中有介绍到instructor的方案其在每个query上加上了指令信息并一次来计算对比学习loss
这种思路引入了适配特定instruction任务的嵌入方案这与instruction微调美妙结合。
Embeddings》(https://arxiv.org/abs/2212.09741)这一工作提出了INSTRUCTOR(Instruction-based
Representations)的思路是一种根据任务说明计算文本嵌入的新方法每个文本输入会与解释用例的说明如任务和领域描述一起进行嵌入。
在具体实现上该工作通过构造330种不同任务的说明并在这种多任务上对INSTRUCTOR进行了对比损失训练这个和当前大模型的instruction
项目地址https://instructor-embedding.github.io
Models》(https://arxiv.org/abs/2401.00368)
这一工作利用LLM为近100种语言的文本嵌入任务生成多样化的合成数据在合成数据上使用标准对比损失对开源模型LLM进行微调得到更好的嵌入表示。
具体思路上用了两步提示策略首先提示LLMs对候选任务库进行头脑风暴然后提示LLMs从任务库中生成以给定任务为条件的数据。
为了涵盖各种应用场景为每种任务类型设计了多个提示模板并将不同模板生成的数据结合起来以提高多样性。
对于文本嵌入模型选择微调功能强大的开源LLM而不是BERT式的小型模型。
Models》(https://arxiv.org/abs/2310.07554)也就是BGE2。
其实其在第一个版本的时候就已经引入了instruction的思想做向量化召回时候只将召回任务分成两类对称检索相似句匹配和非对称检索QA匹配如果做是QA匹配需要在Q进行向量化时候加入前缀“为这个句子生成表示(for
SentenceTransformer(BAAI/bge-large-zh-v1.5)
p_embeddings.T在具体实现上BGE2根据LLM的反馈进行微调支持大型语言模型的检索增强需求包括知识检索、记忆检索、示例检索和工具检索在具体实现上在6个任务上进行了微调:问题回答、对话搜索、长对话、长文本建模、上下文学习和工具学习。
}其在具体实现上很有意思重点在于基于大语言模型反馈的奖励机制、知识蒸馏的稳定化以及明确指示的多任务微调。
具体的
LLM的期望输出表示为检索候选表示为候选的奖励表示为|由以下方程导出
表示期望输出的第个标记而LLM(|)表示在给定上下文的情况下LLM生成的可能性。
换句话说如果一个检索候选导致期望输出的生成可能性更高那么将分配更高的奖励。
对于问答任务奖励计算为在给定一个单一候选段落的情况下生成答案的可能性对于指令调整任务奖励计算为在给定一个候选示例的情况下生成指定的输出的可能性。
对于生成任务奖励计算为在给定一个候选历史块的情况下生成新内容的可能性。
不过LLM奖励不适用于会话搜索和工具学习数据集因为在这些情况下没有对LLM输出的明确期望。
在知识蒸馏方面通过最小化使用LLM的奖励计算的候选样本分布与由嵌入模型预测的分布之间的差距来提高模型性能通过计算KL散度以减小LLM的奖励的波动对蒸馏的负面影响
交叉编码器将对查询和答案实时计算相关性分数这比向量模型(即双编码器)更准确但比向量模型更耗时。
因此它可以用来对嵌入模型返回的前k个文档重新排序。
不同于向量模型需要输出向量直接文本对输出相似度(因为交叉编码器在句子层面的任务上表现非常好但它存在一个“致命”缺点交交叉编码器不产生句子嵌入这个嵌入没有绝对意义)排序准确度更高可用于对向量召回结果的重新排序提升最终结果的相关性。
paire组成的正负样例一块送入模型训练目标是正样例的logits
也就是说其通过句子对及表征其语义相似程度的基本事实标签可能是离散的类别标签或者是连续性的相似度数值来进行有监督训练。
这块的实现可以参考https://github.com/luyug/Reranker/tree/main
RerankerModel(model_name_or_pathmaidalun1020/bce-reranker-base_v1)#
passages)但是很现实的是交叉编码器在实际应用中的速度很慢所以通常都是作为精排出现关于rerank精排这块的对比实验可以查看《Agents大模型外挂检索优化》(https://zhuanlan.zhihu.com/p/657653570)有些结论很有意思
bge-reRank模型虽然是一个rank模型但其的score值还是较好的稳定在一个取值范围业务场景中可在自己的测评数据上找到的一个不错的score值来解决不应该召回的情况。
使用reRank可显著提升检索效果前提还是bge-reranker-large效果比较好。
笔者对比阿里的通用reRank模型效果比检索还差了。
通过domain数据finetune可进一步提升检索效果为业务指标提升展现了一条康庄大道。
T2rankinghttps://huggingface.co/datasets/THUIR/T2Ranking
MMmarcohttps://github.com/unicamp-dl/mMARCO
dulreaderhttps://github.com/baidu/DuReader
Cmedqa-v2https://github.com/zhangsheng93/cMedQA2
nli-zhhttps://huggingface.co/datasets/shibing624/nli_zh
msmarcohttps://huggingface.co/datasets/sentence-transformers/embedding-training-data
nqhttps://huggingface.co/datasets/sentence-transformers/embedding-training-data
hotpotqahttps://huggingface.co/datasets/sentence-transformers/embedding-training-data
NLIhttps://github.com/princeton-nlp/SimCSE
Mr.TyDihttps://github.com/castorini/mr.tydi
RerankerModel擅长优化语义搜索结果和语义相关顺序精排支持中文英文日文和韩文。
地址https://github.com/netease-youdao/BCEmbedding
FlagEmbedding(https://github.com/FlagOpen/FlagEmbedding/)在检索增强llm领域做了许多开源工作Reranker
Model也是其中的一个重点其在在多语言数据上训练了交叉编码器。
地址https://huggingface.co/BAAI/bge-reranker-large
模型评测方面使用llamaindex进行测试可以从https://github.com/netease-youdao/BCEmbedding中找到对应的评测结果如下表所示
models(https://blog.llamaindex.ai/boosting-rag-picking-***-best-embedding-reranker-models-42d079022e83)
本文主要介绍了RAG系统中的一些有趣的话题包括从RAG的整体架构及开源两阶段RAG项目、带有prompt的向量化embedding、关于RerankerModel精排模型这些都在2024年开年这一周出现了很多有趣的工作。
技术要学会分享、交流不建议闭门造车。
一个人可以走的很快、一堆人可以走的更远。
相关资料、数据、技术交流提升均可加我们的交流群获取群友已超过2000人添加时最好的备注方式为来源兴趣方向方便找到志同道合的朋友。
1、https://www.datagrand.com/blog/技术干货如何训练高性能语义表示模型-交叉.html
2、https://zhuanlan.zhihu.com/p/661867062
3、https://www.sbert.net/examples/applications/retrieve_rerank/README.html
4、https://blog.llamaindex.ai/a-cheat-sheet-and-some-recipes-for-building-advanced-rag-803a9d94c41b
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback