
TencentDB Agent Memory内存检索算法BM25与向量搜索的融合应用【免费下载链接】TencentDB-Agent-MemoryTencentDB Agent Memory is a team-level memory hub for AI Agents — turning conversations, docs, and code into four reusable memory assets (Chat Memory, Skill, LLM-Wiki, Code-Graph) that are governed, shared, and equipped across agents and frameworks.项目地址: https://gitcode.com/GitHub_Trending/te/TencentDB-Agent-MemoryTencentDB Agent Memory作为团队级AI Agent内存中心其核心功能在于将对话、文档和代码转化为可复用的记忆资产。而实现这一功能的关键技术之一就是高效的内存检索算法。本文将深入探讨TencentDB Agent Memory如何融合BM25与向量搜索技术打造强大的混合检索能力为AI Agent提供精准、高效的记忆召回支持。内存金字塔检索算法的应用场景TencentDB Agent Memory采用了层次化的内存管理架构即内存金字塔模型。该模型将内存分为L0原始日志、L1原子记忆、L2场景块和L3用户画像四个层级从下到上实现了从原始数据到结构化知识的逐步转化。图TencentDB Agent Memory内存金字塔模型展示了从原始对话到服务画像的转化过程。在这个内存金字塔中BM25与向量搜索算法分别在不同层级发挥着重要作用L0原始日志主要采用BM25算法进行关键词检索快速定位相关对话记录。L1原子记忆结合BM25和向量搜索实现关键词和语义的双重检索。L2场景块以向量搜索为主实现场景级别的语义匹配。L3用户画像基于向量搜索实现用户偏好和服务风格的精准匹配。这种分层应用的策略使得TencentDB Agent Memory能够在不同的应用场景下灵活选择最适合的检索算法从而达到最佳的检索效果。BM25传统关键词检索的优化者BM25Best Matching 25是一种基于词频的检索算法它通过计算查询词与文档之间的相关性来排序检索结果。在TencentDB Agent Memory中BM25主要用于处理关键词检索任务其核心优势在于高效性BM25算法计算简单检索速度快适合处理大规模文本数据。可解释性基于词频的计算方式使得检索结果的相关性分数易于理解和解释。多语言支持TencentDB Agent Memory中的BM25实现支持中文和英文两种语言可通过配置文件src/config.ts进行切换。TencentDB Agent Memory对传统BM25算法进行了优化主要体现在以下几个方面本地实现采用纯TypeScript实现的BM25编码器src/core/store/bm25-local.ts替代了原来的Python sidecar服务消除了外部依赖提高了系统的稳定性和响应速度。语言适应性针对中文和英文分别采用不同的分词策略优化了不同语言下的检索效果。参数调优通过调整BM25算法中的参数如文档长度归一化因子进一步提升检索精度。向量搜索语义理解的突破者向量搜索是一种基于深度学习的检索技术它通过将文本转化为高维向量利用向量之间的相似度来衡量文本之间的语义相关性。在TencentDB Agent Memory中向量搜索主要用于处理语义检索任务其核心优势在于语义理解能够捕捉文本的深层语义信息实现跨词汇的语义匹配。泛化能力对于未见过的词汇或表达方式具有较强的泛化能力。上下文感知能够理解上下文信息提高检索的准确性。TencentDB Agent Memory中的向量搜索实现主要包括以下几个方面嵌入模型支持多种嵌入模型如OpenAI、DeepSeek等可通过配置文件src/config.ts进行选择和配置。向量存储提供了多种向量存储后端包括SQLite和腾讯云向量数据库TCVDB可根据应用场景选择合适的存储方案。性能优化通过批量处理、索引优化等技术提高向量搜索的性能和效率。RRF融合两种算法的完美结合虽然BM25和向量搜索各有优势但单一算法往往难以满足复杂场景下的检索需求。为此TencentDB Agent Memory采用了RRFReciprocal Rank Fusion算法将BM25和向量搜索的结果进行融合实现了优势互补。RRF算法的核心思想是将不同检索系统返回的排序结果进行融合通过计算每个文档在不同排序结果中的排名倒数之和来确定最终的排序。在TencentDB Agent Memory中RRF融合的实现主要包括以下几个方面并行检索同时执行BM25关键词检索和向量语义检索获取两个独立的排序结果。分数计算对于每个文档分别计算其在BM25结果和向量搜索结果中的RRF分数计算公式为score 1 / (k rank 1)其中k为常数默认值为60。结果融合将同一文档的BM25 RRF分数和向量搜索RRF分数相加得到最终的融合分数并按照融合分数对文档进行排序。TencentDB Agent Memory中的RRF融合实现可以在src/core/tools/conversation-search.ts和src/core/tools/memory-search.ts中找到。通过这种融合策略系统能够同时利用BM25的关键词匹配能力和向量搜索的语义理解能力从而获得更全面、更准确的检索结果。融合应用实战场景中的最佳实践TencentDB Agent Memory的BM25与向量搜索融合应用在实际场景中展现出了强大的检索能力。以下是一些典型的应用场景1. 混合检索策略TencentDB Agent Memory提供了三种检索策略关键词检索keyword、嵌入检索embedding和混合检索hybrid。其中混合检索策略就是BM25与向量搜索的融合应用通过RRF算法将两种检索结果进行融合。在配置文件中可以通过设置recall.strategy参数来选择检索策略默认值为hybrid即混合检索策略。| recall.strategy | hybrid | 召回策略keyword / embedding / hybridRRF 融合推荐 |2. 腾讯云向量数据库TCVDB集成TencentDB Agent Memory与腾讯云向量数据库TCVDB深度集成支持在TCVDB中进行本地BM25稀疏向量与稠密向量的混合检索。通过TCVDB的nativeHybridSearch接口可以在单次调用中完成dense sparse RRF的融合检索大大提高了检索效率。3. 迁移工具中的检索配置在数据迁移工具scripts/migrate-sqlite-to-tcvdb/sqlite-to-tcvdb.ts中提供了丰富的检索配置选项包括是否启用BM25稀疏向量、BM25语言选择等。这些选项可以帮助用户根据实际需求灵活配置BM25与向量搜索的融合策略。523: --bm25-language zh|en BM25 分词语言默认: zh 535: --no-bm25-enabled 禁用 BM25 稀疏向量总结检索技术的协同进化TencentDB Agent Memory通过融合BM25与向量搜索技术打造了强大的混合检索能力为AI Agent提供了高效、精准的内存检索支持。这种融合不仅体现了传统信息检索技术与现代深度学习技术的协同进化也为构建智能、高效的AI Agent内存系统提供了新的思路和方法。随着AI技术的不断发展TencentDB Agent Memory的检索算法也将持续优化和进化。未来我们可以期待看到更多创新的检索技术和融合策略进一步提升AI Agent的记忆能力和服务质量。【免费下载链接】TencentDB-Agent-MemoryTencentDB Agent Memory is a team-level memory hub for AI Agents — turning conversations, docs, and code into four reusable memory assets (Chat Memory, Skill, LLM-Wiki, Code-Graph) that are governed, shared, and equipped across agents and frameworks.项目地址: https://gitcode.com/GitHub_Trending/te/TencentDB-Agent-Memory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考