RAG整体过程
RAG 概念最近比较火,RAG,Retrieval-Augmented Generation,检索增强生成。结合检索技术+大模型生成技术提供整体大模型生成的效果。同时 RAG 解决了大模型幻觉,知识更新不及时等等问题。

RAG 整体效果
RAG 的效果,其实是和文档处理,embedding,召回,以及最后的大模型效果都关联,可以简单用下面一个公式来表示:

两家典型厂商背景
腾讯 VectorDB
基于 faiss 扩展而来
2023 年 8 月上线
2023 年 10 月份对外公测(单节点,EIP)
2024 年 3 月 20 日开始计费
2024 年 4 月10 日开始商用
国内云厂商第一个发向量数据库
腾讯云团队和内部团队合作共建(内部团队叫 Andon)
向量数据库包含向量数据库+AI 套件,两者 API 单独,AI 套件导入的数据不支持修改


每个阶段的关键点
先来看看 RAG 每个阶段的一些关键点和优化经验。
步骤 | 关键点 |
数据提取 | 数据清洗:包括数据Loader,提取PDF、word、markdown以及结构化的数据库数据和API数据等; 数据处理:包括数据格式处理,不可识别内容的剔除,压缩和格式化等; 元数据提取:提取文件名、时间、章节title、图片alt等信息,非常关键。 文档类型 word 文档 TXT 文档 CSV数据表 Excel 表格 PDF 文件 PPT 文件 图片 视频
|
|
数据分块(Chunking) | |
embedding | |
query 预处理 | 完整的 RAG 检索流程,在几个环节都有提升空间 |
检索召回 |
rerank |
prompt | |
腾讯 VectorDB 主要优化点
腾讯向量数据库做了一些优化,看看其中的关键点
步骤 | 腾讯 VectorDB |
数据提取 | 没有明显的优化 |
数据分块(Chunking) | 对下面四种文档做了优化: 主要优化是: |
embedding | 支持以下开源 embedding 模型 bge-base-zh(推荐) m3e-base text2vec-large-chinese e5-large-v2 multilingual-e5-base
还提供垂类embedding 模型微调,提升效果 |
query 预处理 | query 预处理几个提升 |
检索召回 | |
rerank | |
prompt | 做了分布式引导,引导模型分布执行 代码化,提升模型推理能力
|
API&SDK | AI 套件: AI 类 Database 是专门用于 AI 套件上传和存储文件的向量数据库系统,可用于构建知识库。用户可以直接将文件上传至 AI 类 Database 下的 CollectionView 中,自动构建个性化的知识库。 AI 类 Database 不支持直接对向量数据进行操作,已上传的文件不支持更新文件内容。 为便于区别,腾讯云向量数据库将可直接操作向量数据的数据库称为 Base 类 Database。用户可以将向量数据上传至 Base 类 Database 中进行存储和管理,并可以直接对向量数据进行操作和处理。更多信息,请参见 Database。 示例:https://cloud.tencent.com/document/product/1709/102334
|
Azure AI Search 主要优化点
Azure AI Search 能力很全,一起看看 AI Search 的关键能力。
步骤 | Azure AI Search |
数据提取 | |
|
数据分块(Chunking) | 无特殊优化 |
embedding | 集成 OpenAI embedding模型 OpenAI CLIP Ada text-embedding-3-large text-embedding-3-small 文本模型 图像模型:
|
query预处理 | 无特殊优化 |
检索召回 | 全文检索 向量检索 混合检索 包含search和vectors查询参数的单一查询请求 并行执行 利用查询响应中的合并结果,使用倒数排名融合 (RRF)打分 混合查询是全文搜索和矢量搜索的结合,执行的对象是一个包含可搜索的纯文本内容和生成的嵌入的搜索索引。 就查询而言,混合搜索定义如下: 混合搜索将全文查询和矢量查询的结果相结合,使用 BM25 和 HNSW 等不同的排名函数。倒数排名融合 (RRF)算法合并结果。 查询响应仅提供一个结果集,使用 RRF 从每个查询中选择最相关的匹配项。
|
rerank | 全检检索:BM25 排名,关键词查找 混合查找(RRF) 语义排序: 语义排序是一组与查询相关的功能,可提高基于文本的查询的初始 BM25 排序或 RRF 排序搜索结果的质量。 首先,它在使用 BM25 或 RRF 评分的初始结果集的基础上添加了二次排名。 此二次排名使用改写自 Microsoft 必应的多语言深度学习模型来提升在语义上最相关的结果的排名。 其次,它会提取并返回响应中的描述和答案,你可以在搜索页面上呈现它们以改进用户的搜索体验。
|
prompt | 无特殊优化 |
知识存储 | 在物理上,知识存储是一个 Azure 存储,可以是 Azure 表存储和/或 Azure Blob 存储。 知识存储是 Azure AI 搜索中的技能组创建的 AI 扩充内容的辅助存储。 在 Azure AI 搜索中,索引编制作业始终将输出发送到搜索索引,但如果将技能集附加到索引器,还可以选择将 AI 扩充的输出发送到 Azure 存储中的容器或表。 知识存储可用于非搜索场景中的独立分析或下游处理,例如知识挖掘。 搜索索引和知识存储这两个索引编制输出是同一管道的互斥产品。 它们派生自相同的输入并包含相同的数据,但它们的内容会在不同的应用程序中结构化、存储和得到使用。
|
缓存扩充 | 增量扩充(预览)是指可在技能集执行期间重复使用的缓存扩充。 缓存在包括 OCR 和图像分析的技能组(处理成本很高)中尤其有用。 |