PYTHON+AI LLM DAY ONE HUNDRED AND THREE

今天聊聊RAG技术:RAG(检索增强生成)是配合LLM解决企业内部私有知识问答的关键技术.LLm能力很强,但没有获取企业内部私有知识的权限,设想有这样一个业务场景:客户询问某企业内部相关知识的信息,有一个系统能够结合企业内部的相关信息,对客户的提问做出精准回答.而这就是RAG技术解决的问题.RAG具体过程是两个板块:离线知识库的搭建和在线检索两个阶段.离线知识库搭建:准备企业内部相关文档,实际情况,通常是选择markdown格式.用相应的文档加载器读取,相应文档加载器在langchain框架下有相应提及,然后就是将分档分块,langcahin框架下也有相应切割器.切块大小有讲究.对切后的块选择相应的向量模型,转化成向量.前面介绍过bge-m3这个向量模型,一般就是将块同时转化成稀疏和稠密向量.然后就是对块的保存.通常是选择milvus向量库存储.在前面也聊过milvus向量库的优点.支持混合检索(稀疏和稠密向量检索,其他也行).然后就是对每个块保存原始内容和向量化之后的内容.建立对每个块的索引,通常还需设定溯源字段(便于后续追踪).在线检索阶段:一般选择混合检索.这里的混合检索采用的是稀疏和稠密检索.为什么这样?稀疏检索是对用户问题里面的关键词进行精准匹配.稠密检索是对用户问题的语义上面的深度捕捉.混合检索实现了对用户问题的精准查找.也是多数企业选择的方式.先是接收用户的问题query,然后和离线知识库搭建过程的相同向量模型对query进行转换为稀疏和稠密向量.分别去和数据库的每个向量计算相似度,最后pymilvus提供两种融合策略.RRF和Wightedreranker.选出top-k.最后这一步,一般还需一个向量模型对上面选出的top-k进行精排,再返回几个分数最高的向量块,最后定位到原始切块,拼接用户的query一起返给大模型.写好提示词,返回给用户相应的回答,这就是RAG的大致流程.

相关推荐
学Linux的语莫16 分钟前
python中类的常见写法
开发语言·python·状态模式
阿里云大数据AI技术18 分钟前
【云栖实录】一切数据,皆可计算:MaxCompute 升级为AI Native全模态计算服务
大数据·人工智能·agent
需要82618 分钟前
容器化 Java:镜像瘦身与 JVM 容器感知(cgroup)
java·开发语言·jvm
面壁的熊猫26 分钟前
agent-team 与 Multica 差异分析,以及 2026 年多 Agent 编码编排最新相关工作
人工智能·开源项目·ai agent
云淡风轻~窗明几净28 分钟前
角谷猜想最接近严格证明的测试 Version1.1.1
人工智能·算法·机器学习·图论
武子康29 分钟前
撤回发生在重建途中,旧索引还能切回来吗
人工智能·后端·agent
dyxal33 分钟前
A2A 协议 v1.0 完全指南:方法名、Agent Card、三种绑定与 FastAPI 实战
开发语言·qt·fastapi
新知图书36 分钟前
10.3 本地生活与商业服务:信任构建的差异化路径
人工智能
譕痕37 分钟前
Rabbit 实例
java·开发语言·java-rabbitmq
博谷42 分钟前
2026年AI搜索监测平台的问题库怎么搭建?BUGOOAI布谷GEO用五域问题模型拆解决策变量
人工智能