RAG 的准确率是否可以满足我这种场景?

192 天前
 dongcxcx

各位巨佬, 有一个场景. 我需要实现一个比价的功能,但是供应商的接口不太好适配.我想是否可以借助 RAG 来实现.

我可以把 sku 的信息及其价格作为文本的行存储在文件中.利用 rag 去查.(整体的数据量并不多, 应该在 10w 以内)

比如:

商品 A 属性 1 属性 2 属性 3 属性 4 属性 5 数量 100 价格 100 元

商品 A 属性 1 属性 2 属性 3 属性 4 属性 5 数量 200 价格 200 元

商品 A 属性 1 属性 2 属性 3 属性 4 属性 51 数量 100 价格 105 元

我参照 langchain4j 官方的例子, 用的自带的 BgeSmallEnV15QuantizedEmbeddingModel.测试准确率还挺高的. 用 openai 的 text-embedding-3-small 反而准确率非常低,基本是乱匹配. 同时,我发现写在文本里准确率高,写在 excel 里再加载出来又识别不了(是我的代码实现问题?).

我想知道 rag 能否实现我的这种场景,我怕走到最后发现行不通.或者有其他什么更好的思路. 谢谢!

1457 次点击
所在节点    问与答
10 条回复
yangyaofei
192 天前
不如用大模型把上面的属性都抽取出来, 然后存下来, 用的时候直接检索(可以匹配所有语义相似的属性字段).

直接用 embedding 效果不会太好, embedding 也是做属性字段的 embedding(上面说的语义相似的属性字段一起匹配的逻辑)
itskingname
192 天前
你这种需求,直接 chat2db 就好了。有现成的开源库,你也可以用 tool calling 自己写,MCP 官方案例里面也有读取数据库的案例。方法太多了,但就是不推荐 RAG 。
sunshower
192 天前
尽量用模型容易识别的格式存数据,office 现在似乎挺差的。另外有些向量模型对中文支持差,要看模型说明和网上评测
dongcxcx
192 天前
@itskingname 我简单看了下.是不是可以理解为, ai 根据用户的自然语言,生成 sql 语句去查询.
我需要的改动就是:
1. 把文本里的数据转成结构化的数据,存在数据库里
此时,ai 根据用户的自然语言提问,生成查询 sql.
那问题是, ai 生成的 sql 的准确性如何呢, ai 怎么知道哪个属性值对哪个字段的查询? 这么做是不是比直接向量匹配更好?
以及.如果我都能把用户的需求结构化出来, 数据也结构化出来, 那是否这个 chat2db 完全没有必要. 直接 Function call 也能做了?
cheng6563
192 天前
@dongcxcx 搞个 Agent ,弄个工具直接把表信息丢给他。
itskingname
192 天前
@dongcxcx 你需要把数据库的 schema 发送给大模型。你在生成 schema 的时候,可以加上一些注释,这样大模型就知道这个字段是干什么的了。现在大模型生成 SQL 的效果已经很不错了。我使用 claude 3.5 sonnect 。三张表 Join+with 语句+rank + offset 都没有任何问题,生成出来直接就是我想要的。
wq2016
192 天前
我们可以,Excel 的导入,多列数据。
itskingname
192 天前
@dongcxcx 用户提问是自然语言。你把用户的问题、数据库的 schema 、数据库类型都发给大模型,然后加上一个 tool 叫做 query_db ,参数就是 sql 。这样大模型第一轮就会自动生成工具调用的 query ,参数 sql 就是他生成的 sql 语句。你直接用这个语句查询数据库就有结果了。接下来。你既可以让大模型拿到结果进一步总结,也可以直接把结果返回给用户。
111111111111
192 天前
精确的结构化数据,让 agent 生成 sql 查库就好了,不需要 rag 的
dongcxcx
192 天前
@itskingname 明白了. 你这个就是 Function call+结合 prompt 吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1119803

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX