[笔记][大模型学习]01-RAG搭建流程和文本向量

91 阅读1分钟

RAG & Embeddings & Vector Store

什么是检索增强的生成模型(RAG)

大模型目前固有的局限性

  • LLM的知识不是实时的
  • LLM可能不知道你私有的领域/业务知识

检索增强生成

通过检索的方法来增强生成模型的能力

RAG系统的基本搭建流程

搭建过程:

  • 文档加载,并按一定条件切割成片段
  • 将切割的文本片段灌入检索引擎
  • 封装检索接口
  • 构建调用流程:Query -> 检索 -> Prompt -> LLM -> 回复

文档的加载与切割

向量检索

什么是向量

  • 文本向量(Text Embeddings)
    • 将文本转成一组N维浮点数。即文本向量又叫Embeddings
    • 向量之间可以计算距离,距离远近对应语义相似度大小
  • 文本向量是怎么得到的
    • 构建相关与不相关的句子对样本
    • 训练双塔式模型,让正例间的距离小,负例间的距离大

扩展阅读:文本翻译推荐的网站 sbert.net/ 嵌入模型,文本生成这块非常好使

向量间相似度计算

  • 欧氏距离
  • 余弦距离

嵌入模型的选择

  • 标准: 找需求相关的语料库来进行文本向量转换测试,进行评估

text-embedding-ada-002: 全球比较先进的模型,尤其是跨语言的支持。 这个是比较好嵌入向量模型,OpenAI用这个。langchain,llamaindex默认用这个。

大多数场景下,开源的嵌入模型使用都很一般,要提升召回率,建议对模型进行微调。