参考视频:茴香豆:搭建你的 RAG 智能助理_哔哩哔哩_bilibili
参考项目:Tutorial/huixiangdou/readme.md at camp2 · InternLM/Tutorial · GitHub
3.0 RAG介绍
(1)定义
RAG就像搜索引擎,用户输入内容就像提示,在外部知识库搜寻内容,通过检索和生成提高LLM性能。
解决大模型胡说八道、知识过时和缺乏推理逻辑的问题。RAG因为没有训练过程,借助外部知识库提供更准确的回答,成本低。
(2)RAG核心:索引、检索、生成
索引:编码外部知识库
检索:编码用户输入的问题,在库内找到最相关的chunk返回
生成:提示=问题+chunk,送给大模型,等待生成回答
Vector-DB:存储(向量表示)、高效检索(余弦、点乘)、
(3)RAG优化思路:
数据库方面:
嵌入式优化:
索引优化:chunk大小、索引结构
提示方面:
查询优化:对提示进行改写,使其更能生成回答
上下文优化:去除冗余提高效率
检索方面:
迭代检索:多次检索知识,提高知识质量
递归检索:提高检索深度、细化检索过程
自适应检索:自主决定检索内容和时机
大模型微调