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

基于 InternLM 和 LangChain 搭建你的知识库

教程文档


目录

作业

基础作业:

进阶作业:

笔记

RAG(检索增强生成)

Finetune(微调)

    过程:加载源文件--文档分块--文档向量化

将 InternLM 接入 LangChain

 RAG 方案的优化


作业

基础作业

复现课程知识库助手搭建过程 (截图)

进阶作业

选择一个垂直领域,收集该领域的专业资料构建专业知识库,并搭建专业问答助手,并在 OpenXLab 上成功部署(截图,并提供应用地址)

采用了开源的法律文库(just-laws),加入了向量数据库索引,提问法律问题效果如下:

注:因为账号在 OpenXLab 没有 GPU 资源配额,所以在 InternStudio 部署,并使用 SSH 转发到本地打开。

 

笔记

RAG(检索增强生成)

  - 低成本
  - 可实时更新
  - 受基座模型影响大
  - 单次回答知识有限

RAG流程(图片截取自视频)

Finetune(微调)

  - 可个性化微调
  - 知识覆盖面广
  - 成本高昂
  - 无法实时更新

    
过程:加载源文件--文档分块--文档向量化

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

将 InternLM 接入 LangChain

- LangChain 支持自定义 LLM,可以直接接入到框架中
- 可以将 InternLM 部署在本地,并封装一个自定义 LLM 类,调用本地 InternLM 即可
- LangChain 提供了检索问答链模板,可以自动实现知识检索、Prompt 嵌入、LLM 问答的全部流程

基于 LangChain 搭建 RAG 应用(图片截取自视频)

 RAG 方案的优化

- 基于 RAG 问答系统的性能受限于:
  - 检索精度
  - Prompt 性能
- 优化方向:
  - 基于语义进行分割,保证每一个 chunk 的语义完整
  - 给每一个 chunk 生成概括性索引,检索时匹配索引
  - 迭代优化 Prompt 策略


参考文档:

LangChain Chat with Your Data

动手学大模型应用开发

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值