请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

数值检索不准确

老师您好,请教一个问题。我现在在做一个agent智能体主要是对excel文件进行检索。要求使用本地的大模型进行处理。向量库可以选用faiss或qdrant。excel文件大概有100列,40万行。目前选用了开源的nomic-embed-text-v2-moe这个模型做向量化。目前对文本文字检索的话,结果还可以。但是对一些数值类的数据检索时效果非常不理想。如检索此类的数据。“编号为:粤BYD00000000014的站点信息?"。“经纬度为:114.30765,22.63658的站点信息?”。"IP为:168.65.48.185的机房信息?"时,检索结果基本都是错误的。有什么解决方法?是否是向量化的模型问题?如要换模型有什么好的推荐(要求可以本地个人电脑上可以部署,开源)

正在回答 回答被采纳积分+3

1回答

tomiezhang 2025-05-16 16:01:18

你的这个问题不是单纯更换个模型可以解决的,这是一个复杂的策略问题,因为大模型本质上是对自然语言进行概率统计,猜测下一个可能出现的token是什么,所以天然对数值计算就不擅长,向量搜索也只是基于文本的向量坐标进行比对,比如:100和一百在意思上是一样的,但是他们的向量坐标是完全不同的,所以也就不具备相似性。单纯更换模型无法有效解决你的问题,你的问题更应该更换设计,几十万行的数据,应该要导入到类似SQL这样的结构化数据库中,首先使用结构话数据的搜索来查找精确的数据,然后结合多重检索的技术,来进一步加强,可以参考:
https://python.langchain.com/docs/tutorials/sql_qa/

https://python.langchain.com/docs/how_to/hybrid/


0 回复 有任何疑惑可以回复我~
  • 提问者 慕函数7634293 #1
    尝试过使用生成sql的方式,但因为用户在使用语言提问表达时方式千变万化,大模型从语言中提取的信息很难准确,生成的sql查询语句质量比较低下,再加上数值类的查询大概只占到百分之三十左右。所以这种方式就舍弃掉了。另外也试过混合检索的方式,但是准确率还是不高,大约只有百分之三十左右的准确率。像这种情况下,是否可以通过对向量模型进行精调来增加它对数值类的数据的敏感度,从而可以提高它的检索精度。
    回复 有任何疑惑可以回复我~ 2025-05-16 17:59:25
  • tomiezhang 回复 提问者 慕函数7634293 #2
    1. 模型原理是基于概率,所以永远无法保证100%的准确度 2.对模型微调可以一定程度提高准确度,但是一样无法达到100% 3. 你这种业务场景,一般会在查询过程中加入人工介入,对查询结果进行确认,现阶段100%依赖AI不太现实
    回复 有任何疑惑可以回复我~ 2025-05-18 06:48:51
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号