来源:互联网 更新时间:2026-08-02 12:49
大模型发展到现在,随着下游应用尤其是B端场景不断深入验证,无论是知识密集型的RAG搜索问答,还是更复杂的AI Agents,在架构上都开始跳出简单的提示工程和传统“链”式套路,向着更灵活、更强大的方向演进。本文就借着当前最常见的RAG(检索增强生成)应用,聊聊它的最新架构变化和技术实现。
目录里先列几个重点:LLM应用架构的演进、RAG应用面临的挑战、从RAG到RAG Flow、实现一个RAG Flow,最后收个尾。好,我们直接开讲。
这里说的应用,是指
再说个老朋友——还记得LangGraph吗?前几篇文章里剖析过它,其推出的根本动机就是为了适应越来越复杂的Agent工作流。传统的Chain和黑盒Agent组件满足不了新需求。LangGraph用图(Graph)这种更灵活的算法结构来定义任务节点、关系和状态迁移,几乎能应对无限场景下的复杂Agent需求,开发效率提升巨大。
下面,我们就从最常见的LLM RAG应用来认识这种架构转变和相关技术。
RAG的基本思想大家已经很熟了:
传统经典RAG架构看似简单,但实际用起来往往是“上手容易,做好极难”,尤其是要满足企业生产环境,更难。一部分原因来自企业运营——比如私有知识的管理和维护;另一部分则来自技术本身——自然语言的复杂性给检索和理解带来了不少挑战。主要挑战集中在以下几块:
检索回来的外部知识是否有足够的相关性和覆盖性,直接决定了生成阶段的质量。如果召回的信息里掺杂了大量无用、噪声甚至矛盾的干扰,或者最重要的信息没落在大模型的“关注区域”里,那最终输出肯定要打折扣。
召回精准度通常涉及索引和检索两大环节:
检索到的相关知识形成上下文,最终要靠LLM来理解并生成。所以LLM的生成能力是另一个关键环节。
不同场景怎么选模型、要多大参数规模,往往是实施RAG时最先遇到的困惑。简单知识问答可能6B、13B的模型也能表现不错;但SQL生成、Tools使用这类任务,即使千亿参数的大模型,也很难达到80%以上的准确率。
此外,检索结果的排序、干扰信息、多余信息、矛盾信息,都需要LLM自己去识别和区分。模型本身的“抗干扰”能力和“注意力”范围,对最终生成有重要影响。所以有些实际应用,会针对RAG场景微调大模型,让它更适合这个场景。
还有几个常见的坑:携带过多关联知识可能撑爆大模型的上下文窗口;处理步骤太多会影响端到端响应性能;在多轮对话中,一个输入问题的完整语义可能分布在多轮交互里,如何合并这些语义形成完整检索输入,也是个技术活。
正是这些挑战,倒逼RAG架构不断优化演进。这里借用同济大学等团队最近的一篇调查报告《Retrieval-Augmented Generation for Large Language Models: A Survey》里的观点,来看RAG架构的发展:

核心思想是:把RAG应用中的各个步骤拆成多个
这里不逐个介绍每个模块和典型算法,感兴趣的话可以去原项目的GitHub(搜索RAG-Survey)看看。
从上面的图可以看到,
在每次迭代中,利用前一次迭代的模型输出作为特定上下文,帮助检索更多相关知识,再生成新知识,直到达到预定义迭代次数终止。显然,
循环范式的知名案例是Self-RAG,一种借助LLM进行自我反思与按需检索的框架,用来提高生成准确性(可以在GitHub搜索Self-RAG)。
实现相对复杂的RAG Flow架构,建议基于目前主流的两个开发框架:
两者各有优势。LangChain更面向通用LLM应用设计,功能强大但相对复杂;推出了
工作机制如下:
为什么需要扩展查询?
通常我们使用问答或搜索系统时,只习惯用单个输入查询。但单个问题可能无法完整或深入地表达用户真正意图,导致检索到的关联知识也无法很好覆盖需要的内容。比如想了解“个人所得税专项附加扣除的相关规定”,可以生成“个税专项附加扣除的扣除标准”“个税专项附加扣除的在线操作流程”“个税专项附加扣除的主要类型”等相似问题,这些能帮助检索到更全面深入的知识。
关于RRF:
倒数排名融合 (RRF) 是一种把多个搜索结果列表的排名组合起来,生成单个统一排名的技术。通过组合不同查询的排名,能增加最相关文档/知识出现在最终排名顶部的机会,帮助LLM提高生成质量。详细原理可以读这篇论文:https://plg.uwaterloo.ca/~gvcormac/cormacksigir09-rrf.pdf
下面是主要代码实现(仅展示核心过程):
#加载知识文档
loader = TextLoader(file_path="test.txt")
document = loader.load()
#分割文档
text_splitter = CharacterTextSplitter(separator="n",chunk_size=500,chunk_overlap=0)
data = text_splitter.split_documents(document)
#嵌入并存储向量库
db=Chroma.from_documents(documents=data,embedding_function=OpenAIEmbeddings(),persist_directory="./chrom_db")
#检索器
retriever=db.as_retriever(k=5)
llm=ChatOpenAI(temperature=0.0,model_name='gpt-3.5-turbo-1106')
template = """
你是一个聪明的AI助手,能够根据输入的单个查询生成多个相关的查询问题.
请根据如下查询内容生成5个相关的搜索查询: {query}
"""
prompt = ChatPromptTemplate.from_template(template)
#LCEL语言构建一个Chain
generate_queries = (
prompt | llm | StrOutputParser() | (lambda x: x.split("n"))
)
#RRF实现算法:对每个相关问题搜索出来的文档列表依次处理
#重新计算每个文档的Score,最后形成重新排序的文档结果
def reciprocal_rank_fusion(results: list[list], k=60):
fused_scores = {}
for docs in results:
for rank, doc in enumerate(docs):
doc_str = dumps(doc)
if doc_str not in fused_scores:
fused_scores[doc_str] = 0
previous_score = fused_scores[doc_str]
fused_scores[doc_str] += 1 / (rank + k)
reranked_results = [
(loads(doc), score)
for doc, score in sorted(fused_scores.items(), key=lambda x: x[1], reverse=True)
]
return reranked_results
#构造一个rag fusion的chain
#处理过程:生成相似问题 => 检索问题相关文档 => 文档重排序
ragfusion_chain = generate_queries | retriever.map() | reciprocal_rank_fusion
template = """
基于如下上下文回答问题:
{context}
===
问题: {question}
"""
prompt = ChatPromptTemplate.from_template(template)
#构建生成器的Chain
#输入:retriever返回的检索结果与输入问题
final_chain = ({"context": rag_fusion_chain, "question": RunnablePassthrough ()}
| prompt
| llm
| StrOutputParser ()
)
final_chain.invoke({question:"请介绍个人所得税专项附加扣除的政策"})
前面简单聊了聊当前LLM原生应用在架构演进上的一些新特征和范式,特别是更灵活的基于WorkFlow的架构,它大大扩充了LLM的应用场景,也提升了任务准确性和可靠性。说到底,技术总是在挑战中迭代,而RAG Flow这种模块化、可编排的思路,正是解决实际生产问题的关键方向之一。
ThinkBook系列最新价格全解析:2026年选购避坑与实时询价指南
Ondo将于今日上线股票永续合约
暗黑4S14野蛮人终局BD攻略
区块链OTC交易所有哪几家比较正规?
Binance新增15种bStocks代币化证券为杠杆抵押资产
Meme币DOGS今晚上线!开局就解锁91%代币是否带来风险?
忍者必须死3极刃血影角色介绍
晶核艾尔莎角色盘点 晶核艾尔莎强度分析与实战表现
余姚的路虎4s店在哪个位置
彩云天气怎么看分钟级降雨预报 彩云天气精准预报方法【技巧】
五千元以下的笔记本几乎消失!经销商:至少一年看不到涨价尽头
Intel喜讯连连:18A工艺良率提升到85%、CPU将涨价15%
遗忘之海密室通关教程 遗忘之海密室全关卡解谜思路与难点解析
华为Mate 70系列首发的红枫镜头下放至千元档:全员普及原色影像
合集38个项目筹集5.406亿美元 Figure融资2亿
国家养老服务消费补贴上线京东
英伟达机器人团队在京沪深招人,聚焦具身智能等四大领域
一站式PDF转Markdown解决方案PDF3MD
硬刚苹果!华为9月新品阵容出炉:Mate 90系列、全新三折叠
微软Copilot AI漏洞可致敏感数据泄露,企业用户需及时更新
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc