RAG(RetrievalAugmented Generation)即检索增强生成,是一种自然语言处理技术。
它主要用于提高语言模型的效果和准确性,结合了检索和生成两种主要的自然语言处理方法。
在检索方面,从大量的文本数据中检索出与输入问题最相关的信息,通常使用基于 BERT 的模型等检索系统在大规模的文档集合(如维基百科)中寻找相关文段。
在生成方面,使用类似 GPT 的语言模型,根据检索到的信息生成响应或回答,涉及理解检索内容并生成连贯、相关且信息丰富的文本。
简单来说,RAG 就是大模型+知识库,从广泛的知识库数据中检索相关片段,然后由大模型根据这些内容生成答案。这种方式一方面可以减少大模型的幻觉,提高其在特定任务上的表现,更贴合实际应用需求;另一方面可以明显提高搜索文档信息和生成回答的效率和体验。
LangChain 是一个可以实现 RAG 的开源框架,提供知识库管理、文本处理、模型加载等基础组件和工具,允许开发人员将大语言模型与外部数据源相结合,快速搭建应用。LangChainChatchat 是在 LangChain 基础上构建的具体应用,使用了其组件和工具,并结合其他技术和库,构建基于大语言模型的本地知识库问答系统,目标是建立对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。
2024-08-12