InternLM大模型实战-3.InternLM+Langchain搭建知识库

文章目录

  • 前言
  • 笔记正文
    • 大模型开发范式
      • RAG
      • Finetune
    • LangChain简介
    • 构建向量数据库
    • 搭建知识库助手
      • 1 InternLM+Langchain
      • 2 构建检索问答链
      • 3 优化建议
    • Web Demo 部署
    • 搭建知识库

前言

本文是对于InternLM全链路开源体系系列课程的学习笔记。【基于 InternLM 和 LangChain 搭建你的知识库】 https://www.bilibili.com/video/BV1sT4y1p71V/?share_source=copy_web&vd_source=99d9a9488d6d14ace3c7925a3e19793e

笔记正文

大模型开发范式

LLM的局限:知识的时效性(最新知识)、专业能力有限(垂直领域)、定制化成本高(个人专属)

两种开发范式用于解决这种局限性

RAG

检索增强生成。
低成本、可实时更新、受基座模型影响大、单次回答知识有限
InternLM大模型实战-3.InternLM+Langchain搭建知识库_第1张图片

Finetune

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

LangChain简介

LangChain是一个开源工具,通过为各种LLM提供通用接口来简化应用程序的开发流程,帮助开发者自由构建LLM应用。其核心组成模块是Chains,可以见各种组建组合实现应用。
InternLM大模型实战-3.InternLM+Langchain搭建知识库_第2张图片

构建向量数据库

加载个人数据
加载源文件 -> 文档分块 -> 文档向量化

  • 确定源文件的类型,针对不同类型的源文件选用不同的加载器
  • 单个文档超出模型上下文的上限,所以需要切分
  • 使用向量数据库来支持语义检索,需要将文档向量化存入向量数据库

虽然源文件可以是各种格式的,但是存入向量数据库之后都会成为纯的以向量形式存储的字符串

搭建知识库助手

1 InternLM+Langchain

可以全部采用本地部署本地加载的形式,Langchain有提供自定义大模型的部署方式,将InternLM的接口封装为符合Langchain的LLM的一个类。

2 构建检索问答链

Langchain提供了检索问答链模板,可以自动实现只是检索、Prompt嵌入、LLM问答的全流程。
也就是说,只需要自己来进行模型的部署和向量知识库的创建。

3 优化建议

InternLM大模型实战-3.InternLM+Langchain搭建知识库_第3张图片

Web Demo 部署

建议web demo部署的有gradio和streamlit.

搭建知识库

见第三次作业博客中。

你可能感兴趣的:(InternLM大模型实战,langchain,语言模型,人工智能)