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的大致流程.

相关推荐
Alluxio12 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
卷无止境12 小时前
mathmodel-figure-templates 以及两个上手案例
后端·python
johnsong12 小时前
Claude Fable 5.2 登顶:65 分、单发做游戏,和一份 $26.54 一单的账单
人工智能·游戏
fengci.12 小时前
CTF2MISC中等部分
开发语言·前端·学习
凌杰12 小时前
AI 学习笔记:Transformer 架构详解
人工智能
硅谷秋水12 小时前
扩展机器人智能体的在线探索能力
人工智能·语言模型·机器人
Eyfcom12 小时前
〖高级算法实战 04〗物流定价博弈论:动态定价算法如何平衡运力供需与利润?
人工智能·物流管理系统·高级算法实战·众包物流
锋行天下12 小时前
服务器 Python 2.7 装不了 langgraph-cli?用本地生成 Dockerfile 曲线救国
人工智能·后端·python
一条大祥脚13 小时前
深入理解 PyTorch FlexAttention:从 Score Mod 到 Mask Mod 的稀疏加速之道
人工智能·pytorch·python·注意力机制·flex attention·可编程注意力
机 _ 长13 小时前
03 智算运维|丢 0.1% 的包,8 卡训练为什么会崩
人工智能·模型部署·智算运维