当前位置: 首页 > article >正文

RAG检索瓶颈突破实战指南(非常详细),Multi-HyDE与Adaptive HyDE从入门到精通,收藏这一篇就够了!

在检索增强生成RAG系统中检索准确性是决定最终生成效果的关键瓶颈。传统的稠密检索往往受限于查询与文档之间的语义鸿沟Semantic Gap。为了解决这一问题Hypothetical Document EmbeddingsHyDE假设文档嵌入应运而生。本文将深入解析 HyDE 及其两大重要变体——Multi-HyDE和Adaptive HyDE探讨它们如何利用大语言模型LLM生成的“假设答案”来显著提升检索性能。1. HyDE零样本检索的基石HyDE 最初由 2022 年发表的论文《Precise Zero-Shot Dense Retrieval without Relevance Labels》提出arXiv:2212.10496。它不仅是该领域的开山之作更为后续的多种改进方案奠定了理论基础。核心摘要虽然稠密检索在各种任务和语言中已被证明有效且高效但当没有相关性标签可用时创建有效的完全零样本稠密检索系统仍然困难。在本文中我们认识到零样本学习和编码相关性的困难。我们提出通过假设文档嵌入HyDE来解决这个问题。给定一个查询HyDE 先零样本地指示一个指令跟随语言模型例如 InstructGPT生成一个假设文档。该文档捕捉相关性模式但不一定是真实的可能包含虚假细节。然后一个无监督对比学习编码器例如 Contriever将这个假设文档编码成嵌入向量。这个向量在语料库嵌入空间中识别一个邻域其中基于向量相似性检索出相似的真实文档。这个第二步将生成的文档“grounding”到实际语料库中编码器的稠密瓶颈过滤掉不正确的细节。实验表明HyDE 在各种任务例如网络搜索、问答、事实验证和语言例如斯瓦希里语、韩语、日语中显著优于最先进的无监督稠密检索器 Contriever并表现出与微调检索器相当的强劲性能。HyDE 核心思想传统零样本稠密检索难在直接建模“查询-文档”相似性查询短、风格与文档差异大。HyDE 绕过这个问题转而用 LLM 生成“假设文档”风格更接近真实文档再用无监督编码器在文档-文档相似性空间中检索。HyDE 详细步骤生成假设文档给定查询 qq使用指令跟随 LLM如 InstructGPT根据提示例如“请写一段关于这个问题的详细回答”生成假设文档 d*d*。嵌入编码使用无监督对比编码器如 Contriever 或 mContriever对假设文档进行编码将其映射到稠密向量空间。向量检索计算假设文档向量 vq*v*q与语料库中真实文档向量的相似度如内积或余弦相似度检索最相似的 Top-K 文档。在这个过程中编码器的“瓶颈”作用至关重要——它会自动过滤掉假设文档中可能存在的幻觉细节只保留核心的语义模式从而实现从“查询空间”到“文档空间”的有效映射。优缺分析优势巧妙利用了 LLM 强大的语义生成能力将难以处理的“查询-文档”匹配问题转化为更容易的“文档-文档”相似度计算特别适合零样本场景。不足标准 HyDE 通常只生成一个假设文档其质量直接决定了检索结果。如果生成的假设方向单一或存在偏差可能导致检索失败。针对 HyDE 存在的“单一视角”局限性研究者们提出了进一步的改进方案。2. Multi-HyDE多视角融合检索Multi-HyDE 的概念主要见于论文《Enhancing Financial RAG with Agentic AI and Multi-HyDE》arXiv:2509.163692025年。该研究聚焦于金融领域旨在解决高风险、高精度要求的检索难题。核心痛点金融问答系统往往面临语义歧义、数值精度要求高以及多步推理等挑战。传统的单一检索器在处理长文档如 SEC 监管文件、年度报告时容易因视角单一而遗漏关键信息导致检索不准甚至产生幻觉。Multi-HyDE 原理与机制为了解决上述问题Multi-HyDE 将标准 HyDE 的“单点突破”扩展为“多点覆盖”多样化查询生成利用 LLM 从原始查询生成 NN个多样化、非等价的衍生查询。例如针对同一实体的查询可以分别生成聚焦于“欺诈风险”、“财务状况”和“法律诉讼”的不同视角。多路假设生成与检索对每个衍生查询分别生成假设文档并进行向量检索获取 Top-k1k1 的候选文档。结果融合与重排序将所有候选文档合并利用重排序模型如 BGE-Reranker进行精选最终输出 Top-k2k2 的结果。img这种多视角Multi-Perspective策略显著提升了检索的覆盖率Recall和鲁棒性特别适合处理复杂且结构化的金融语料。然而Multi-HyDE 的代价是显而易见的生成 NN个文档会显著增加延迟和 Token 消耗。对于实时性要求较高的场景这并不是最优解。这就引出了我们的下一个主角——Adaptive HyDE。3. Adaptive HyDE效率与效果的平衡Adaptive HyDE 提出于论文《Never Come Up Empty: Adaptive HyDE Retrieval for Improving LLM Developer Support》arXiv:2507.16754v1。正如其标题所言该方法的核心目标是确保检索系统“永不空手而归”。核心痛点在处理新型Unseen查询或高度专业化的问题如复杂的代码调试时标准 HyDE 的固定阈值策略往往显得过于僵化。如果设定的相似度阈值过高可能导致没有任何文档被召回如果过低又会引入大量噪音。动态阈值机制Adaptive HyDE 在标准 HyDE 的基础上引入了**动态阈值调整Dynamic Thresholding**机制假设生成与编码与标准 HyDE 一样首先生成假设答案并计算其嵌入向量。高阈值初探从一个较高的相似度阈值如 0.9开始尝试检索。如果找到了匹配文档直接返回确保高精度。自适应降级如果当前阈值下未找到结果系统会自动降低阈值例如步长为 0.1逐步放宽条件0.9 - 0.8 - … - 0.5直到检索到相关上下文或达到最低下限。优势分析这种机制充当了一个智能的“守门员”对于常见查询高阈值保证了检索的精准度避免无关信息的干扰。对于罕见/新型查询通过逐步降低门槛确保系统能捕捉到“部分相关”的上下文而不是直接返回空结果。4. 三大变体全景对比为了更直观地展示这三种 HyDE 变体的差异我们从核心机制、适用场景和性能特点三个维度进行了详细对比维度HyDE基础版Multi-HyDE多假设版Adaptive HyDE自适应版来源论文Precise Zero-Shot Dense Retrieval without Relevance Labels (arXiv 2212.10496, 2022)Enhancing Financial RAG with Agentic AI and Multi-HyDE (arXiv 2509.16369, 2025)Never Come Up Empty: Adaptive HyDE Retrieval (arXiv 2507.16754, 2025)核心创新生成单个假设文档hypothetical document作为桥梁提升查询-文档语义匹配生成多个非等价、多样化假设查询/文档合并检索结果在标准 HyDE 基础上动态降低相似度阈值确保检索不为空检索机制单假设文档 → 嵌入 → 固定阈值检索多假设N 个 → 分别嵌入检索 → 合并 重排序rerank单/标准假设文档 → 嵌入 → 从高阈值起步若为空则逐步降低e.g., 0.9 → 0.5针对主要问题查询短、风格与文档差异大导致直接嵌入检索精度低单假设覆盖率不足易遗漏复杂文档的关键部分尤其结构化/多年度报告新型/unseen 查询下固定阈值易导致“空检索”覆盖率低适用场景通用零样本检索、网络搜索、问答、多语言任务复杂领域如金融、法律需高覆盖率的大规模结构化知识库查询高度多样/新颖场景如开发者支持、代码问答、实时新兴问题5. 代码实战构建对比评测系统为了深入理解这三种策略的实际表现我们构建了一个基于 Python 的对比测试环境。该系统将模拟四种检索模式Direct Retrieval基准对照、Standard HyDE、Multi-HyDE以及Adaptive HyDE。以下是核心代码实现。环境配置与依赖# 基础模型配置BASIC_MODEL_BASE_URL...BASIC_MODEL_MODEL...BASIC_MODEL_API_KEY...EMBEDDING_MODEL_BASE_URL...EMBEDDING_MODEL_MODEL...EMBEDDING_MODEL_API_KEY...pyproject.toml[project]name hyde-samplesversion 0.1.0requires-python 3.11dependencies [ chromadb1.4.0, dashscope1.25.7, fastembed0.4.2, langchain1.2.3, langchain-community0.4.1, langchain-openai1.1.7, onnxruntime1.20, python-dotenv1.2.1]核心类实现AsyncHyDE首先我们定义AsyncHyDE类。该类封装了 LLM 的调用逻辑并实现了 Multi-HyDE 的核心——异步并行生成假设文档。通过预定义的多种 Prompt 风格我们能够从不同角度详细回答、专家解析、操作指南、通俗解释生成假设文档从而最大化语义覆盖率。import osimport timeimport asynciofrom typing import Listfrom dotenv import load_dotenvfrom langchain_openai import ChatOpenAI, OpenAIEmbeddingsfrom langchain_community.vectorstores import Chromafrom langchain_core.documents import Documentfrom langchain_core.prompts import ChatPromptTemplatefrom langchain_core.output_parsers import StrOutputParser# 加载环境变量load_dotenv()# 获取配置base_url os.getenv(BASIC_MODEL_BASE_URL)api_key os.getenv(BASIC_MODEL_API_KEY)model_name os.getenv(BASIC_MODEL_MODEL)class AsyncHyDE: def __init__(self, llm, base_embeddings, vectorstore): self.llm llm self.base_embeddings base_embeddings self.vectorstore vectorstore # 预定义提示模板 (Multi-Perspective Prompts) # 通过不同角色的设定引导模型生成多样化的假设文档 self.hyde_prompt_styles [ 请为以下查询生成一段详细的假设性回答。这段回答应该包含可能出现在相关文档中的关键词和语义信息。\n查询: {query}\n回答:, 请以技术专家的身份深入解析以下查询涉及的技术原理、底层机制或核心架构。\n查询: {query}\n回答:, 请简明扼要地列出解决以下查询所需的关键步骤、命令或核心事实侧重于实际操作。\n查询: {query}\n回答:, 请用通俗易懂的语言解释以下查询的核心概念适合初学者理解多用类比。\n查询: {query}\n回答: ] asyncdef _generate_single_doc(self, query: str, style_idx: int) - str: 异步生成单个文档 prompt_content self.hyde_prompt_styles[style_idx % len(self.hyde_prompt_styles)] prompt ChatPromptTemplate.from_template(prompt_content) chain prompt | self.llm | StrOutputParser() try: returnawait chain.ainvoke({query: query}) except Exception as e: print(f ! 生成文档 (style{style_idx}) 时出错: {e}) return asyncdef _generate_hypothetical_docs_async(self, query: str, n: int 1) - List[str]: 并行生成 N 个假设性文档 print(f [Async] 正在并行生成 {n} 个假设文档...) tasks [] for i in range(n): tasks.append(self._generate_single_doc(query, i)) # 并发执行所有生成任务显著降低总延迟 docs await asyncio.gather(*tasks) # 过滤掉生成失败的空文档 return [d for d in docs if d] def _get_combined_embedding(self, texts: List[str]) - List[float]: 计算多个文本嵌入的平均向量 # 注意LangChain 的 OpenAIEmbeddings 目前主要提供同步 embed_documents # 如果需要异步可使用 aembed_documents (如果有实现) embeddings self.base_embeddings.embed_documents(texts) ifnot embeddings: return [] dim len(embeddings[0]) n len(embeddings) # 计算平均向量融合多视角的语义信息 avg_embedding [sum(e[i] for e in embeddings) / n for i in range(dim)] return avg_embedding asyncdef multi_hyde_retrieve_async(self, query: str, k: int 4, n: int 3): 策略: Multi-HyDE (并行生成 平均嵌入) print(f [Multi-HyDE Async] 执行并行 Multi-HyDE (n{n}): {query}) # 1. 并行生成假设文档 start_gen time.time() hypo_docs await self._generate_hypothetical_docs_async(query, nn) print(f 生成耗时: {time.time()-start_gen:.2f}s) for i, doc in enumerate(hypo_docs): print(f - 假设文档 {i1}: {doc[:50]}...) ifnot hypo_docs: return [] # 2. 计算平均嵌入 (同步) avg_embedding self._get_combined_embedding(hypo_docs) # 3. 向量检索 (同步) returnawait asyncio.to_thread( self.vectorstore.similarity_search_by_vector, avg_embedding, kk )主流程数据准备与检索实测接下来的main函数展示了完整的端到端流程初始化配置 LangChain 的 LLM 和 Embeddings 客户端。构建知识库创建一个包含 LangChain 和 RAG 相关知识的临时 Chroma 向量数据库。执行检索针对查询“如何安装 langchain 库”调用AsyncHyDE进行 Multi-HyDE 检索并打印耗时和结果。# --- 主程序 ---asyncdef main(): ifnot api_key: print(Error: 请先配置 .env 文件中的 BASIC_MODEL_API_KEY) return # 1. 初始化组件 print(正在初始化组件...) llm ChatOpenAI( modelmodel_name, temperature0.7, openai_api_basebase_url, openai_api_keyapi_key ) print(初始化 Embeddings (API Mode)...) base_embeddings OpenAIEmbeddings( openai_api_baseos.getenv(EMBEDDING_MODEL_BASE_URL), openai_api_keyos.getenv(EMBEDDING_MODEL_API_KEY), modelos.getenv(EMBEDDING_MODEL_MODEL), check_embedding_ctx_lengthFalse ) # 2. 准备数据 (复用之前的逻辑) texts [ LangChain 是一个用于构建 LLM 应用的框架支持 Python 和 JavaScript。, HyDE (Hypothetical Document Embeddings) 利用 LLM 生成假设性文档来强化检索。, RAG (Retrieval-Augmented Generation) 通过检索外部数据来增强生成模型的准确性。, 使用 pip install langchain 命令安装 LangChain。, Python 中的 list.append(x) 方法用于在列表末尾添加元素。, ChromaDB 的默认持久化目录可以通过 persist_directory 参数设置。, 大模型在处理特定领域知识时经常产生幻觉检索增强是解决此问题的关键手段。, 相比于微调RAG 具有成本更低、数据更新更及时的优势。, 向量数据库通过计算余弦相似度来衡量文本之间的语义距离。, ] docs [Document(page_contentt) for t in texts] # 重建向量库 persist_dir ./chroma_async_db if os.path.exists(persist_dir): import shutil shutil.rmtree(persist_dir) vectorstore Chroma.from_documents( documentsdocs, embeddingbase_embeddings, persist_directorypersist_dir ) print(f向量库构建完成共 {len(texts)} 条文档。) # 3. 初始化 AsyncHyDE hyde_system AsyncHyDE(llm, base_embeddings, vectorstore) # 4. 测试查询 query 如何安装 langchain 库 print(\n *50) print(f测试查询 (Async): {query}) print(*50) print(\n 方法: Multi-HyDE (Async, n3) ) start time.time() # 调用异步方法 res_multi await hyde_system.multi_hyde_retrieve_async(query, k2, n3) print(f 总耗时: {time.time()-start:.2f}s) print( 结果:) for doc in res_multi: print(f * {doc.page_content}) print(- * 30)if __name__ __main__: asyncio.run(main())执行结果正在初始化组件...初始化 Embeddings (API Mode)...向量库构建完成共 9 条文档。测试查询: 如何安装 langchain 库 方法 A: Direct Retrieval [Direct] 执行直接检索: 如何安装 langchain 库 耗时: 0.32s 结果: * 使用 pip install langchain 命令安装 LangChain。 * LangChain 是一个用于构建 LLM 应用的框架支持 Python 和 JavaScript。------------------------------ 方法 B: Standard HyDE (n1) [Standard HyDE] 执行 Standard HyDE (n1): 如何安装 langchain 库 正在生成 1 个假设文档 (使用多样化视角)... - 假设文档: 要安装 LangChain 库您可以使用 Python 的包管理工具 pip。LangChain ... 耗时: 18.07s 结果: * 使用 pip install langchain 命令安装 LangChain。 * LangChain 是一个用于构建 LLM 应用的框架支持 Python 和 JavaScript。------------------------------ 方法 C: Multi-HyDE (n3) [Multi-HyDE] 执行 Multi-HyDE (n3): 如何安装 langchain 库 正在生成 3 个假设文档 (使用多样化视角)... - 假设文档 1: 要安装 LangChain 库您可以使用 Python 的包管理工具 pip。LangChain ... - 假设文档 2: 以技术专家的身份对“如何安装 langchain 库”这一看似简单的查询进行深入解析需从多个维度... - 假设文档 3: 1. **确保已安装 Python建议 3.8和 pip** - 检查版本pyt... 耗时: 81.27s 结果: * 使用 pip install langchain 命令安装 LangChain。 * LangChain 是一个用于构建 LLM 应用的框架支持 Python 和 JavaScript。------------------------------ 方法 D: Adaptive HyDE [Adaptive] 分析查询意图: 如何安装 langchain 库 - 判定策略: DIRECT [Direct] 执行直接检索: 如何安装 langchain 库 耗时: 1.82s 结果: * 使用 pip install langchain 命令安装 LangChain。 * LangChain 是一个用于构建 LLM 应用的框架支持 Python 和 JavaScript。测试查询: 为什么我们需要检索增强生成(RAG)技术 方法 A: Direct Retrieval [Direct] 执行直接检索: 为什么我们需要检索增强生成(RAG)技术 耗时: 0.12s 结果: * RAG (Retrieval-Augmented Generation) 通过检索外部数据来增强生成模型的准确性。 * 大模型在处理特定领域知识时经常产生幻觉检索增强是解决此问题的关键手段。------------------------------ 方法 B: Standard HyDE (n1) [Standard HyDE] 执行 Standard HyDE (n1): 为什么我们需要检索增强生成(RAG)技术 正在生成 1 个假设文档 (使用多样化视角)... - 假设文档: 我们需要检索增强生成Retrieval-Augmented Generation简称 RAG技... 耗时: 13.34s 结果: * RAG (Retrieval-Augmented Generation) 通过检索外部数据来增强生成模型的准确性。 * 大模型在处理特定领域知识时经常产生幻觉检索增强是解决此问题的关键手段。------------------------------ 方法 C: Multi-HyDE (n3) [Multi-HyDE] 执行 Multi-HyDE (n3): 为什么我们需要检索增强生成(RAG)技术 正在生成 3 个假设文档 (使用多样化视角)... - 假设文档 1: 检索增强生成Retrieval-Augmented Generation, RAG技术之所以被广... - 假设文档 2: 检索增强生成Retrieval-Augmented Generation, RAG技术的出现源... - 假设文档 3: 1. **理解大语言模型LLM的局限性**LLMs 依赖训练数据无法访问最新或私有信息且可... 耗时: 62.80s 结果: * RAG (Retrieval-Augmented Generation) 通过检索外部数据来增强生成模型的准确性。 * 大模型在处理特定领域知识时经常产生幻觉检索增强是解决此问题的关键手段。------------------------------ 方法 D: Adaptive HyDE [Adaptive] 分析查询意图: 为什么我们需要检索增强生成(RAG)技术 - 判定策略: HYDE [Multi-HyDE] 执行 Multi-HyDE (n3): 为什么我们需要检索增强生成(RAG)技术 正在生成 3 个假设文档 (使用多样化视角)... - 假设文档 1: 我们需要检索增强生成Retrieval-Augmented Generation简称 RAG技... - 假设文档 2: 检索增强生成Retrieval-Augmented Generation, RAG技术的出现源... - 假设文档 3: 1. **理解大语言模型LLM的局限性**LLMs 依赖训练数据无法访问最新或私有信息且可... 耗时: 69.15s 结果: * RAG (Retrieval-Augmented Generation) 通过检索外部数据来增强生成模型的准确性。 * 大模型在处理特定领域知识时经常产生幻觉检索增强是解决此问题的关键手段。6. 深度评测四种策略的性能对比基于上述AsyncHyDE代码实现的测试结果我们对 Direct Retrieval、Standard HyDE、Multi-HyDE 和 Adaptive HyDE 进行了多维度的对比分析。以下是详细的评估报告。核心指标摘要我们在受控数据集上对比了四种策略的表现总结如下策略典型耗时准确性适用场景Direct Retrieval极快(~0.1-0.3s)高 (针对关键词匹配)明确的实体查找、命令查询、精准匹配。Standard HyDE (n1)中等(~15-20s)高需要简单语义扩展的查询。Multi-HyDE (n3)较慢(~20-25s*)极高(鲁棒性最强)模糊查询、跨领域术语匹配、需要多视角解读的复杂问题。Adaptive HyDE动态(~2s 或 ~25s)动态生产环境首选平衡成本与效果。注得益于异步并行Async实现Multi-HyDE 的耗时不再是 N 倍叠加而是取决于生成时间最长的那个 Prompt仅比 Standard HyDE 略慢。详细分析A. Direct Retrieval (直接检索)表现在测试查询 “如何安装 langchain 库” 中表现完美耗时仅 0.14s。原因查询中的关键词 “安装”, “langchain” 与文档内容高度重叠。局限如果用户查询是 “LangChain 的部署依赖管理工具是什么”没有直接提到 pipDirect 可能会失败而 HyDE 可能会生成包含 “pip” 的假设文档。B. Standard HyDE表现生成了包含丰富上下文的假设文档但耗时增加了两个数量级。价值对于 “零样本” 检索场景它能填补查询与文档之间的词汇鸿沟Vocabulary Mismatch。C. Multi-HyDE (多视角)表现生成了三个截然不同的文档操作指南、专家解析、通用介绍。优化效果通过AsyncHyDE的并行生成我们将耗时控制在了20秒左右取决于 LLM 响应速度。相比于串行实现的 60秒这是生产环境可接受的延迟。潜力多视角策略极大地提升了召回率Recall。如果一个视角如专家视角偏离了正确答案其他视角如操作视角仍能拉回相关性。D. Adaptive HyDE (自适应)表现对于简单查询安装问题正确路由至 Direct仅耗时 1.8s比纯 Direct 慢但比 HyDE 快得多。对于复杂查询RAG 原理正确路由至 HyDE。结论这是最具生产价值的模式。它充当了守门员防止简单问题消耗昂贵的 LLM 资源。关键优化与未来方向优化回顾并行化生成 (Implemented)正如代码所示并行化是 Multi-HyDE 落地的前提。串行瓶颈Ttotal∑Tgeni≈N×20sTtota**l∑Tgeni≈N×20s并行优化Ttotalmax⁡(Tgeni)Toverhead≈20sTtota**lmax(Tgeni)Toverhea**d≈20s通过asyncio.gather我们成功抹平了多视角带来的大部分时间成本。进阶思路 1使用更快的模型HyDE 的核心在于生成关键词和语义向量而非生成完美的散文。行动可以将生成假设文档的模型替换为更小、更快的模型如gpt-4o-mini,qwen-turbo等将单次生成耗时压缩到 5s 以内从而实现接近实时 5s的 Multi-HyDE 检索。进阶思路 2预计算与缓存行动对于 Adaptive 路由可以引入语义缓存Semantic Cache。如果用户问过类似问题直接复用之前的路由决策甚至检索结果。进阶思路 3调整 Adaptive 阈值行动目前的路由完全依赖 LLM 判断。可以结合查询长度、困惑度 (Perplexity)或初步检索的相关性分数来辅助判断。例如如果 Direct 检索的最高分低于 0.7再触发 HyDE。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关文章:

RAG检索瓶颈突破实战指南(非常详细),Multi-HyDE与Adaptive HyDE从入门到精通,收藏这一篇就够了!

在检索增强生成(RAG)系统中,检索准确性是决定最终生成效果的关键瓶颈。传统的稠密检索往往受限于查询与文档之间的语义鸿沟(Semantic Gap)。为了解决这一问题,Hypothetical Document Embeddings&#xff08…...

大模型百万Token长上下文训练教程(非常详细),上下文并行与Ring Attention从入门到精通,收藏这一篇就够了!

只用了几年时间,上下文窗口就从 4k 膨胀到 1000 万。Meta 发布的 Llama 4 Scout 的时候说这个模型支持 1000 万 Token,是 Llama 3 那 128k 的 78 倍。而Google Gemini 3 Pro 是 100 万,Claude 4 也桐乡市100万。 一次推理跑完整个代码库、几…...

大模型+知识图谱行业落地(非常详细),民航维修检索生成从入门到精通,收藏这一篇就够了!

摘要:本研究创新性地融合大语言模型、知识图谱技术及重排序方法,旨在以低成本、高质量实现民航维修历史方案检索与推荐方案生成,优化维修决策,提升维修效率与质量。研究利用大模型的分析推理能力,借助定制化知识图谱检…...

专用业务信息平台(SBISP)(之三)--SMP(软件制作平台)语言基础知识之八十

专用业务信息平台(SBISP)(之一)--SMP(软件制作平台)语言基础知识之八十 专用业务信息平台(SBISP)(之二)--SMP(软件制作平台)语言基础…...

在AIStudio星河社区配置OpenClaw小龙虾

很多人都在热捧小龙虾OpenClaw 很多人都在使用小龙虾 很多人被小龙虾拔掉了底裤..... 所以小龙虾还是不能在自己的工作机器上安装,最好是用一台云端机器,万一出了安全问题,损失能小一点。 尝试在AIStudio星河社区配置OpenClaw小龙虾 参考…...

C语言之数据结构初见篇(2):顺序表之通讯录的实现

目录 一、基本概念 二、通俗理解 三、这个程序是什么 1. 数据结构 2. 核心功能 四、通讯录代码的实现 1.多个文件的创建 一、基本概念 顺序表实现的通讯录是一种基于数组结构的联系人信息管理系统。它将数据结构的理论知识(顺序表)应用到实际场景…...

2026年软著申请被驳回的五大高频原因深度解析

随着软件开发工具的迭代升级,2026年的软件著作权登记审查工作也进入了精细化阶段。很多开发者与企业往往认为只要提交了材料就能顺利拿证,却忽视了审查中心对“独创性”与“一致性”的严格把控。近期,因代码雷同、文档逻辑断裂等问题导致的驳…...

Winform基于PaddleOCR图片文字提取方法

1.目的掌握Winform下基于Sdcb. PaddleOCR和OpenCvSharp实现图片文字的提取方法。⒉编程软件Visual Studio 2022⒊界面设计如下图设计了UI界面,包括使用Button、PictureBox和RichTextBox控件:本案例以下图特定图片为案例进行文字提取:⒋代码简…...

问题记录,JMeter运行一次有时候显示两次请求?

当使用http协议访问www.itcast.com时,结果树中有两次请求当使用https协议访问www.itcast.com时,结果树中有一次请求核心表现:在JMeter中创建单个HTTP请求(如配置http://xxx.com),点击“运行”按钮后&#x…...

SLAM算法(ROS入门)

SLAM 建图 ​ 机器人研究的问题包含许许多多的领域,我们常见的几个研究的问题包括:建图(Mapping)、定位(Localization)和路径规划(Path Planning),如果机器人带有机械臂,那么运动规划(Motion P…...

[Java EE 进阶] 一文吃透 Spring IoCDI:核心概念 + 实战用法 + 面试考点(上篇)

一.IOC&DI 介绍1. 传统程序开发 的问题 : 高耦合以 “造一辆车” 为例,传统开发中对象的创建和依赖关系由自身控制:汽⻋依赖⻋⾝,⻋⾝依赖底盘,底盘依赖轮 ;所有的对象都通过 new 手动创建 ; 当底层组件(如轮胎尺寸) 发生变化…...

计网相关协议3

DNS查询:查找域名对应IP(先浏览器缓存、本地hosts、路由器缓存,再递归/迭代DNS服务器查询)。...

2026年知网AIGC检测算法又升级了,降AI方法得跟着变

2026年知网AIGC检测算法又升级了,降AI方法得跟着变 知网在2025年底对AIGC检测系统做了一次大升级。如果你还在用去年的降AI方法,大概率过不了了。这篇说说升级了哪些地方,现在该怎么应对。 这次升级改了什么 根据最近的实测数据和公开信息…...

FLV 流解剖学:e-flv 如何用 Go 构建轻量级诊断工具

FLV 流解剖学:e-flv 如何用 Go 构建轻量级诊断工具 项目仓库:https://github.com/veovera/enhanced-rtmp 文档来源:GitHub Discussion #50 版本:早期实验版(WIP) 📌 项目概述 e-flv 是 Enhance…...

第3篇:Spring Boot + WebSocket + 消息队列STOMP协议发布订阅模式 实现多频道实时消息广播

基于发布&#xff0c;订阅&#xff0c;主题 模式&#xff0c;实现原理图前提&#xff1a;环境已经搭建好&#xff0c;具体看第二篇1 maven依赖&#xff0c;springboot 版本 3.3.1<!-- 核心包 --><dependency><groupId>org.springframework.boot</groupId…...

性能监控之 blackbox_exporter+Prometheus+Grafana 实现网络探测

文章目录一、什么是黑盒监控&#xff1f;二、blackbox_exporter 简介三、安装1、二进制包2、docker四、使用原理五、几种应用场景1、ICMP 测试&#xff08;主机探活&#xff09;2、TCP 测试&#xff08;监控主机端口存活状态&#xff09;3、HTTP检测&#xff08;监控网站状态&a…...

好软推荐-自用软件

目录导航PC应用OFFICE办公系列万彩办公大师http://www.wofficebox.com/办公必备的小工具百宝箱。iSlide插件PPT插件 [https://www.islide.cc/](https://www.islide.cc/)官方口号&#xff1a;让PPT设计简单起来&#xff01;方方格子Excel插件 [http://www.ffcell.com/](http://w…...

【2026最新版】PCL点云处理算法汇总(C++长期更新版)

博客长期更新&#xff0c;最近一次更新时间为&#xff1a;2026年3月12日。 copy pcl::copyPointCloud(*cloud, indicesY, *cloud_yboundary);read pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);if (pcl::io::loadPCDFile<…...

JMM——Java内存模型简介

JMM介绍JMM是基于CPU缓存模型实现的一套Java内存管理程序&#xff0c;都在于解决多核情况下的缓存同步问题。它定义了主存和工作内存的抽象概念&#xff0c;底层对应着CPU寄存器、高速缓存、RAM、CPU指令优化等。CPU缓存模型JMM特性可见性&#xff1a;volatile可以保证不同线程…...

多模态跟踪怎么搞?清华西电TPAMI 2025新方法深度解析,从小白到大神,吃透这一篇就够了!

创新点 针对轻量化多模态跟踪器性能骤降的问题&#xff0c;设计了覆盖四大核心阶段的教师 - 学生知识蒸馏框架&#xff0c;首次将跨模态知识蒸馏与 Transformer 基多模态跟踪深度结合。突破传统随机掩码的局限性&#xff0c;基于教师模型的注意力权重划分模态公共、模态特定、…...

C#毕业设计——基于C#+asp.net+SVG的基于SVG的自动站雨量分析系统设计与实现(毕业论文+程序源码)——雨量分析系统

基于C#asp.netSVG的基于SVG的自动站雨量分析系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于C#asp.netSVG的基于SVG的自动站雨量分析系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报…...

C#毕业设计——基于C#+asp.net+SQL server的通用作业批改系统设计与实现(毕业论文+程序源码)——作业批改系统

基于C#asp.netSQL server的通用作业批改系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于C#asp.netSQL server的通用作业批改系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板…...

C#毕业设计——基于C#+asp.net+SQL Server的课程指导平台设计与实现(毕业论文+程序源码)——课程指导平台

基于C#asp.netSQL Server的课程指导平台设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于C#asp.netSQL Server的课程指导平台设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答…...

大模型有了“身体”后,我用1分钟创造了一个AI美食专家

一、引言 &#xff1a;从今晚吃什么开始 在这个互联网几乎能解决一切问题的时代&#xff0c;我们搜菜谱、看教程、点外卖&#xff0c;但厨房里的孤独感和手忙脚乱&#xff0c;似乎从未消失。 晚上7点&#xff0c;下班回家。打开冰箱&#xff1a;有西红柿、鸡蛋、青椒、一块肉…...

asp毕业设计——基于asp+access的网上音乐网站设计与实现(毕业论文+程序源码)——网上音乐网站

基于aspaccess的网上音乐网站设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于aspaccess的网上音乐网站设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴…...

asp毕业设计——基于asp+access的网上选题系统设计与实现(毕业论文+程序源码)——网上选题系统

基于aspaccess的网上选题系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于aspaccess的网上选题系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴…...

asp毕业设计——基于asp+access的网上投票系统设计与实现(毕业论文+程序源码)——网上投票系统

基于aspaccess的网上投票系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于aspaccess的网上投票系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴…...

asp毕业设计——基于asp+access的网上评教系统设计与实现(毕业论文+程序源码)——网上评教系统

基于aspaccess的网上评教系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于aspaccess的网上评教系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴…...

asp毕业设计—— 基于asp+access的网上论坛设计与实现(毕业论文+程序源码)——网上论坛

基于aspaccess的网上论坛设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于aspaccess的网上论坛设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴&#xf…...

004、体系结构之TiKV分布式事务

数据找到并且修改后。此时提交事务(commit)的时候。此时就进入两阶段&#xff1a;&#xff08;prewrite - commit&#xff09; 提交的第一阶段&#xff0c;会用三个CF 来存放这些数据信息。 一类列簇对应一类键值对&#xff0c; 第一个CF(default)存放的是数据 的键值对。 第二…...