本文介绍从零实现GeekAgent第14天,构建轻量RAG知识库。通过`rag_add`采集网页或文件,按800字切块存入JSON;`rag_search`用BM25检索相关段落,最多返回四块。复用Day13的切块与搜索函数,实现“先查资料再回答”,支持`/rag`命令管理,适合少量文档场景。
本文介绍GeekAgent第13天实现“主动记忆”功能:在每轮对话前自动检索长期记忆,无需模型主动调用搜索工具。实现方法包括将长记忆按320字窗口、80字重叠切块,用BM25算法排序,并将命中结果拼入系统提示。相比手动搜索,自动唤起更早介入,提升记忆利用率。
本文介绍LLM Wiki在企业合规知识问答中的实践,面临三道坎:并发编译导致38%页面重复,通过串行规划解决;目录摘要有损压缩导致查询遗漏,用BM25全文检索补充,命中率从70%提升至92.7%;人工修正被重编译覆盖,用语义pin保存修正意图。最终强调LLM Wiki适合少而精的知识,非RAG替代品。
该论文评估了不同检索增强生成范式在企业级语料规模扩展下的性能。实验发现,当语料超过约1000万token时,BM25检索器优于密集向量检索和文件系统代理。文件代理在小规模下表现略好,但随着规模增大,因候选发现能力不足而失效。结合BM25候选发现的Agent方法效果最佳。图RAG方法因建库成本过高或准确率低而失败。结论是BM25负责全局候选排序,Agent负责在缩小后的范围内推理。
pgEdge ColdFront新增混合搜索功能,在PostgreSQL内结合密集向量与BM25稀疏向量,通过RRF融合结果。支持精确术语匹配和概念查询,可调p_alpha平衡权重。在pgEdge集群中,嵌入自动复制,实现高可用搜索,降低存储成本。
本文讨论了BM25算法在全文检索中的应用,分析了其公式、参数及与TF-IDF的区别。BM25通过饱和TF和长度归一解决了传统TF在长文档中的失效问题,并提及了Lucene和Elasticsearch的实现细节,强调了BM25在召回和可解释性方面的重要性。此外,文章探讨了BM25与学习排序的关系及其在实际应用中的工程边界。
本文讨论了在Elasticsearch和Lucene中结合稀疏BM25与稠密kNN进行混合检索的策略,重点分析了两种索引的共存、查询策略及其对性能的影响。混合检索需同时利用BM25和kNN信号,以确保候选文档的一致性和可比性。文章还探讨了写入路径、代价模型及与专用向量引擎的边界问题,强调了统一Segment生命周期的重要性。
本文探讨了全文检索引擎的架构,重点分析了Lucene和Elasticsearch的设计与实现,包括倒排索引、文档模型、分析链、BM25打分机制和近实时刷新等关键概念,适合搜索引擎工程师和研究生深入理解搜索系统的内部运作。
本文介绍了在RAG系统中实现混合语义-词汇搜索的方法,结合BM25词汇搜索与语义搜索,通过互惠排名融合(RRF)进行整合。混合搜索策略有效提升了检索效果,提供了Python实现的详细步骤,包括库的安装、数据集加载、BM25和语义搜索的独立执行及结果融合。通过示例查询,展示了混合搜索的优势。
这篇文章探讨了向量检索的理论极限,指出在高维嵌入中,单向量模型无法有效表示所有检索结果。研究表明,查询复杂度增加时,单向量模型表现显著下降,无法满足高风险领域需求。文章建议结合BM25和密集检索,以弥补不足,并强调多向量模型和交叉编码器的重要性。
向量检索在RAG系统中应用广泛,但存在理论限制。研究显示,单向量模型在复杂查询时维度不足,表现不佳。BM25在词汇匹配中表现优异,但在语义匹配上不如向量模型。为提高检索效果,结合BM25与向量检索或采用Cross-encoder等多向量模型是必要的。
混合搜索结合了BM25和向量检索,克服了纯向量和关键词搜索的不足,提升了检索准确性,适用于技术文档及法律医疗领域。通过双路径处理,优化查询结果,降低LLM成本,提高上下文质量。Redis支持混合搜索,简化操作,适合构建RAG系统和智能代理。
pg_textsearch是基于Postgres的BM25索引扩展,提供高效的全文搜索。它通过内存中的反向索引和块最大WAND算法优化查询速度,支持快速排名和并行构建索引。与ParadeDB相比,pg_textsearch在短查询上表现更佳,索引大小更小,但不支持短语查询和模糊匹配。
本文讨论了稀疏嵌入在电子商务搜索中的优势,特别是相较于BM25的29%提升。稀疏嵌入通过保留单个词汇的信号,解决了密集嵌入模糊匹配的问题,确保了精确匹配。SPLADE模型通过学习相关词汇扩展查询,提升了搜索结果的准确性。后续文章将详细介绍训练和评估过程。
向量搜索在人工智能中受到关注,但在检索增强生成(RAG)应用中,全文搜索提供更高精度。BM25算法通过词频、文档长度归一化和逆文档频率优化搜索结果。混合检索系统结合全文搜索与向量搜索,实现关键词精确匹配和语义回忆,提升检索质量。
Elasticsearch结合BM25和向量搜索实现混合搜索,而Postgres也支持这些功能,简化了数据管理,消除了同步问题,提高了搜索效率。
Postgres在搜索方面存在局限性,常需借助Elasticsearch等工具。BM25算法通过优化关键词频率、文档长度和相关性评分,提高搜索结果的准确性。结合BM25和向量搜索的混合方法,可以更好地满足AI代理和RAG管道的需求。pg_textsearch是一个开源解决方案,旨在提升Postgres的搜索能力。
Tiger Data(前称Timescale)开源了pg_textsearch,这是一个基于BM25算法的PostgreSQL文本搜索扩展,旨在提升搜索相关性和性能,特别适用于AI应用。创始人Mike Freedman指出,开发者需要更好的搜索工具以满足AI搜索需求。pg_textsearch结合了关键词搜索和向量搜索,提升了搜索效率。
Tiger Data推出的Agentic Postgres是一款专为AI代理和开发者设计的Postgres数据库,支持快速分叉、MCP服务器和BM25向量搜索,提供CLI终端访问,旨在满足现代开发需求,实现快速实验和高效数据库操作。
pg_textsearch是一个Postgres扩展,旨在满足现代AI应用的需求,结合BM25排名和简单事务处理,提升检索质量,适用于RAG系统和混合搜索,支持向量搜索与关键词匹配的结合。
完成下面两步后,将自动完成登录并继续当前操作。