基于 InternLM 的 知识库

大模型开发范式

##LLM 的局限性:

知识时效性受限:如何让LLM能够获取最新的知识
专业能力有限:如何打造垂域大模型
定制化成本高:如何打造个人专属的LLM应用

两种开发范式比较:

在这里插入图片描述
此次课程主要针对: RAG检索增强生成
在这里插入图片描述

LangChain 简介

LangChain 框架是一个开源工具,通过为各种 LLM 提供通用接口来简化应用程序的开发流程,帮助开发者自由构建 LLM应用。LangChain 的核心组成模块如下:

链(Chains) :将组件组合实现端到端应用,通过一个对象封装实现一系列LLM 操作
Eg. 检索问答链,覆盖实现了 RAG (检索增强生成)的全部流程。也是此次课程中实践用到的。

基于LangChain搭建RAG应用流程如下图所示:

在这里插入图片描述

构建向量数据库

流程如下:

加载源文件→文档分块→文档向量化

确定源文件类型,针对不同类型源文件选用不同的加载器:核心在于将带格式文本转化为无格式字符串
由于单个文档往往超过模型上下文上限,我们需要对加载的文档进行切分:一般按字符串长度进行分割,也可以手动控制分割块的长度和重叠区间长度
使用向量数据库来支持语义检索,需要将文档向量化存入向量数据库:可以使用任一一种Embedding模型来进行向量化,也可以使用多种支持语义检索的向量数据库,一般使用轻量级的Chroma
搭建知识库助手

将InternLM接入LangChain

LangChain 支持自定义LLM,可以直接接入到框架中。只需将InternLM部署在本地,并封装一个自定义LLM
类,调用本地 InternLM 即可。

构建检索问答链

LangChain提供了检索问答链模版,可以自动实现知识检索、Prompt嵌入、LLM问答的全部流程。
将基于InternLM的自定义LLM和已构建的向量数据库接入到检索问答链的上游
调用检索问答链,即可实现知识库助手的核心功能
如下图所示:
在这里插入图片描述

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值