书生·浦语大模型实战营03课堂笔记

目录

一、大模型开发范式简介

1.传统LLM的局限性

2.大模型开发的两种范式简介

3.RAG开发范式简介

二、LangChain简介

1.概述

2.核心组成模块

3.基于LangChain搭建RAG应用的流程图

三、构建向量数据库

1.加载源文件

2.文档分块

3.文档向量化

四、搭建知识库助手

1.基于InternLM搭建知识库助手

2.构建检索问答链

3.RAG方案优化建议

4.流程示意图

五、Web Demo部署

六、动手实战环节


一、大模型开发范式简介

1.传统LLM的局限性

①传统LLM的知识时效性收限制,文本库不能实时更新,因此如何让LLM获取最新知识是重中之重;

②传统LLM文本信息仅限用于通用环境中,针对特殊领域例如医疗、汽车等无法提供准确答复;

③传统LLM的定制化成本极高,需要配置专用预料库。

2.大模型开发的两种范式简介

分为RAG(检索增强生成)和Finetune(微调)。

其中RAG的核心思想是:给大模型外挂知识库,对于用户的提问,首先从知识库中匹配提问对应相关的文档,将文档和提问一起提交给大模型来生成回答,提升大模型的知识储备。

依托RAG核心,其优点是①成本低,②可实时更新,③不需要重新训练,不需要GPU算力,对于新知识,只需组织加入到外挂知识库中即可。其缺点为:①受基座模型影响大,②每次应用需要将检索到的相关文档和用户提问,一起交给大模型,占用了大量的核心上下文,单次回答知识有限。

Finetune的核心思想为:在一个新的较小的训练集上进行轻量级的训练微调,从而提升模型在这个新数据集上的能力。

Finetune的优点包括:①可个性化微调,②知识覆盖面广。其缺点为:①成本昂贵,需要自行训练,②无法实时更新

3.RAG开发范式简介

简介详见下图:

二、LangChain简介

1.概述

LangChain框架是一个开源工具,通过为各种LLM提供通用接口来简化应用程序的开发流程,帮助开发者自由构建LLM应用

2.核心组成模块

Chain(链):将组件组合实现端到端应用,通过一个对象封装实现一系列的LLM操作

Eg:检索问答链,通过将大模型、向量数据库等多个组件组合在一起,覆盖实现了RAG(检索增强生成)的全部流程

3.基于LangChain搭建RAG应用的流程图

三、构建向量数据库

1.加载源文件

①确定元文件类型,针对不同类型源文件选用不同的加载器;

②核心在于将格式文本转化为无格式字符串。

2.文档分块

①由于大文档往往超过模型上下文上线,需要对加载的文档进行拆分;

②一般按字符串长度进行分割;

③可以手动控制分割快的长度和重叠区间长度,提升向量数据库的检索效果。

3.文档向量化

①使用向量数据库来支持语义检索,需要将文档向量化并存入向量数据库;

②可以使用任一一种Embedding模型来向量化 (sentence transformer);

③可以使用多种支持语义检索的向量数据库,一般使用轻量级的Chroma

四、搭建知识库助手

1.基于InternLM搭建知识库助手

①LangChain支持自定义LLM,可以直接接入到框架中;

②可以将InternLM部署到本地,将其封装一个LangChain的LLM类,调用本地的InternLM即可;

2.构建检索问答链

①LangChain提供了检索问答链模板,可以自动实现知识检索、Prompt嵌入、LLM问答的全流程;

②基于InternLM的自定义LLM个已构建的向量库接入到检索问答链的上游;

③调用检索问答链,即可实现知识库助手的核心功能

3.RAG方案优化建议

①依据RAG的问答系统性能核心受限于检索精度及Prompt性能;

②在检索方面或者Prompt方面进行优化

4.流程示意图

五、Web Demo部署

可以应用gradio或者Streamlit进行部署。

六、动手实战环节

详细请见书生·浦语大模型实战营03课后作业-CSDN博客

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值