The RAG Process: Retrieval-Augmented Generation Step-by-Step
文章目录RAG简介流程【分片】【索引】向量embedding向量数据库【召回】【重排】【生成】总结流程代码环境准备RAG参考视频 BV1wc3izUEUb简介检索增强生成RAGRetrieval-Augmented Generation检索增强生成是一种把信息检索Search和大语言模型生成LLM Generation结合起来的技术框架解决大模型缺点。大模型缺点幻觉、知识更新不及时、私域问题无法回答使用场景有一个模型比如gpt如果每次提问都把产品手册一起发给模型让他回答我的问题会受到上下文窗口大小的限制。上下文窗口大小每个模型只能存储一定量的信息准确率无法得到保障推理成本高速度慢 - 【考虑只把文档中相关的内容发给模型】- rag 登场流程1准备提问前分片 - 索引2回答提问后召回 - 重排 - 生成【分片】方式字数1000字OR 按段落 OR 按章节 OR 按页码最终都需要把一篇文章切分为多份【索引】1 通过embedding将每一个片段文本转换为向量2 将片段文本和片段向量存入向量数据库向量概念有大小有方向的量示例[1.0, 2.3, 5.76, 10.1]embedding把文本转换成向量的过程含义相近的文本在经历 embedding 之后它们对应的向量是相近的embedding 也是模型来完成的不是 gpt 什么的是专门的 embedding 模型向量数据库用于存储和查询向量的数据库embedding后的向量就可以放在向量数据库里面方便后续查询【召回】搜索与用户问题相关片段的过程【用户的问题会发给embedding模型】- 【embedding模型会将问题转换为向量】- 【问题向量 发送给向量数据库】- 【让它查询用户问题最为相关的10个片段内容】召回的结果就是 10个与用户问题相关的片段10不是固定向量数据库是怎么知道那些片段与用户问题最相关的计算向量相似度然后排序计算相似度的公式是什么有很多种1 余弦相似度算两个向量之间夹角的cos值根据cos值判断夹角大小夹角越小相似度越高2 欧氏距离计算两个向量之间的距离距离越小相似度越高3 点积A向B引入一条垂线点积就是投影和 B的乘积乘积越大相似度越高。【重排】重排 重新排序召回是从所有片段中查询出10份 与用户问题最相似的重排是从这10分钟再挑三份为什么同样的问题要三次因为两个阶段 使用的 文本相似度计算逻辑不一样【生成】生成 生成答案总结流程1准备提问前分片 - 索引构建知识库2回答提问后召回 - 重排 - 生成代码环境准备我在这里没有使用 uv而是新建了一个 conda 环境jupyter 没有同步 conda的环境 的问题解决python -m ipykernel install --user --name 你的环境名 --display-name “Python (你的环境名)”
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2415778.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!