【茴香豆:搭建你的 RAG 智能助理——笔记】

本文介绍了RAG技术,包括其概念、工作原理、优化方法,以及茴香豆这个基于RAG的领域知识助手。茴香豆通过整合知识库、前端交互、LLM后端,提供即时通讯中的技术支持。文章还涵盖了RAG与微调的比较和评估框架等内容。
摘要由CSDN通过智能技术生成

详细视频:茴香豆:搭建你的 RAG 智能助理

一、RAG

1.1、RAG 技术概述

1.1.1、概念

RAG ( Retrieval Augmented Generation ) 是一种结合了检索 ( Retrieval ) 和生成( Generation ) 的技术,旨在通过利用外部知识库来增强大型语言模型( LLMs ) 的性能。它通过检索与用户输入相关的信息片段,并结合这些信息来生成更准确、更丰富的回答。

1.1.2、作用

通俗来说,可以将 RAG 理解成一个搜索引擎,将用户输入的内容作为索引,在外部知识库当中搜索寻相关的内容,结合大语言模型的能力生成回答。

RAG 最大的特点是能够解决LLMs在处理知识密集型任务时可能遇到的挑战。提供更准确的回答、降低成本、实现外部记忆。挑战包括:

  • 生成幻觉 ( hallucination )。例如,对于自己不知道的知识胡说八道,给出不相关的答案。
  • 过时知识。例如新闻、新技术这些知识的确实。
  • 缺乏透明和可追溯的推理过程。

RAG 技术可以应用于例如 问答系统、文本生成、信息检索、图片描述等方面。

1.2、RAG 工作原理

在这里插入图片描述

1.2.1、向量数据库 ( Vector-DB )

向量数据库是 RAG 技术当中专门存储外部数据的地方,主要有以下三个功能:

  • 数据存储。将文本及其他数据通过其他预训练的模型转换为固定长度的向量表示,这些向量能够捕捉文本的语义信息。
  • 相似性检索。根据用户的查询向量,使用向量数据库快速找出最相关的向量的过程通。常通过计算余弦相似度或其他相似性度量来完成。检索结果根据相似度得分进行排序,最相关的文档将被用于后续的文本生成。
    在这里插入图片描述- 向量表示的优化。包括使用更高级的文本编码技术如句子嵌入或段落嵌入,以及对数据库进行优化以支持大规模向量搜索。

1.3、RAG 流程示例

在这里插入图片描述
用户提出一个问题,如何评价OpenAI的CEO,Sam Altman,突然离职又火速回归的事件,如果给出的模型是在该事件出现之前就训练好的,那么他的回答就会像图片中一样表示不知道。实际上,这已经是一个不错的回答了,更多时候,会出现回答一些无关的数据。
在 RAG 技术当中,用户的问题会被输入进检索模块,然后检索模块会把这个问题向量化做一个embeddings,然后在已经存在的向量数据库当中去进行搜索,从中检索出相似性最高的一些片段,在这个实例中,检索出了三个和该事件有关的 chunk,然后将用户的问题和三个文本共同输给生成模块,生成模块会将这些问题和文本作为提示词来生成回答内容。
对于其他新型知识,只需要不断更新向量数据库,而不需要再重新微调模型,就可以同样让模型生成不错的回答。

1.4、RAG 发展历程

RAG 从提出到现在不过四年的时间,已经出现了三种范式,分别是 Navie RAG、Advanced RAG 和 Modular RAG。
在这里插入图片描述

  • Naive RAG。只有索引、检索、生成三个部分构成的最基础的范式。这种范式通常会被应用在最简单的 问答系统信息检索 场景。
  • Advanced RAG。在三个基础部分之外,对检索前后都进行了增强。在检索之前对用户的问题进行路由扩展、重写等处理,对于检索到的信息进行重排序、总结、融合等处理,是信息收集和处理效率更高。使得 RAG 可以应用在 摘要生成内容推荐 等领域。
  • Modular RAG。将 RAG 的基础部分和后续各种优化技术和功能模块化,可以根据实际业务需求定制,完成如 多模态任务对话系统 等更高级的应用。

1.5、RAG 常见优化方法

1.5.1、向量数据库优化

  • 嵌入优化。可以考虑通过结合稀疏编码器、密集检索器以及多任务的方式来增强嵌入的性能。
  • 索引优化。可以通过增加索引力度、优化索引结构、添加元数据、混合检索等策略优化。

1.5.2、查询过程优化

可以通过查询扩展、转换来使用户的原始问题更清晰,更适合检索任务。例如采用多查询方法,通过大模型生成的提示工程来扩展查询。

1.5.3、上下文管理

通过 重排上下文选择、压缩 来减少检索的冗余信息并提高大模型的处理效率。例如可以使用小一点的语言模型来检索和移除不重要的标记,或者训练信息提取器信息压缩器

1.5.4、检索优化

  • 迭代检索。在 RAG 过程中根据检索结果多次迭代检索知识,为大模型生成提供全面的知识基础。
  • 递归检索。通过迭代细化查询来改进搜索结果的深度和相关性。使用了链式推理指导检索过程,并根据检索结果细化推理过程。
  • 自适应检索。用 Flare、Self-RAG 等等,让大模型能够自主的决定它所要检索的内容、最佳时机等因素、

1.5.5、LLM 微调

  • 检索微调。可以根据场景和数据特征对大模型进行定向微调。
  • 生成微调。根据大模型对于检索或生成的参与进行有针对性的微调。
  • 双重微调

1.6、RAG vs 微调

在这里插入图片描述

1.7、LLM 模型优化方法比较

在这里插入图片描述

1.8、评估框架和基准测试

在这里插入图片描述

二、茴香豆

2.1、概念

茴香豆是一个基于 LLMs 的领域知识助手,由书生浦语团队开发的开源大模型应用。

  • 专为即时通讯 ( IM ) 工具中的群聊场景优化的工作流,提供及时准确的技术支持和自动化问答服务。
  • 通过应用检索增强生成 ( RAG ) 技术,茴香豆能够理解和高效准确的回应与特定知识领域相关的复杂查询。

2.2、应用场景与难点

在这里插入图片描述

2.3、核心特性

在这里插入图片描述

2.4、茴香豆助手构建

2.4.1、知识库

通常是企业内部或者个人所在领域的专业技术文档等会实时更新的数据。目前茴香豆支持 MarkDown、Word、PDF、PPt、TXT等常用文件格式。
为了应对真实场景,茴香豆也可以通过设置 接受问题拒答问题 的示例来控制助手的回答范围。

2.4.2、前端

问答助手读取用户提问和回答的平台。国内一般采用微信、飞书,国外一般采用 Discord 等。

2.4.3、LLM 后端

目前茴香豆支持本地调用大模型或者调用远端大模型的api。本地大模型目前支持包括 书生·浦语通义千问 的模型格式。远端模型打通了 KimiChatGPTChatGLMDeepseek 的 API,同时也支持 xi-api 这类大模型API集成工具的调用。
在这里插入图片描述

2.4.4、茴香豆

将前三个部分整合起来,打通了工作流,形成了一个智能领域的知识问答助手。

2.5、茴香豆工作流

在这里插入图片描述
茴香豆的完整工作流如下:
在这里插入图片描述

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值