RAG
没有额外训练的情况下,让LLM掌握新知识
技术概述
- 可以理解为额外接在LLM上的搜索引擎
- 不需要训练过程,成本很低
工作原理
- 三个部分:索引、检索、生成
- Vector-DB向量数据库
- 数据存储
- 相似性检索。余弦相似度、点乘or其他方法,得分用于排序。
- 向量表示的优化。影响RAG结果好坏。
流程示例
- 传统LLM和加入了RAG的LLM的对比
- 接收prompt,从向量数据库检索相关内容,把检索成果与prompt结合,一起送入LLM,获取准确的结果
- 无需训练
发展进程
- 2020由Facebook提出
- Naive RAG → Advanced RAG → Modular RAG
RAG常见优化方法
- 嵌入优化
- 索引优化
- 查询优化。查询扩展、转换,多查询。
- 上下文管理。
- 迭代检索、递归检索、自适应检索
- LLM微调。检索微调、生成微调、双重微调
RAG 对比 微调
- 各有优劣。时效性、数据量
LLM模型优化方法比较
- 外部知识需求
- 模型适配度要求
- RAG、提示工程、微调
评估框架和基准测试
总结
茴香豆,RAG技术的实战演练
- 茴香豆是一个基于LLMs的领域知识助手,开源地址
- 即时通讯工具中自动化问答、技术支持
- RAG技术
- 构建
- 数据库,支持常用文件格式
- 前端。微信群、飞书群,discord、skpye
- 后端。本地模型InternLM、Qwen;远端KIMI、ChatGPT、Deepseek、ChatGLM;api。
- 公租流中有拒答模块
- 工作流
- 多来源检索
- 混合大模型
- 多重评分拒答工作流
- 安全检查
实践1:茴香豆web版
- openxlab有网页应用。可以上传自己的文档,可以设置拒答样例
- 有0代码安卓app
实践2:intern studio部署茴香豆
- 根据文档步骤
- 后续部署在微信上可以参考进阶文档