一些RAG相关的八股知识

nlp_gte_sentence-embedding_chinese-large

GTE (General Text Embeddings) 是阿里达摩院推出的通用文本向量模型,专门针对中文场景优化,可将文本转换为高质量的向量表示。

  • 基础流程

  • RAG检索中,信息分块(Chunk)的目的是什么?

    • 主要目的其实就是为了减少Embedding内容的噪音。
    • 克服上下文窗口限制:目前所有的LLM都有自己能处理的上下文上限,分块确保了输入给LLM的信息都在接受范围内
    • 提高检索精度与效率
      • 精度:大块内容中无关信息多,会稀释相关信号,干扰相似度判断。小而美、语义集中的块更容易实现精确匹配。
      • 效率:对大量小块文本进行向量化和索引构建向量数据库,其检索速度通常远快于在整个原始文档集合中进行全文搜索。
  • 在构建RAG系统的时候,对检索信息直接简单的切块会有什么影响?

    • 重要的信息恰好散落在多个分块的边缘,导致检索时要么只捞起片段,要么干脆被忽略,如同大海捞针。
    • 一个完整的逻辑链条、一段重要的代码示例,或者一个关键的定义,被无情地从中间切开。检索到的单个分块信息残缺,LLM 如同读到半句话,自然难以给出完整准确的答案。
    • 分块过大,包含太多噪音,降低了匹配精度;分块过小,语义信息不足,同样影响检索效果。
  • 切块的方式有哪些?如何确定最佳块大小?

    • 先说几种场景的Chunk分块粒度
      • 微博:少字符,适合较小的Chunk粒度。
      • 知乎/小红书:中小量字符数,适合中等Chunk粒度。
      • 博客:超多字符,适合较大的Chunk粒度。
      • 专业性较强、专有名词较多的文章:需要较小的Chunk粒度以保留专业信息。
      • 综述类信息总结文章:适合较大的Chunk粒度以保留整体信息。
    • 如何确定最佳分块大小?

      • 确定最佳分块大小通过需要A/B测试。比较不同块大小的性能。通过微软公司的实验分析表明,较小的块有助于提高模型性能。

      • 其中在overlap的选择上 (将相邻的块连接在一起,为块提供更好的上下文信息)

  • 如何选择Embedding模型?

    • 中文
      • ​模型名称​简介与特点
        ​BGE (BAAI)北京智源开源的检索模型,支持中文和英文,性能与速度兼顾。​
        E5系列​多语言嵌入模型,广泛支持中英文句子匹配
        ​GTE系列百度提出的模型,适合中文问答和文档检索​
        ​text2vec系列Huggingface的中文向量模型,易用性高​
    • 英文

  • 向量数据库是什么?

    • 在RAG中,文档被切分成多个片段,转化为嵌入向量后,需要一个专业的仓库来高效存储和管理这些向量,这就是向量数据库。
    • 与传统数据库(MySQL)的区别:
      • 传统数据库虽然擅长处理结构化数据,但他们并不擅长处理 “向量之间的相似度查询”
        你可以在SQL中查找 “ 年龄大于30岁的人” , 但很难写出一句SQL语句找出 “语义与年龄相似的段落”

      • 向量数据库专门设计来处理高维向量的相似度搜索,支持高效的Top-K相似查找、ANN(近似最近邻)检索、向量聚类等操作。
    • 目前一些主流的向量数据库

    • 其次向量数据库不只是将向量扔进去,还支持添加一些 metadata (元数据

  • Rerank(重排)的方式

    • 传统方式:
      • BM25算法:一种广泛应用于信息检索中的概率模型,计算查询与文档之间的相关性。优势在于动态排序能力和对长查询的良好支持。但存在语义理解的局限性。
      • TF-IDF算法:主要用于衡量一个词对文档的重要性,通过计算词频(TF)和逆文档频率(IDF),将文档表示为向量,并利用余弦相似度等方法进行排序。说白了就是这个词在 少数文档 并且 多次出现 的时候才重要。
    • 现在主流的Rerank模型:
      • Cohere (API调用)
      • 智源的 bge-reranker-base 和 bge-reranker-large (本地部署) (300mb 和 600mb)
      • 大模型重排(提示方式)

您可能感兴趣的与本文相关的镜像

nlp_gte_sentence-embedding_chinese-large

nlp_gte_sentence-embedding_chinese-large

文本生成
特征提取
模型微调

GTE (General Text Embeddings) 是阿里达摩院推出的通用文本向量模型,专门针对中文场景优化,可将文本转换为高质量的向量表示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值