来源:基于 InternLM 和 LangChain 搭建你的知识库_哔哩哔哩_bilibili
1.大模型开发范式
LLM的局限性:
- 知识时效性受限:如何让LLM能够获取最新的知识
- 专业能力有限:如何打造垂域大模型
- 定制化成本高:如何打造个人专属的LLM应用
两种核心的大模型开发范式:
RAG:检索增强生成
2.LangChain 简介
开源工具,通过为各种LLM提供通用接口来简化应用程序的开发流程,帮助开发者自由构建LLM应用。
核心组成模块:
- 链:将组件组合实现端到端应用,通过一个对象封装实现一系列LLM操作。
- Eg.检索问答链,覆盖实现了RAG(检索增强生成)的全部流程。
3.构建向量数据库
加载源文件--->文档分块--->文档向量化
4.搭建知识库助手
将InterLM接入LangChain
- LangChain支持自定义LLM,可以直接接入到框架中
- 我们只需将InterLM部署在本地,并封装一个自定义LLM类,调用本地InternLM即可
构建检索问答链
- LangChain提供了检索问答链模板,可以自动实现知识检索、Prompt嵌入、LLM问答的全部流程
- 将基于InternLM的自定义LLM和已构建的向量数据库接入到检索问答链的上游
- 调用检索问答链,即可实现知识库助手的核心功能
RAG方案优化建议
- 基于RAG的问答系统性能核心受限于:
- 检索精度
- Prompt性能
- 一些可能的优化点:
1.检索方面:
基于语义进行分割,保证每一个chunk的语义完整
给每一个chunk生成概括性索引,检索时匹配索引
2.prompt方面:
迭代优化Prompt策略