Generated with sparks and insights from 52 sources

img6

img7

img8

img9

img10

img11

Introduction

  • 评估性能: 通过准确性和准确率等指标进行性能评估。

  • 优化策略: 包括数据清洗、分块处理、嵌入模型选择、元数据标注、多级索引、查询转换、检索参数调整、重排模型和提示词优化等。

  • RAG流程: 包括知识文档准备、嵌入模型、向量数据库、查询检索和生成回答五个基本流程。

  • 数据清洗: 规范文本格式,去除特殊字符和不相关信息,消除实体和术语的歧义。

  • 嵌入模型: 选择适合的嵌入模型,如BERT和GPT系列,确保系统回答的准确性和相关性。

  • 向量数据库: 存储和检索向量数据,优化处理和存储大规模向量数据的效率。

  • 查询转换: 通过重新表述问题、假设文档嵌入、退后提示和多查询检索等方法提升召回效果。

  • 重排模型: 对初始检索结果进行更深入的相关性评估和排序,确保最终展示给用户的结果更加符合其查询意图。

RAG流程 [1]

  • 知识文档准备: 使用专门的文档加载器或多模态模型将知识源转换为纯文本数据。

  • 嵌入模型: 将文本转换为向量形式,捕捉句子的上下文关系和核心含义。

  • 向量数据库: 存储和检索向量数据,优化处理和存储大规模向量数据的效率。

  • 查询检索: 用户的问题被输入到嵌入模型中进行向量化处理,然后在向量数据库中搜索。

  • 生成回答: 将用户提问和检索到的信息结合,构建提示模版,输入到大语言模型中生成答案。

img6

img7

img8

img9

img10

img11

数据清洗 [1]

  • 基本文本清理: 规范文本格式,去除特殊字符和不相关信息。

  • 实体解析: 消除实体和术语的歧义,实现一致的引用。

  • 文档划分: 合理划分不同主题的文档,确保信息检索的准确性。

  • 数据增强: 使用同义词、释义和翻译增加语料库的多样性。

  • 用户反馈循环: 基于用户反馈不断更新数据库,标记其真实性。

img6

img7

img8

嵌入模型 [1]

  • 选择适合的嵌入模型: 如BERT和GPT系列,确保系统回答的准确性和相关性。

  • 动态词义理解: 根据上下文动态调整词义,捕捉更深层次的语义关系。

  • 嵌入模型排行榜: 参考Hugging Face推出的嵌入模型排行榜MTEB。

  • 避免微调: 微调嵌入模型对训练数据质量要求高,且需要较多资源。

  • 连接用户查询和知识库: 确保系统回答的准确性和相关性。

img6

img7

img8

img9

img10

img11

向量数据库 [1]

  • 存储和检索向量数据: 优化处理和存储大规模向量数据的效率。

  • 高效检索: 通过嵌入模型生成的向量存储在向量数据库中。

  • 元数据标注: 提高检索效率,帮助筛选和排序搜索结果。

  • 多级索引: 根据查询的性质和上下文,选择最合适的索引进行数据检索。

  • 查询转换: 通过重新表述问题、假设文档嵌入等方法提升召回效果。

img6

img7

img8

img9

img10

img11

查询转换 [1]

  • 重新表述问题: 利用LLM重新表述问题,提升召回效果。

  • 假设文档嵌入: 先生成假设性回复,再用于向量检索。

  • 退后提示: 生成抽象层次更高的问题,与原始问题一起用于检索。

  • 多查询检索: 使用LLM生成多个搜索查询,适用于依赖多个子问题的情况。

  • 结合历史对话: 将历史信息和用户提问一并交给LLM重新表述。

img6

img7

img8

img9

img10

img11

重排模型 [1]

  • 相关性评估: 对初始检索结果进行更深入的相关性评估和排序。

  • 深度学习模型: 使用深度学习模型如Cohere模型进行重排。

  • 考虑更多特征: 查询意图、词汇多重语义、用户历史行为和上下文信息等。

  • 提升检索结果: 确保最终展示给用户的结果更加符合其查询意图。

  • 提高系统性能: 使用RAG构建系统时应考虑尝试重排方法。

img6

img7

img8

img9

img10

img11

<br><br>