您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[东方证券]:他山之石系列报告(二):大模型应用开发框架LangChain梳理 - 发现报告

他山之石系列报告(二):大模型应用开发框架LangChain梳理

信息技术2023-07-16浦俊懿、陈超、谢忱东方证券自***
他山之石系列报告(二):大模型应用开发框架LangChain梳理

核心观点 ⚫LangChain是一个开发由语言模型驱动的应用程序的框架,加快基于大模型的应用构建速度。LangChain于22年10月底推出,是一个封装了大量大语言模型(LLM)应用开发逻辑和工具集成的开源Python库,提供了标准的模块化组件,集成了不同的大语言模型并将其进行整合,并将它们连接到各种外部数据源和API,开发者们可以直接调用,大大加快了构建大模型应用的速度。有了LangChain,做一个基于公司内部文档的问答机器人通常只需要两天,而直接fork别人基于LangChain的代码构建个人的Notion问答机器人则只需要几个小时。 证券分析师浦俊懿021-63325888*6106pujunyi@orientsec.com.cn执业证书编号:S0860514050004 ⚫针对大模型应用上的不足,LangChain提供模块化组件进行优化。针对通用大模型难以获取外部信息、无法保存上下文记忆等不足,LangChain提供了多个组件模块:Model模块可以将LLM的强大能力轻松集成到工作应用程序中;prompttemplate可以单独定义prompt的输入输出格式,输出解析器可以将LLM的输出解析为所需要的格式;Chain提供了将各种组件合并成一个统一应用程序的方式,通过链式结构可以实现多个模型的序列调用;Agent将LLM作为推理引擎,它会利用互联网上学习到的背景知识或你提供的新信息,来回答问题、推理内容或决定下一步的操作;LangChain提供了多种不同的Memory形式,开发者可以选择存储完整记忆、仅保留最后几轮对话记忆或是限制存储的token数等。 证券分析师陈超021-63325888*3144chenchao3@orientsec.com.cn执业证书编号:S0860521050002 证券分析师谢忱xiechen@orientsec.com.cn执业证书编号:S0860522090004 ⚫ChatGPT Plugin和LangChain并非竞争关系,LangChain已支持直接调用ChatGPT Plugin。随着ChatGPT公布其Plugin插件生态,部分开发者认为LangChain的价值会被插件直接取代,但LangChain和插件并非竞争关系,LangChain在插件推出后两天就更新了在LangChain抽象下的Plugin实现。LangChain在复杂的2B应用场景中仍具有显著的价值,在底层大模型和上层应用之间提供一层对业务复杂逻辑的抽象,满足复杂业务快速部署的需求。例如Langchain的Agent和Memory两个功能模块,现有的plugin不具备这样的能力。 联系人杜云飞duyunfei@orientsec.com.cn联系人覃俊宁qinjunning@orientsec.com.cn联系人宋鑫宇songxinyu@orientsec.com.cn ⚫LangChain仍处于开放开源状态,商业化潜力不明朗。目前LangChain仍处于早期开源阶段,尚未开始产生收入。常规开源大模型的盈利方式为,在用户数量达到一定规模后另外开发闭源定制产品或者整体转换成闭源产品进行收费。而LangChain作为“依赖其他开源库的开源项目”,其主流使用人群为独立开发者或者小型企业,付费意愿不高,而大型企业可以基于开源的LangChain自己研发一套框架,整体商业化前景不明朗,仍需进一步探索。 ⚫一站式框架预计成为未来大模型应用开发和部署的首选,大厂纷纷加入战局。近期,各大云厂商纷纷推出了自家的一站式大模型训练、推理、应用开发、部署的云平台,如百度文心千帆、阿里云ModelScope平台、字节火山方舟平台、亚马逊Bedrock服务等。由于生成式AI的使用对于算力的需求量巨大,大模型需要做训练和推理,门槛非常高,采用云服务方式来部署B端大模型及应用对企业来说更加经济。我们认为,一站式框架可能会成为未来大模型应用开发和部署的首选,生成式AI有望给云业务带来新一轮增长。 他山之石系列报告(一):Salesforce的大模型ToB应用分析2023-07-05 投资建议与投资标的 我们认为,随着国内大模型玩家不断增多,基于基础大模型建立的落地应用也会随后快速发展起来。建议关注三六零(601360,未评级)、科大讯飞(002230,买入)、拓尔思(300229,未评级)等拥有基础大模型的公司。 风险提示 技术落地不及预期;政策监管风险 目录 一、LangChain:端到端的语言模型应用构建框架.........................................4 二、一站式框架或成为未来大模型应用开发和部署的首选..............................8 投资建议与投资标的......................................................................................8 风险提示........................................................................................................8 图表目录 图1:LangChain链接大模型和外部数据源..................................................................................4图2:LangChain如何与OpenAI的LLM合作............................................................................4图3:GitHub平台LangChain星数历史记录................................................................................4图4:通过提示模板来格式化对LLM的输入................................................................................5图5:通过Chain连接多个LLM的输入输出................................................................................5图6:通过Agent调用各种工具...................................................................................................6图7:LangChain提供实体信息长期记忆能力..............................................................................6图8:LangChain结构汇总示意...................................................................................................6图9:ChatGPT的插件还不成熟..................................................................................................7图10:LangChain支持ChatGPT Plugin实现.............................................................................7图11:多家大厂推出一站式大模型服务平台................................................................................8 表1:LangChain提供的功能或集成............................................................................................4 一、LangChain:端到端的语言模型应用构建框架 LangChain是一个开发由语言模型驱动的应用程序的框架。LangChain由前Robust Intelligence的机器学习工程师Chase Harrison在22年10月底推出,是一个封装了大量大语言模型(LLM)应用开发逻辑和工具集成的开源Python库,提供了标准的模块化组件,集成了不同的大语言模型并将其进行整合,并将它们连接到各种外部数据源和API。22年11月初,Hacker News上“如何入门AI”的帖子回复中,LangChain第一次被列进AI入门套装;在23年1月的AIHackathon决赛中,有大量项目使用了LangChain。LangChain在Github上的星数迅速破万,成为LLM应用开发者选择中间件时的优先选择。 数据来源:GitHub,东方证券研究所 数据来源:freecodecamp,东方证券研究所 大模型本身存在应用局限,LangChain可以加快基于大模型的应用构建速度。以ChatGPT为例,其训练数据只截至2021年底,无法实时获取外部信息,同时通用大模型仅训练了公开的数据知识,对于一些较为专业的问题大模型会给出胡说八道的答案。目前这些缺陷都可以通过外接API的方式来进行改善,比如OpenAI官方给出了Plugin让ChatGPT可以接入互联网,用向量数据库作为知识库对prompt进行处理后再对大模型进行提问等。LangChain为开发者们提供了方便,它封装好了大量的API相关逻辑和代码实现,开发者们可以直接调用,大大加快了构建一个应用的速度。有了LangChain,做一个基于公司内部文档的问答机器人通常只需要两天,而直接fork别人基于LangChain的代码构建个人的Notion问答机器人则只需要几个小时。 表1:LangChain提供的功能或集成 针对大模型应用上的不足,LangChain提供模块化组件进行优化。针对通用大模型难以获取外部信息、无法保存上下文记忆等不足,LangChain提供了多个组件模块: 1)Model:Model模块主要包含了大语言模型(LLM),借助LangChain,与LLM的交互将变得更加便捷,LangChain提供的接口和功能有助于将LLM的强大能力轻松集成到工作应用程序中。LangChain还提供异步支持,能够满足同时并发调用多个LLM的场景,最大限度地提高资源利用率。LangChain还支持编写自定义的LLM包装器,而不仅限于LangChain所支持的模型。 2)Prompt:prompt是向LLM提供的输入,LangChain提供了完备的管理和优化prompt的功能。最基础的功能是prompttemplate(提示模板),模板指的是我们希望获得答案的具体格式或蓝图。LangChain支持通过提示模板单独定义prompt的输入输出格式,其输出解析器可以将LLM的输出解析为所需要的格式。 3)Chain:Chain(链)提供了将各种组件合并成一个统一应用程序的方式,通过链式结构可以实现多个模型的序列调用,也能集成提示模板对用户输入进行格式化。LangChain提供了多种基础链式结构,包含简单的单向序列SimpleSequentialChain、可以让LLM查询API的APIChain、图谱检索查询的GraphQAChain等。通过将多个Chain与其他组件集成,可以生成更复杂的链式结构。 图4:通过提示模板来格式化对LLM的输入 图5:通过Chain连接多个LLM