集成检索介绍
📅 2026/7/29 1:20:28
👁️ 次浏览
它的优化对象是「检索召回的结果」核心逻辑是对多路不同检索引擎的召回结果做融合重排全程不修改用户的原始查询语句和查询转换阶段“改写查询文本”的核心定位有本质区别。1.3.1 集成检索器与混合检索策略1.3.1.1 核心原理与优势集成检索器的核心思想是多路召回、优势互补接入多种不同检索逻辑的检索器对同一个查询分别执行召回再通过融合算法将多路结果合并排序最终输出统一的文档列表整体效果优于任意单一检索器。单一检索算法都存在天然的能力边界稀疏检索如BM25关键词检索擅长字面精确匹配对专有名词、专业术语、数字、缩写的匹配度高但无法理解语义、同义词、上下文关联密集检索如向量相似度检索擅长语义模糊匹配能理解同义词、句式变化、隐含语义但对精确关键词、专有名词的匹配弱于字面检索。将二者结合的混合检索Hybrid Search是工业界生产级RAG的标准配置能够同时覆盖字面匹配与语义匹配大幅提升召回的准确率与全面性也是Dify、Coze等主流AI应用平台的默认检索方案。1.3.1.2 LangChain 内置实现EnsembleRetrieverLangChain 官方封装了EnsembleRetriever集成检索器原生支持多路检索器结果融合默认基于RRF倒数排名融合算法做结果重排可接入任意符合标准的Retriever实现。1.3.1.2.1 核心构造参数参数名类型说明retrieversList[BaseRetriever]检索器列表支持任意数量、任意类型的检索器组合weightsList[float]对应检索器的权重列表长度与retrievers一致权重越高对应检索器的结果优先级越高1.3.1.2.2 基础实现示例BM25FAISS混合检索最经典的落地方案是「BM25关键词稀疏检索 FAISS向量密集检索」的双路组合实现完整的混合检索能力。importdotenvfromlangchain.retrieversimportEnsembleRetrieverfromlangchain_community.retrieversimportBM25Retrieverfromlangchain_community.vectorstoresimportFAISSfromlangchain_core.documentsimportDocumentfromlangchain_openaiimportOpenAIEmbeddings dotenv.load_dotenv()# 1. 准备知识库文档documents[Document(page_content笨笨是一只很喜欢睡觉的猫咪,metadata{page:1}),Document(page_content我喜欢在夜晚听音乐这让我感到放松。,metadata{page:2}),Document(page_content猫咪在窗台上打盹看起来非常可爱。,metadata{page:3}),Document(page_content学习新技能是每个人都应该追求的目标。,metadata{page:4}),]# 2. 构建BM25关键词检索器稀疏检索bm25_retrieverBM25Retriever.from_documents(documents)bm25_retriever.k4# 3. 构建FAISS向量检索器密集检索faiss_dbFAISS.from_documents(documents,embeddingOpenAIEmbeddings(modeltext-embedding-3-small))faiss_retrieverfaiss_db.as_retriever(search_kwargs{k:4})# 4. 初始化集成检索器两路检索权重各占0.5ensemble_retrieverEnsembleRetriever(retrievers[bm25_retriever,faiss_retriever],weights[0.5,0.5],)# 5. 执行混合检索docsensemble_retriever.invoke(除了猫你养了什么宠物呢)1.3.1.2.3 运行时动态配置生产环境支持通过configurable_fields实现检索参数的动态调整无需重启服务即可修改单路检索器的召回数量、匹配阈值等配置。# 为向量检索器配置可动态修改的搜索参数faiss_retrieverfaiss_db.as_retriever(search_kwargs{k:4}).configurable_fields(search_kwargsConfigurableField(idsearch_kwargs_faiss,name搜索参数,descriptionFAISS检索器的搜索参数配置,))# 调用时传入配置动态调整召回数量config{configurable:{search_kwargs_faiss:{k:1}}}docsensemble_retriever.invoke(苹果,configconfig)1.3.1.3 融合算法逻辑EnsembleRetriever底层基于加权版RRF倒数排名融合算法实现结果合并核心执行逻辑并行调用所有检索器分别获取各自的文档排名列表对每个文档按其在各路检索器中的排名结合对应检索器的权重累计计算融合得分按总得分降序排列去重后输出最终的融合结果。与标准RRF算法相比加权RRF支持人为调整不同检索通道的优先级比如精确查询占比高的业务场景可将BM25权重设为0.6、向量检索设为0.4灵活适配业务偏好。1.3.1.4 与RAG Fusion的边界区分二者都使用了RRF融合算法但所属阶段、解决的问题完全不同是极易混淆的两个方案核心区别如下方案所属阶段核心逻辑差异来源核心目标集成检索器混合检索检索阶段同一个查询多路不同检索引擎召回结果融合检索算法/引擎不同兼顾字面匹配与语义匹配RAG Fusion查询转换检索融合多个改写查询同一路检索器召回结果融合查询语句不同提升召回的语义全面性工业界最佳实践通常是二者叠加使用先通过查询转换生成多个子查询再对每个子查询执行混合检索最后对所有结果做统一RRF融合实现最大化的召回效果。1.3.1.5 落地最佳实践权重调优默认两路各0.5是通用基线需结合业务场景调优。事实类、精确查询多的场景调高BM25权重语义类、咨询类查询多的场景调高高向量检索权重。召回数量配置单路检索器的召回数量建议略大于最终目标数量保证融合后有足够的候选池做排序。例如最终返回4条结果单路可各召回4~6条。中文分词适配原生BM25检索器默认按空格分词不适合中文文本。生产环境需替换为Jieba等中文分词器否则关键词检索效果会严重下降。可扩展组合不仅限于BM25向量还可接入图检索、SQL检索、知识库目录检索等多路通道通过统一的RRF框架融合适配复杂的多数据源RAG系统。性能权衡每增加一路检索器检索耗时会相应增加需在效果与性能之间做平衡。通用场景两路混合即可覆盖绝大多数需求不建议堆砌超过三路检索器。
1. 项目概述:当创客精神遇见物理安全看到“全自动解锁机器人”这个标题,很多人的第一反应可能是电影里的高科技间谍装备。但今天要聊的,是一个完全基于开源硬件和桌面制造技术实现的、极具教育意义和探索价值的创客项目。它的核心目标&#x…
📅 2026/7/29 1:20:28
Gromacs-2025版本使用贾维斯工具完成一键编译部署 Gromacs-2025版本使用贾维斯工具完成一键编译部署## 通过 Git clone 下载贾维斯工具
(1)下载基本依赖软件
yum -y install git time zlib zlib-devel gcc gcc-c environment-modules python python3 pyt…
📅 2026/7/29 1:20:28
在快节奏的现代生活中,手机早已成为我们生活与工作中不可或缺的一部分。然而,细致到每位用户手中的手机难免会遇到各种问题,如屏幕破裂、电池老化或者进水,这些急需专业而可靠的服务来解决。那么,到了2026年࿰…
📅 2026/7/29 1:19:28
拿到一堆FPKM或者count值
脑子是不是瞬间一片空白?
别急着去跑R语言
更别去花几千块找代做
今天这文章,纯干货
教你用免费工具搞定差异分析很多新手第一次接触GEO数据库
看到那些密密麻麻的数字
直接就想放弃
其实geo2r基因怎么看
真的没那么玄乎
它是NCBI自带的在线工具
不用…
📅 2026/7/29 2:27:25
为什么你的本地AI知识库总是回答不准确?为什么别人的RAG系统能精准回答专业问题,而你的却经常"胡说八道"?问题可能不在于模型本身,而在于你选择的部署方案和配置细节。今天要介绍的Qwen3RAGFlow组合,是目前个…
📅 2026/7/29 2:27:38
1. 项目概述:为什么是Romeo BLE Quad?如果你玩过Arduino小车,大概率对DFRobot的Romeo系列主控板不陌生。它把电机驱动、传感器接口、电源管理都集成在一块板上,让造小车这件事变得像搭积木一样简单。但传统的Romeo板有个“甜蜜的烦…
📅 2026/7/29 2:27:38
1. 从“网络摄像头”到“智能终端”的转变最近在捣鼓一个智能家居的小项目,需要把家里的旧USB摄像头利用起来,做成一个能本地处理视频流的边缘设备。一开始想用树莓派,但总觉得有点“杀鸡用牛刀”,功耗和成本都偏高。后来把目光投…
📅 2026/7/29 2:27:38
这次我们来看一个结合 Dify 和 RAG 技术的实战项目——打造专属三角洲游戏 AI 助手。Dify 作为一个开源的大模型应用开发平台,能够帮助开发者快速构建基于大语言模型的 AI 应用,而 RAG(检索增强生成)技术则能有效解决大模型知识更…
📅 2026/7/29 2:27:38
1. 从融资暂停看技术公司的信息管理风险这次DeepSeek融资暂停事件,最值得技术从业者关注的不是融资本身,而是“纪要外泄”这个触发点。在技术公司日常运营中,融资路演材料、技术方案讨论、产品路线图这些内部文档的流转,往往比代码…
📅 2026/7/29 2:27:38
解密Seq的核心功能:如何利用Pipeline实现高效基因组数据处理 【免费下载链接】seq A high-performance, Pythonic language for bioinformatics 项目地址: https://gitcode.com/gh_mirrors/se/seq
Seq作为一款高性能的生物信息学专用语言,其Pipel…
📅 2026/7/29 0:00:00
Flask-Blogging插件开发指南:打造属于你的个性化博客功能 【免费下载链接】Flask-Blogging A Markdown Based Python Blog Engine as a Flask Extension. 项目地址: https://gitcode.com/gh_mirrors/fl/Flask-Blogging
Flask-Blogging是一个基于Markdown的Py…
📅 2026/7/29 0:00:00
近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…
📅 2026/7/29 0:01:00
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/29 1:14:44
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/29 1:14:44
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/29 1:14:46
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/28 7:13:45
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/28 17:14:18
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/28 5:13:40