微信扫码
添加专属顾问
我要投稿
开源的LLM+RAG项目,之前看的是Langchain-Chatchat项目为主。不久前网易有道也开源了其QAnything,尝试跑了下,效果挺不错。
QAnything官网和网上已有许多架构解读,包括网易BCEmbedding模型、二阶段的Rerank重排等,不再赘述。
有一个比较特别的点,架构图里的Query会先送到一个LLM大模型里做Query Understanding,很少人关注到这点,但这却肯定是未来RAG架构中的常规设计。
Query Understanding可以理解成意图识别。用户的Query问法千奇百怪不可预知,用基于规则的方案缺乏泛化,也无法穷举做判断,所以只能基于In-context learning或FT的LLM来做Query Understand,泛化性更强。
Query understand 主要是解决多轮对话和意图识别的一个环节:
1、RAG里面的多轮对话和chat的多轮对话不太一样,RAG需要用query去检索。举个例子:
query1: 上海这座城市怎么样?
answer1: 上海………blablabla....
query2: 和北京比呢?
如果拿query2去检索,那拿到的片段全是北京的信息,没有上海的信息,回答会文不对题。
所以才有这样的解决办法,即通过LLM大模型把历史对话和当前问题改写成一个独立问题,比如这里会改写成:
condense query:上海和北京相比怎么样?
然后再拿这个condense query去做检索。因为LLM大模型有幻觉,这个condense query会被改错,所以最终回答的时候还得用history+原问题+检索片段来输出答案。而condense query只作用在检索这个过程。
2、意图分类:有些问题不适合RAG来回答,LLM大模型自己就能回答,或者有些问题需要接入数据库检索匹配,这里就可以做一个意图分类,把query分流处理。
这个环节决定了后续RAG增强后给后面LLM的最终提示词,也决定了最终答案的准确率。因此先用LLM做下Query Understand自然是很有必要的。
最后,架构图中前后出现了两个LLM大模型。它们是什么关系?这两个大模型可以是同一个大模型,也可以是不一样的大模型,这个主要看业务场景而定。在一个庞大复杂的问答场景里,用于Query Understanding的大模型,通常是通用基础大模型,比如通义千问、GPT4.0;用于最后输出Answer答案的LLM,则通常是经过微调后的行业领域专属大模型。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-07-01
qodo如何构建大型代码仓库的RAG?
2025-07-01
爆改RAG!让你的AI检索“见人说人话,见鬼说鬼话”——自适应检索的魔法揭秘
2025-07-01
RAG系统的“聪明药”:如何用反馈回路让你的AI越用越聪明?
2025-06-30
EraRAG:突破传统GraphRAG限制,实现动态语料库的高效检索增强生成
2025-06-30
GraphRAG的索引动态更新解法-分桶+局部更新及“上下文工程”新概念?
2025-06-30
RAG搭建个人LLM知识库助手,很多人第一步就走错了...
2025-06-29
你的RAG系统安全么?
2025-06-28
Dify+RAG合同生成:条款级工作流案例拆解
2025-04-13
2025-04-19
2025-04-09
2025-04-16
2025-05-08
2025-04-05
2025-04-23
2025-04-08
2025-04-10
2025-04-09
2025-07-01
2025-07-01
2025-06-30
2025-06-29
2025-06-20
2025-06-19
2025-06-13
2025-06-09