应用篇| 深入浅出LLM应用之RAG

相信很多人都使用过LLM大模型,但是现有大模型或多或少都有以下问题:

我们知道虽然大模型现在能力很强,但是本质就是在做文字接龙,而且每次接龙都具有随机性, 导致模型有时候回答, 很容易出现“幻觉”。Meta AI 的研究人员引入了一种叫做检索增强生成(Retrieval Augmented Generation,RAG)的方法来完成这类知识密集型的任务。RAG 把一个信息检索组件和文本生成模型结合在一起 , 作为解决大模型幻觉的一种利器。

数据保鲜度:除此之外, 现在大模型使用离线数据训练出来,对于新的知识0感知, 导致模型直接回答数据过时、不准等问题。

数据安全性:最后也是最重要的是,数据作为很多企业的重要资产,是不能直接上传到互联网上的大模型, 这样会导致不可预测的后果,既要保证安全,又要借助AI能力,那么最好的方式就是把数据全部放在本地,企业数据的业务计算全部在本地完成。而在线的大模型仅仅完成一个归纳的功能,甚至,LLM都可以完全本地化部署。

出于以上三种主要原因, 使得LLM+RAG有用武之地。

01初识RAG架构

RAG基本思路是将背景知识文档预先向量化,存储至向量数据库中,当用户进行提问时,将用户的提问同样向量化后, 通过向量检索算法(比如向量乘积)之后, 得到top-K的文档, 将获取的top-k文档和用户提问都作为大模型输入, 大模型根据输入最终生成回答.这样 RAG 更加适应事实会随时间变化的情况,因为 LLM 的参数化知识是静态的。RAG 让语言模型不用重新训练就能够获取最新的信息,基于检索生成产生可靠的输出。

image.png

可以将RAG的架构拆分成以下部分:

  • (1)数据提取: 我们现实生活的场景中大部分是word、pdf、pptx等各种各样的文档数据, 需要各种数据Loader,将数据抽取出来, 分别进行数据清洗

  • (2) 数据分块: 现在所有大模型都有token长度的限制, 包括数据库也有长度限制, 而我们文档数据长度大部分都超过这些限制, 所以我们必须对文档数据进行分块

  • (3) 向量化: 将文本、图像、音频和视频等转化为向量矩阵的过程,也就是变成计算机可以理解的格式,embedding模型的好坏会直接影响到后面检索的质量, 相比传统的关键词匹配更具有理解性,对近义词检索更友好.

  • (4)检索环节: 现在一般检索技术采用的是向量相似度计算, 这个跟第三步我们将文档数据向量化之后存储到向量数据库中。检索效果有时候不佳,此时采用一些重排技术。

  • (5)生成:检索结果排序后丢给LLM进行归纳,根据 LLM 的推理能力,返回给用户。

02 现有RAG成熟产品

RAG有各种开源的RAG工具,成品的RAG像Langchain-chatchat、ragflow、qanything等。不同开源的RAG架构有细微的差别,大体框架如第一章节所介绍的。

名称

地址

说明

Langchain-chatchat

https://github.com/chatchat-space/Langchain-Chatchat/tree/master

当前Star 29K

ragflow

https://github.com/infiniflow/ragflow/tree/main

当前Star 9.3k

Qanything

https://github.com/netease-youdao/QAnything/tree/master

当前Star  10.2k

.......

........

......

03 RAG评估

如此之多RAG工具,到底该怎么选?有什么更加量化指标能够评判rag的优劣。大部分RAG评估框架基于答案的相关性、上下文精确度、上下文相关性等上。主要RAG评估框架有以下几种:

名称

地址

说明

Ragas

https://github.com/explodinggradients/ragas 

Ragas是一个用于评估RAG应用的框架,包括忠诚度(Faithfulness)、答案相关度(Answer Relevance)、上下文精确度(Context Precision)、上下文相关度(Context Relevancy)、上下文召回(Context Recall), 其中从上下文相关性和上下文召回来衡量检索的质量,忠诚度和答案相关度来衡量LLM生成的质量。

TruLens

https://github.com/truera/trulens

TruLens 提供了一套用于开发和监控神经网络的工具,包括大型语言模型。这包括使用 TruLens-Eval 评估基于 LLMs 和 LLM 的应用程序的工具以及使用 TruLens-Explain 进行深度学习可解释性的工具。TruLens-Eval 和 TruLens-Explain 位于单独的软件包中,可以独立使用, 同时可以和Langchain无缝集成。一个RAG 三元组评估模式 — 分别是对问题的检索内容相关性、答案的基于性(即大语言模型的答案在多大程度上得到了提供的上下文的支持)和答案对问题的相关性。

uptrain

https://github.com/uptrain-ai/uptrain

用于评估和改进生成式人工智能应用的开源统一平台。提供了20多项预配置检查(涵盖语言、代码、嵌入用例)评分,对失败案例进行根本原因分析,并就如何解决这些问题提出见解。比如prompt注入、越狱检测、整通对话的用户满意度等

LangSmith

https://smith.langchain.com/

LangSmith是一个用于调试、测试和监控LLM应用程序的统一平台。会记录大模型发起的所有请求,除了输入输出,还能看到具体的所有细节,包括:

  1. 请求的大模型、模型名、模型参数

  2. 请求的时间、消耗的 token 数量

  3. 请求中的所有上下文消息,包括系统消息

Langfuse

https://github.com/langfuse/langfuse

Langfuse作为LangSmith的平替,可以帮助开发者和运维团队更好地理解和优化他们的LLM应用。通过提供实时的和可视化的跟踪功能,LangFuse使得识别和解决应用性能问题变得更加简单和高效。实现LLM可观测的功能。

.......

.......

.......

有了量化评估工具,我们结合具体指标优化RAG的效果。不再停留拍脑袋的优化环节,帮助大家选择合适的RAG产品、RAG中的LLM模型、向量化模型等选型。

04 总结

虽然RAG能够快速解决LLM幻觉、新鲜度、以及数据安全性问题,但是RAG也有它的局限性,比如

(1) 向量数据库是一个尚未成熟的技术,缺乏处理大量数据规模的通用方案,因此数据量较大时,速度和性能存在挑战。

(2)在推理时需要对用户输入进行预处理和向量化等操作,增加了推理的时间和计算成本。

(3)外部知识库的更新和同步,需要投入大量的人力、物力和时间。

(4) 需要额外的检索组件,增加了架构的复杂度和维护成本。

(5)并不是精确问题,有些领域需要检索出来精确的数据,知识检索阶段依赖相似度检索技术,并不是精确检索,因此有可能出现检索到的文档与问题不太相关。同时每次检索出来给LLM,每次返回给用户并不是一样,会导致用户查询体验问题。

(6)关于查全问题,有些领域需要知识查询要求尽量全 ,RAG本质还是一种信息检索系统,无法做到全部查全。

总体来说RAG作为LLM前景广阔工业化应用,还是值得大家在私域上面进行部署和使用。随着相关RAG研究发展, 会使得RAG大有可为。

a1q7lEaSQh5nVoqyDeiaUUdoZ0ib71twL6CLICmOMJ25UuTFwl6ydwOXFbl8uiaYMAQ/640?wx_fmt=gif)

如何系统的去学习大模型LLM ?

作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料 包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

在这里插入图片描述

四、AI大模型商业化落地方案

img

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。
  • 内容
    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
  • 内容
    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.2.1 什么是Prompt
    • L2.2.2 Prompt框架应用现状
    • L2.2.3 基于GPTAS的Prompt框架
    • L2.2.4 Prompt框架与Thought
    • L2.2.5 Prompt框架与提示词
    • L2.3 流水线工程
    • L2.3.1 流水线工程的概念
    • L2.3.2 流水线工程的优点
    • L2.3.3 流水线工程的应用
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
  • 内容
    • L3.1 Agent模型框架
    • L3.1.1 Agent模型框架的设计理念
    • L3.1.2 Agent模型框架的核心组件
    • L3.1.3 Agent模型框架的实现细节
    • L3.2 MetaGPT
    • L3.2.1 MetaGPT的基本概念
    • L3.2.2 MetaGPT的工作原理
    • L3.2.3 MetaGPT的应用场景
    • L3.3 ChatGLM
    • L3.3.1 ChatGLM的特点
    • L3.3.2 ChatGLM的开发环境
    • L3.3.3 ChatGLM的使用示例
    • L3.4 LLAMA
    • L3.4.1 LLAMA的特点
    • L3.4.2 LLAMA的开发环境
    • L3.4.3 LLAMA的使用示例
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
  • 内容
    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

学习计划:

  • 阶段1:1-2个月,建立AI大模型的基础知识体系。
  • 阶段2:2-3个月,专注于API应用开发能力的提升。
  • 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
  • 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

  • 23
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值