Advertisement

企业级LLM与RAG实战技术综合应用

阅读量:

随着大语言模型(LLM)在自然语言处理领域得到广泛应用的过程中,许多问题也随之暴露出来.为此类特定问题的不足之处提供解决方案的技术

  1. 生成虚假信息 :LLM偶尔会产生看似合理的错误答案。
  2. 知识应用受限 :模型仅基于训练期间积累的数据,并无法应对最新的数据或超出训练数据的内容。

为了解决这些问题的缺陷,“RAG(检索增强生成)技术应运而生”。借助外部数据源来辅助生成文本,“RAG将检索与生成两种技术相结合”,从而从外部知识库提取信息,并提升模型在生成文本方面的性能。

RAG 的工作流程

RAG的工作过程大致可以分为以下几个阶段:

从基础的数据收集开始→经过系统的处理与转换→完成多级划分→转化为数值形式→存储到专门的向量数据库→通过强化输入质量→高效提取关键信息→重新组织结构→生成高质量的内容→最后进行全面的结果分析

通过实施这些阶段的优化工作来增强RAG的准确率是一个关键策略。接下来我们将对各个阶段进行详细分析:

1. 数据收集阶段

从多种文件类型如PDF、Word和Markdown中提取文本内容,并将其转换为统一的纯文本格式以便存储与管理

2. 数据规整

对文档进行清理和优化,以整理出高质量的内容,包括:

  • 文件命名规范 :遵循词语或短语命名原则来设置文件名,并确保其与内容相关联;避免使用无意义的数字、符号或缩写等特殊字符。
  • 文件内容规整 :通过将图片替换为相应的文字描述、删除多余格式字符以及合并段落(人工按语义整合、自动按长度划分)的方式优化文档内容。
  • 去除无价值文档

3. 数据分片

能够依据页码指标、固定长度标准以及指定的分隔符来划分数据集。要求每个数据片段必须同时标注其所属来源文档及其所属章节,并在其中进行摘要注释处理,便于后续分析使用。

注意 :文本块重叠并没有太大效果,可根据实际情况灵活应用。

4. 数据向量化

在数据处理过程中实现有效向量化的步骤是不可或缺的关键环节,在实际应用中需要特别注意这一环节的质量保障措施。为了保证系统的整体效能,在设计阶段就需要对嵌入模型的选择与应用给予充分重视,并在此基础上制定相应的优化策略以达到最佳效果。

  • 北京智源人工智能研究院开发的FlagEmbedding 涵盖一系列模型。
  • 网易有道推出的bcembedding 专注于增强生成式应用(RAG)的能力。
  • 哈工大讯飞联合实验室开发的macBERT 提升了中文文本处理的效果。
  • 其他模型包括可以在Hugging Face平台选择排名靠前的中文embedding模型,并根据需求进行微调或训练。

数据动态变化时,可每月进行一次微调和评估。

5. 数据存储

向量数据被写入到 Milvus 向量数据库中;与此同时, 我们还将在 Elasticsearch(ES)系统中存储经过规范处理的文档内容。为了解决中文检索精度的问题, 我们计划安装一套专业的中文分词工具 IK, 并创建一份禁用分词列表来辅助处理。另外一种选择是使用 Chroma 技术来实现文档问答功能。

6. 输入增强

  • 查询转换 :通过Query2doc和HyDE构建伪文档集合,并通过其向量表示实现精准检索以提高搜索准确率。
    • 数据增强 :对原始查询进行优化处理以消除歧义性问题,并进一步提升用户提出高质量问题的能力。

7. 数据检索

数据检索分为两种:

  • 稀疏型搜索引擎(基于BM25算法):通过粗粒度的检索机制实现对大规模数据集的有效索引。
    • 密集型搜索引擎:利用现有的预训练语言模型(如BERT)对输入查询语句进行语义分析,并将其映射为空间中的向量表示;随后通过计算目标向量与候选文档向量之间的余弦相似度值来确定最优匹配结果。

8. 数据重排

利用双路数据进行重排:

  1. 向量库搜索:将用户的查询转化为向量形式后执行检索操作,在结果中筛选出排名靠前的候选项(通常为前五名)。对于排在前三名的结果项(即前三名候选),系统会提取紧邻上下文段落进行内容整合,并将整合后的信息作为最终输出结果提供给调用方(此处指后续处理模块)。这种处理方式旨在提升高权重候选项的质量和相关性。
  2. ES搜索:借助IK分词器完成查询任务后,在系统中生成初步结果集合(通常包含前五条记录)。随后将来自不同来源的信息进行整合,并生成包含十项内容的综合列表。在整合过程中系统会根据模型中的文本长度与内容维度参数来决定最终输出的具体数量,并采取措施防止过长的情况发生。

若文本过长,可进行信息压缩和摘要处理。

9. 文本生成

为用户收集问题,并将重排后的结果发送至大模型中进行处理。请参考OpenAI官方提供的提示语技巧,并根据需要调整温度等参数设置。

10. 结果集评估

在评估过程中, 可以方便地从知识库中初步筛选出10个具有代表性的典型问题, 用于构建测试集, 并对检索与排序后的结果进行评分. 采用基于检索增强的评估框架(RAGAS)来进行性能评价, 并重点关注相关指标.

  • 忠实度:答案与上下文的高度一致。
    • 答案的相关性:生成的答案高度针对性地针对实际问题。
    • 上下文的相关性:检索到的信息高度专注于问题并尽量排除无关内容。

RAG 的前沿研究

第一篇关于RAG的研究论文来自Meta,在2020年首次提出后不久即引发广泛关注与讨论,并促使后续诸多机构开始跟进相关研究工作

  • Self-RAG(华盛顿大学):基于自我反思机制的文档检索筛选系统。该系统通过自主判断机制确定是否执行文档检索,并对筛选出的内容进行精确标记与分类评价。
  • 谷歌研究团队提出的"桥接模型"技术,在现有大语言模型架构中构建了特定连接器技术,在传统文本处理能力基础上实现了信息关联处理能力的显著提升。
  • 东北大学研究团队开发了"Active-RAG"系统,在传统RAG框架上采用主动学习策略实现相关知识内容的主动学习与更新。
  • 中国科学技术大学创新团队提出了一种"插拔式自修正"技术体系,在现有信息处理流程中集成了一种轻量化评估机制,并实现了对原始信息提取结果的实时校正和优化。

全部评论 (0)

还没有任何评论哟~