微信扫码
与创始人交个朋友
我要投稿
开源的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+中大型企业
2024-10-06
Anthropic RAG: 上下文检索技术
2024-10-06
AI检索黑马获2000万美元融资,推进RAG系统精准化,破解AI幻觉难题
2024-10-06
OpenRAG:全面增强RAG推理,超越Self-RAG、RAG 2.0、Command R+
2024-10-06
如何引入chunk层级优化RAG性能:从树结构RAPTOR到GEM-RAG加权图方案解读
2024-10-06
KAG:RAG已经不够了,知识增强生成才是王道,提升朴素RAG一倍性能
2024-10-05
打造自己的RAG解析大模型:Windows下部署OCR应用服务(可商业应用)
2024-10-05
基于RAG的to B智能体(Agent)应用实践
2024-10-03
RAG实战篇:将用户输入转换为精确的数据库查询语言
2024-07-18
2024-07-09
2024-07-09
2024-07-08
2024-07-09
2024-06-20
2024-07-07
2024-05-05
2024-07-07
2024-05-19
2024-09-30
2024-09-26
2024-09-26
2024-09-20
2024-09-16
2024-09-12
2024-09-11
2024-09-10