<aside>
💡 在Lecture3中,我们将学习两种大模型的开发范式,并基于InternLM
开发一款RAG
(Retrieval-Augmented Generation)模型。RAG
模型是一种结合了检索和生成的模型,可以用于回答用户的问题并提供相关的知识。在开发RAG
模型的过程中,我们将使用知识库来存储和管理各种知识,以便在回答问题时能够提供准确和有用的信息。此外,我们还将构建自己的知识库助手,该助手将利用RAG
模型和知识库来提供帮助和指导。通过学习这些内容,我们将能够深入了解大模型和知识库的开发,并掌握构建自己的知识库助手的技巧和方法。
</aside>
<aside> ❓ 课前的一些问题~
</aside>
什么是LangChain
?
LangChain
框架是一个开源工具,能够为各种LLM
提供通用接口来简化应用程序的开发流程,帮助开发者自由构建大模型应用。
LangChain
封装了很多组件,通过将这些组件组合能够构建适用于自己的RAG
。一个chain
能够封装一系列的LLM
操作,详细的可以见后续的检索问答链。
什么是InternLM
?
InternLM
是一个通用的基座大模型,可以理解自然语言的指令,能够发展到多元应用,应用于多个领域。
<aside> 📎 LLM大模型的局限性:
</aside>
<aside> 👉 两种思路(开发范式)解决上述问题:
</aside>
RAG(检索增强生成) (核心思想:给大模型外挂知识库)
RAG原理:
对于每个用户的输入,使用向量模型sentence transformer,将输入文本转化为向量,在Chroma向量数据库中寻找匹配的相似文本段,我们认为与问题相似的作为答案,将用户的输入和相似文本段一起嵌入到Prompt,传递给InternLM模型,再做出最终的回答。
如何快速高效的开发RAG?使用开源框架LangChain!
原理介绍:本地文档→Loader:统一变成text文本格式→分离文本成chunk→开源词向量模型sentence transformer变成向量格式→存储到基于Chroma的向量数据库→匹配搜索→输出