对LLM进行增强的方法一般有两种:RAG(Retrieval Augmented Generation检索增强生成)或者finetune。其中,RAG可以简单理解为外接一个知识库,从而对某个特定的领域进行增强原始LLM的能力。相比Finetune而言,成本低,且实时性好。不需要对原模型进行修改,但是,也非常受限于原LLM的能力。
RAG的原理
用户输入将会被sentence transformer转换成文本向量,在向量数据库中进行匹配后,会找到相似的文本段。RAG的一个假设是:认为,与用户的输入文本段(问题)相似的文本段,大概率会包含到答案,然后将这个检索到的相似文本段,和prompt一起,传入LLM,并得到答案。
1 环境配置
- InternLM 模型
- LangChain、词向量模型
- NLTK 相关资源
2 知识库搭建
- 数据收集
- 加载数据
- 构建向量数据库
- 整体脚本
3 InternLM 接入 LangChain
4 构建检索问答链
- 加载向量数据库
- 实例化自定义 LLM 与 Prompt Template
- 构建检索问答链
标签:检索,RAG,模型,笔记,书生,LLM,文本,浦语,向量 From: https://www.cnblogs.com/russellwang/p/18033843