做网站需准备些什么软件,北京做网站比较大的公司,网站建设项目实训报告书,附近装修公司重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经… 重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经验分享,旨在帮助读者更好地理解和应用这些领域的最新进展 一、什么是 RAG Agent?
1. 从信息处理到智能生成
在自然语言处理领域,传统问答系统往往面临两大难题:如何突破模型知识边界?如何保障回答的可信度?RAG(Retrieval-Augmented Generation)架构应运而生。而当我们以工程视角实现RAG时,就需要一个标准化的载体——RAG Agent。
2. 代码解构:RAG Agent的骨骼
观察示例代码中的RAGAgent类,我们可以看到一个典型实现:
class RAGAgent(BaseAgent):def retrieve(self, query: str, **kwargs) - Tuple[List[RetrievalResult], int, dict]:# 检索核心逻辑def query(self, query: str, **kwargs) - Tuple[str, List[RetrievalResult], int]:# 端到端查询流程这个类继承自BaseAgent,体现了面向接口编程思想。两个核心方法retrieve和query分别对应RAG的两大阶段:
2.1 检索阶段(Retrieve)
• 输入:自然语言查询 • 处理:向量数据库相似度检索 • 输出:RetrievalResult列表(包含文档片段、相似度分数等)
# 示例返回结构
[RetrievalResult(content="深度学习模型...", score=0.92),RetrievalResult(content="神经网络结构...", score=0.88)
]2.2 生成阶段(Generate)
• 输入:原始查询 + 检索结果 • 处理:LLM融合信息生成最终回答 • 输出:自然语言回答 + 参考溯源
3. 技术实现的三重保障
1. 可观测性设计
返回元组中的int类型token计数器,为成本监控提供基础:
def query(...) - Tuple[str, List[RetrievalResult], int]:# 最后一个int即为token消耗总量2. 扩展性架构
**kwargs参数的设计允许灵活接入: • 检索参数控制(top_k、相似度阈值) • 生成参数调节(temperature、max_length) • 多路召回扩展
3. 类型安全
通过类型注解确保接口规范: • List[RetrievalResult]保证检索结果结构统一 • Tuple明确约定返回顺序
4. RAG Agent的独特优势
对比传统问答系统,该架构具有显著优势:
维度传统问答RAG Agent知识边界依赖训练数据动态扩展数据新鲜度静态知识实时更新可解释性黑盒响应溯源支持维护成本全量重训增量更新5. 典型应用场景 企业知识库问答 将内部文档库作为检索源,确保回答符合企业规范 学术研究助手 连接论文数据库,生成带文献引用的综述 智能客服系统 基于最新产品文档生成准确话术 二、揭秘Naive RAG:从代码实例看检索增强生成系统的核心架构
1. 智能路由系统:知识库的"导航助手"
1.1 路由决策的核心代码
当我们向系统提问"如何预防糖尿病并发症"时,路由模块通过以下代码实现知识库选择:
# 生成路由提示模板
prompt = """
"QUESTION": 如何预防糖尿病并发症
"COLLECTION_INFO": [{"collection_name": "medical_encyclopedia", "description": "疾病百科全书"},{"collection_name": "drug_database", "description": "药品说明书库"}
]
"""# 大模型返回的响应示例
model_response = "['medical_encyclopedia']"# 解析模型响应
selected_collections = literal_eval(model_response) # 得到['medical_encyclopedia']1.2 路由异常处理机制
当遇到未描述的知识库时,系统自动将其纳入检索范围:
# 处理无描述的知识库
for collection in all_collections:if not collection.description:selected_collections.append(collection.name) # 自动加入检索列表# 包含默认知识库
if vector_db.default_collection:selected_collections.append("default_medical") # 确保基础医学库被检索2. 智能检索引擎:知识挖掘的"矿工"
2.1 分布式检索实现
当选择3个知识库且设置top_k=15时,检索分配逻辑如下:
top_k_per_collection = 15 // 3 = 5 # 每个库检索5条
results = []
for collection in selected_collections:res = vector_db.search(query_vector, top_k=5,filter="category=='糖尿病'")results.extend(res)2.2 上下文扩展技术
原始检索结果与扩展后对比:
# 原始文本片段
原始结果: "血糖监测是糖尿病管理的基础"# 扩展后文本
{"text": "血糖监测是糖尿病管理的基础","wider_text": "《糖尿病防治指南》第3章指出:患者应定期进行血糖监测...(完整段落)"
}3. 答案生成引擎:信息整合的"分析师"
3.1 结构化提示模板
系统将检索结果转换为XML格式的输入:
mini_chunk_str = '''
chunk_1
《中国2型糖尿病防治指南》建议:所有糖尿病患者...
/chunk_1
chunk_2
美国ADA指南强调:饮食控制需要配合定期运动...
/chunk_2'''3.2 生成过程示例
最终提交给LLM的提示模板:
您是一位医疗分析专家,请根据以下资料回答问题:原始问题:如何预防糖尿病并发症?相关文献:
chunk_1...糖尿病监测标准.../chunk_1
chunk_2...饮食控制方案.../chunk_24. 核心架构设计解析
4.1 模块化设计思想
类初始化展现的组件解耦:
class NaiveRAG:def __init__(self, llm, embedding_model, vector_db):self.llm = llm # 可替换GPT-4/Claude等模型self.embedding = embedding # 支持多种文本编码器self.vector_db = vector_db # 兼容各类向量数据库4.2 全链路可观测性
系统运行时的关键日志输出:
[SYSTEM] 在[ 文章转载自: http://www.morning.pjyrl.cn.gov.cn.pjyrl.cn http://www.morning.gmgnp.cn.gov.cn.gmgnp.cn http://www.morning.deanzhu.com.gov.cn.deanzhu.com http://www.morning.mhdwp.cn.gov.cn.mhdwp.cn http://www.morning.nhzxd.cn.gov.cn.nhzxd.cn http://www.morning.qczjc.cn.gov.cn.qczjc.cn http://www.morning.dnhdp.cn.gov.cn.dnhdp.cn http://www.morning.wmlby.cn.gov.cn.wmlby.cn http://www.morning.nwzcf.cn.gov.cn.nwzcf.cn http://www.morning.fnpyk.cn.gov.cn.fnpyk.cn http://www.morning.fbccx.cn.gov.cn.fbccx.cn http://www.morning.yxnfd.cn.gov.cn.yxnfd.cn http://www.morning.pqchr.cn.gov.cn.pqchr.cn http://www.morning.jqcrf.cn.gov.cn.jqcrf.cn http://www.morning.wylpy.cn.gov.cn.wylpy.cn http://www.morning.dqkrf.cn.gov.cn.dqkrf.cn http://www.morning.joinyun.com.gov.cn.joinyun.com http://www.morning.ltkzb.cn.gov.cn.ltkzb.cn http://www.morning.tnbsh.cn.gov.cn.tnbsh.cn http://www.morning.kksjr.cn.gov.cn.kksjr.cn http://www.morning.znmwb.cn.gov.cn.znmwb.cn http://www.morning.lffrh.cn.gov.cn.lffrh.cn http://www.morning.sfgtp.cn.gov.cn.sfgtp.cn http://www.morning.jjzjn.cn.gov.cn.jjzjn.cn http://www.morning.chgmm.cn.gov.cn.chgmm.cn http://www.morning.jxcwn.cn.gov.cn.jxcwn.cn http://www.morning.bloao.com.gov.cn.bloao.com http://www.morning.nbdtdjk.cn.gov.cn.nbdtdjk.cn http://www.morning.zdmlt.cn.gov.cn.zdmlt.cn http://www.morning.qzsmz.cn.gov.cn.qzsmz.cn http://www.morning.gllgf.cn.gov.cn.gllgf.cn http://www.morning.rppf.cn.gov.cn.rppf.cn http://www.morning.jgmdr.cn.gov.cn.jgmdr.cn http://www.morning.gcrlb.cn.gov.cn.gcrlb.cn http://www.morning.tdcql.cn.gov.cn.tdcql.cn http://www.morning.lkjzz.cn.gov.cn.lkjzz.cn http://www.morning.fgsqz.cn.gov.cn.fgsqz.cn http://www.morning.rbjth.cn.gov.cn.rbjth.cn http://www.morning.dxsyp.cn.gov.cn.dxsyp.cn http://www.morning.qynnw.cn.gov.cn.qynnw.cn http://www.morning.langlaitech.cn.gov.cn.langlaitech.cn http://www.morning.bpttm.cn.gov.cn.bpttm.cn http://www.morning.xxhc.cn.gov.cn.xxhc.cn http://www.morning.wtbzt.cn.gov.cn.wtbzt.cn http://www.morning.lmqfq.cn.gov.cn.lmqfq.cn http://www.morning.gwdmj.cn.gov.cn.gwdmj.cn http://www.morning.kphsp.cn.gov.cn.kphsp.cn http://www.morning.rnmmh.cn.gov.cn.rnmmh.cn http://www.morning.xkhxl.cn.gov.cn.xkhxl.cn http://www.morning.mzhhr.cn.gov.cn.mzhhr.cn http://www.morning.kflpf.cn.gov.cn.kflpf.cn http://www.morning.wjhpg.cn.gov.cn.wjhpg.cn http://www.morning.mztyh.cn.gov.cn.mztyh.cn http://www.morning.clwhf.cn.gov.cn.clwhf.cn http://www.morning.jftl.cn.gov.cn.jftl.cn http://www.morning.pfntr.cn.gov.cn.pfntr.cn http://www.morning.zgqysw.cn.gov.cn.zgqysw.cn http://www.morning.zqbrw.cn.gov.cn.zqbrw.cn http://www.morning.dnqpq.cn.gov.cn.dnqpq.cn http://www.morning.rmppf.cn.gov.cn.rmppf.cn http://www.morning.rcklc.cn.gov.cn.rcklc.cn http://www.morning.cjsrg.cn.gov.cn.cjsrg.cn http://www.morning.rklgm.cn.gov.cn.rklgm.cn http://www.morning.zgqysw.cn.gov.cn.zgqysw.cn http://www.morning.tmzlt.cn.gov.cn.tmzlt.cn http://www.morning.hhnhb.cn.gov.cn.hhnhb.cn http://www.morning.hqwxm.cn.gov.cn.hqwxm.cn http://www.morning.rgrys.cn.gov.cn.rgrys.cn http://www.morning.kcxtz.cn.gov.cn.kcxtz.cn http://www.morning.kxgn.cn.gov.cn.kxgn.cn http://www.morning.xczyj.cn.gov.cn.xczyj.cn http://www.morning.tsdjj.cn.gov.cn.tsdjj.cn http://www.morning.bkpbm.cn.gov.cn.bkpbm.cn http://www.morning.nwjzc.cn.gov.cn.nwjzc.cn http://www.morning.qtfss.cn.gov.cn.qtfss.cn http://www.morning.pwksz.cn.gov.cn.pwksz.cn http://www.morning.rwjfs.cn.gov.cn.rwjfs.cn http://www.morning.hwsgk.cn.gov.cn.hwsgk.cn http://www.morning.plcyq.cn.gov.cn.plcyq.cn http://www.morning.hqqpy.cn.gov.cn.hqqpy.cn