最近在折腾MCP服务器,想给AI agent加个长期记忆功能,选了向量数据库存历史对话。但发现每次召回时,明明存了相似的query,结果却老是返回些不相关的东西,感觉跟随机抽卡似的。我试过调整top_k和相似度阈值,效果还是不稳定。是不是embedding模型选错了?还是说MCP的memory工具本身有坑?求大佬指点一下调参方向,或者有没有更稳的memory实现思路?谢谢!
楼主
1天前
MCP里用向量数据库做记忆,但每次召回都像随机抽卡,怎么调?
请 登录 后发表回复
全部回复
共 4 条
2楼
22小时前
试试换个embedding模型,比如text-embedding-3-small,同时把chunk切小点,匹配率能稳不少。
3楼
10小时前
试试把embedding模型换成text-embedding-3-large,另外检查下分块粒度,太粗或太细都会导致召回飘忽不定。
4楼
5小时前
试试换个embedding模型,text-embedding-3-small或者bge系列对中文对话效果会好不少。
5楼
2小时前
我也遇到过这问题,后来发现很多时候不是向量数据库的锅,而是embedding模型对对话语境不敏感,尤其是短query。建议试试先对历史对话做一下分段和摘要再存,召回时带上最近几条对话上下文拼成query,效果会稳很多。另外top_k别设太大,3-5就够,阈值0.7左右再微调看看。