通过langchain + gradio仅用百行python代码即可实现一个简易的RAG应用。本文将以《三体》为例,解读实现步骤。什么是RAG?Retrieval Augmented Generation (RAG)是一种增强LLM针对特定信息推理能力的方法。LLM,如chatgpt,一般是在某个机构使用特定时间的数据集进行训练得到的模型,而当我们需要对特定领域的信息或私密信息进行问答时,它就难以给出准确答案了。例如直接让chatgpt介绍一下三体中章北海的所作所为,就会得到以下结果:让chatgpt介绍一下三体中章北海的所作所为这种情况下用已有的数据重新微调大模型代价很大,且难以做到实时的效果,而RAG很好地解决了该问题。如何实现RAG?实现一个RAG应用一般分为两步:建立索引和检索生成。建立索引通过Embedding模型将源数据转换为词向量保存至向量数据库中,通常有以下步骤:Load: 首先使用DocumentLoader读取不同类型的文档数据。Split: 然后将文档按一定规则分割为较小的块(chunk). 以便于模型能够更好的进行上下文理解。Store: 最后通过Embe...