当前位置:   article > 正文

大模型应用开发框架LangChain_大模型应用框架

大模型应用框架

LangChain是什么?

它是针对大语言模型开发的一个开源的抽象框架。下图以github的流行度为例,可以看到langchain在很短的时间流行度达到Pytorch框架的高度,在AI燤火的当下,非常的流行。

上图,可以看到短短不到1年,LangChain的热度就达到Pytorch的高度。

下面这张图,可以理解LangChain作为一个重要开源项目中的地位,它目前是LLM开发的最重要的框架。

为什么需要LangChain?

LangChain 是不是就是 LLM 的 API Warper?这是最容易误解的,当然不是。

统一的大模型标准API的抽象,是它重要的功能,但显然不是全部。

作为框架,它主要还是针对大模型上层应用的开发进行了抽象,并提供了一些标准的功能,提升开发效率。所以,我们关键还是要看看大模型目前到底有哪些应用?

* 大模型的提示词Prompt工程,LangChain提供了相应的TemplateChain。

* 如何提供联网(获取更新的数据),如何使用查数据库等外接工具的通用能力?也就是类似 GPT Plugin 或者 FunctionCall的功能。

* 模型可能是公有云,也可能是本地私有部署的,需要屏蔽掉这种复杂度。

* 应用输出的结果需要再处理,输出要稳定,要合法,要突破token的限制。

类似的问题会很多,你可以理解LangChain会帮助你抽象这些标准的功能,将其变成Chain,而每个Chian中的节点抽象出Runable的接口,使其能方便的执行。

LangChain的典型应用场景

从目前最流行的RAG应用为例 ,可以看到langChain在一个知识库检索型项目中起到的作用,实际上它就是将各种技术通过链条的方式串到了一起。

简单理解就是:

第一步:embeding模型 完成输入问题的编码。

第二步:在向量库中进行检索,获取相关知识。

第三步:LLM模型,对答案进行组织,返回。

可以进一步看一下它的最重要的功能模块:

这些模块也基本函概了目前最重要的大模型的应用。

LangChain 核心模块

Model I/O

大模型的输入就是 Prompt :被封装成了Template(提供变量),模块化,动态选择和管理模型的输入。

大模型的执行部分就是 Model,针对各种各样的大模型,以通用接口调用各种语言模型(不清楚有什么组织在统一接口,可能目前主要以OpenAI的GPT为标准模型)。

大模型的输出结果,可以通过一个Parser来保证输出更稳定(输出的解板器,将输出规范化),从模型输出中提出信息,并规范化内容。这个很重要,因为作为Chain框架,最重要的就是每一个处理都可以作为下一个处理的输入,那这就要求输出必须可以进行相应的定制。

给合联网查询的实例

对于一个扩展的问答,可以追加联网搜索,本地组存(向量化 RAG)来实现,如下图所示。这就是一个比较典型的大模型应用。给合了联网功能,RAG功能。

支持的大模型

https://www.wpsshop.cn/w/小舞很执着/article/detail/856169

推荐阅读
相关标签
  

闽ICP备14008679号