文章目录
- 前言
- 笔记正文
- 大模型开发范式
- 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
检索增强生成。
低成本、可实时更新、受基座模型影响大、单次回答知识有限
Finetune
微调。
可个性化微调、知识覆盖面广、成本高昂、无法实时更新
LangChain简介
LangChain是一个开源工具,通过为各种LLM提供通用接口来简化应用程序的开发流程,帮助开发者自由构建LLM应用。其核心组成模块是Chains,可以见各种组建组合实现应用。
构建向量数据库
加载个人数据
加载源文件 -> 文档分块 -> 文档向量化
- 确定源文件的类型,针对不同类型的源文件选用不同的加载器
- 单个文档超出模型上下文的上限,所以需要切分
- 使用向量数据库来支持语义检索,需要将文档向量化存入向量数据库
虽然源文件可以是各种格式的,但是存入向量数据库之后都会成为纯的以向量形式存储的字符串
搭建知识库助手
1 InternLM+Langchain
可以全部采用本地部署本地加载的形式,Langchain有提供自定义大模型的部署方式,将InternLM的接口封装为符合Langchain的LLM的一个类。
2 构建检索问答链
Langchain提供了检索问答链模板,可以自动实现只是检索、Prompt嵌入、LLM问答的全流程。
也就是说,只需要自己来进行模型的部署和向量知识库的创建。
3 优化建议
Web Demo 部署
建议web demo部署的有gradio和streamlit.
搭建知识库
见第三次作业博客中。