赞
踩
它是针对大语言模型开发的一个开源的抽象框架。下图以github的流行度为例,可以看到langchain在很短的时间流行度达到Pytorch框架的高度,在AI燤火的当下,非常的流行。
上图,可以看到短短不到1年,LangChain的热度就达到Pytorch的高度。
下面这张图,可以理解LangChain作为一个重要开源项目中的地位,它目前是LLM开发的最重要的框架。
LangChain 是不是就是 LLM 的 API Warper?这是最容易误解的,当然不是。
统一的大模型标准API的抽象,是它重要的功能,但显然不是全部。
作为框架,它主要还是针对大模型上层应用的开发进行了抽象,并提供了一些标准的功能,提升开发效率。所以,我们关键还是要看看大模型目前到底有哪些应用?
* 大模型的提示词Prompt工程,LangChain提供了相应的TemplateChain。
* 如何提供联网(获取更新的数据),如何使用查数据库等外接工具的通用能力?也就是类似 GPT Plugin 或者 FunctionCall的功能。
* 模型可能是公有云,也可能是本地私有部署的,需要屏蔽掉这种复杂度。
* 应用输出的结果需要再处理,输出要稳定,要合法,要突破token的限制。
类似的问题会很多,你可以理解LangChain会帮助你抽象这些标准的功能,将其变成Chain,而每个Chian中的节点抽象出Runable的接口,使其能方便的执行。
从目前最流行的RAG应用为例 ,可以看到langChain在一个知识库检索型项目中起到的作用,实际上它就是将各种技术通过链条的方式串到了一起。
简单理解就是:
第一步:embeding模型 完成输入问题的编码。
第二步:在向量库中进行检索,获取相关知识。
第三步:LLM模型,对答案进行组织,返回。
可以进一步看一下它的最重要的功能模块:
这些模块也基本函概了目前最重要的大模型的应用。
大模型的输入就是 Prompt :被封装成了Template(提供变量),模块化,动态选择和管理模型的输入。
大模型的执行部分就是 Model,针对各种各样的大模型,以通用接口调用各种语言模型(不清楚有什么组织在统一接口,可能目前主要以OpenAI的GPT为标准模型)。
大模型的输出结果,可以通过一个Parser来保证输出更稳定(输出的解板器,将输出规范化),从模型输出中提出信息,并规范化内容。这个很重要,因为作为Chain框架,最重要的就是每一个处理都可以作为下一个处理的输入,那这就要求输出必须可以进行相应的定制。
对于一个扩展的问答,可以追加联网搜索,本地组存(向量化 RAG)来实现,如下图所示。这就是一个比较典型的大模型应用。给合了联网功能,RAG功能。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。