▼最近直播超级多,预约保你有收获
近期直播:《基 LangChain大模型架构案例实践》
—1—
LangChain 是什么?
LangChain 和 Semantic Kernel 是当前比较受欢迎的两款 LLM 应用开发框架。
LangChain 作为一个大语言模型应用开发框架,解决了现在开发 LLM 大语言模型应用的一些切实痛点。以 ChatGPT 模型为例:
1、数据滞后,现在训练的数据是到 2021 年 9 月。
2、token 数量限制,如果让它对一个 800 页的 pdf 进行总结,直接使用则无能为力。
3、不能进行联网,获取不到最新的内容。
4、不能与其他数据源链接。
另外作为一个胶水层框架,极大地提高了开发效率,它的作用可以类比于 SpringCloud 在互联网后端开发中的角色,使得开发者可以更专注于创新和优化产品功能。
LangChain 发展速度非常快,也很火爆,短短半年就收获了个 66.9 K star。LangChain 官方提供了 Python 和 JS 开发语言,第三方提供了 Java 版本。
— 2 —
LangChain 架构设计剖析
以下是 LangChain 的组件与架构图(LangChain Python 和 LangChain JS/TS 的架构基本一致,本文中以 LangChain Python来完成剖析),基本完整描述了 LangChain 的组件与抽象层(callbacks 除外),以及它们之间的相关联系。
第一、Model I/O
首先我们从最基本面的部分讲起,Model I/O 指的是和 LLM 直接进行交互的过程。
在 Model I/O 这一流程中,LangChain 抽象的组件主要有三个:Language models、Prompts、Output parsers。
第二、Data connection(是 LLM 的血液系统)
集成外部数据到 Language Model 中是 LangChain 提供的核心能力之一,也是市面上很多优秀的大语言模型应用成功的核心之一(Github Copilot Chat,网页聊天助手,论文总结助手,youtube 视频总结助手…),在LangChain中,Data connection这一层主要包含以下四个抽象组件:Document loaders、Document transformers、Vector stores、Retrievers。
第三、Memory
Memory 可以帮助 Language Model 补充历史信息的上下文,LangChain 中的 Memory 是一个有点模糊的术语,它可以像记住你过去聊天过的信息一样简单,也可以结合向量数据库做更加复杂的历史信息检索,甚至维护相关实体及其关系的具体信息,这取决于具体的应用。
通常 Memory 用于较长的 Chain,能一定程度上提高模型的推理表现。
第四、Agent
在一些场景下,我们需要根据用户输入灵活地调用 LLM 和其它工具(LangChain 将工具抽象为 Tools 这一组件),Agent 为这样的应用程序提供了相关的支持。
Agent 可以访问一套工具,并根据用户输入确定要使用 Chain或是 Function,我们可以简单的理解为他可以动态的帮我们选择和调用 Chain 或者已有的工具。
—3—
基于 LnagChain 的 LLM 应用程序架构设计
第一、基于 LangChain 使用检索增强(RAG)构建聊天机器人
在餐饮公司工作时,我们有一个任务是创建一个基于 ChatGPT 的聊天机器人,可以与用户聊天并提供相关食谱。
具体来说,源菜谱将被转换为嵌入式菜谱并保存在一个向量存储中:例如如果用户询问「健康食品」,查询会被转换为嵌入式菜谱,然后执行近似最近邻搜索以找到与嵌入式查询相似的菜谱,然后将其作为附加上下文提供给 ChatGPT,再由 ChatGPT 显示给用户。这种方法通常被称为检索增强生成。使用检索增强生成的聊天机器人的架构设计如下:
第二、还有众多的企业级使用场景,比如:构建本地知识库问答机器人等。
—4—
免费超干货大模型 LangChain 应用开发实战直播
为了帮助同学们掌握好 LangChain 的技术架构和应用案例实战,本周日晚上8点,我会开一场直播和同学们深度聊聊 LangChain 技术架构剖析、LangChain 的应用案例实战,请同学点击下方按钮预约直播,咱们本周日晚8点不见不散哦~~
近期直播:《基于LangChain大模型架构案例实践》
END