搭建 RAG 智能助理
一、RAG
1.1 概述
RAG(Retrieval Augmented Generation)技术,通过检索与用户输入相关的信息片段,并结合外部知识库来生成更准确、更丰富的回答。解决 LLMs 在处理知识密集型任务时可能遇到的挑战, 如幻觉、知识过时和缺乏透明、可追溯的推理过程等。提供更准确的回答、降低推理成本、实现外部记忆。
原始的大模型:为了让大模型学会一些用户自定义的知识,可以使用两种方法:
- 用用户的语料进行微调
- 使用 RAG
微调门槛较高,且当语料变化频繁时很麻烦,所以RAG是一种很方便的技术。
1.2 工作原理
将知识源分割成chunk,编码成向量Embeddings,存储在向量数据库中。接收到用户问题之后,将问题也当作向量,并在数据库中找到最相关的chunk,当作prompt一起给大模型。
1.3 向量数据库
通过Embeddings,将多模态的信息映射到向量空间中。在向量空间中距离相近的点,就代表着意义相近的信息。
1.4 优化方法
- 优化嵌入
- 结合稀疏和密集检索
- 多任务
- 优化索引
- 细粒度分割
- 元数据
- 查询优化
- 查询扩展,转换
- 多查询
- 管理上下文
- 重排
- 上下文选择/压缩
- 迭代检索、递归检索、自适应检索
- 微调 LLM
1.5 RAG vs 微调
1.6 Evaluation
- 基准测试: RGB,RECALL,CRUD
-
评价工具:RAGAS,ARES,TruLens
目前常用的向量数据库有Chroma,LLamaIndex等等
二、用茴香豆搭建RAG
2.1 安装环境
2.2 创建知识库并提问
三、部署到Web端
...未完待续