2026年7月2日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

LangChain全新Agent可视化工作流!你不能错过的LangChain科普!与LlamaIndex差别在哪儿?咱都要学吗?

发布日期:2024-08-16 05:32:20 浏览次数: 5187
作者:同桌的AI小纸条

微信搜一搜,关注“同桌的AI小纸条”




相信一直关注AI领域的同学都听说过这个工具-LangChain这是一个融合了语言模型与多样化工具、数据及应用程序的新兴技术框架。LangChain的核心价值在于它多维度地重塑了人工智能与人类社会的互动界面,通过将大型语言模型与广泛资源的无缝对接,同时,LangChain整合知识图谱、数据库等多元信息源,为复杂决策过程提供了详实而深入的数据支撑。在自动化与效率提升方面LangChain的贡献也不容小觑,凭借语言模型的自动处理潜能,诸多文本处理任务,例如文档管理、内容创造乃至编程工作,都实现了前所未有的自动化程度,有效减轻了人力负担,加速了工作流程。


LangChain就像是一个创新应用的孵化器,为开发者铺设了一条通往定制化AI解决方案的高速公路。通过灵活组合多样化的服务与模型,,简化复杂的模型调用与基础架构管理,即使是非专业的开发者也能轻松驾驭高级应用的构建,加速了AI技术的民主化进程。


简言之,学习AI,咱们都不能落下LangChain!近日LangChain也发布了支持工作流的Agent配置-langgraph-studio,开发门槛大大降低!如果你之前没有了解过,现在入局刚刚好!今天,咱们就来了解和学习一下LangChain



了解LangChain


LangChain 是一个开源框架,它旨在简化和促进基于语言模型的应用程序开发。LangChain 的核心理念是让开发者能够更容易地利用LLM大型语言模型来构建复杂的应用场景,它通过提供一系列组件和接口,简化了与LLMs的交互,使得开发者能够快速构建复杂的语言模型应用,无需从零开始编写所有基础代码。

LangChain 几乎可以作为所有 LLM 的通用接口,为构建 LLM 应用程序并将其与外部数据源和软件工作流程集成提供集中式开发环境。LangChain可以简单理解为是 LLM 领域的 Spring。


主要特点


低代码/无代码集成:LangChain 提供了用户友好的接口和工具,帮助开发者快速构建复杂的语言模型应用,方便地与其他系统和数据源集成,如数据库、向量数据库、API等

模块化设计:该框架采用了模块化的架构,允许开发者灵活选择和组合不同的组件,比如不同的语言模型、数据存储解决方案、链路(chains)和代理(agents)等功能组件可以灵活组合,以适应多样化的应用场景需求。

增强功能:LangChain 不仅提供对基础语言模型调用的支持,还集成了增强功能,比如记忆机制(memory)、上下文管理、链式思考(chain-of-thought)等,帮助提升模型的连贯性、一致性和问题解决能力。


工作流程


通过分块和向量化数据源,优化LLM的检索与生成过程,实现高效、智能的文本处理。

工作流程


1.用户向基于LangChain的聊天机器人输入提示(prompt)

2.系统会在向量存储中查询与提示相关的信息块。这个查询过程类似于在搜索引擎中搜索关键词,但在这里,它是基于向量的相似度来进行的。


3.基于向量的相似度,找到相关信息块。

4.LangChain会将这些信息块与原始提示一起提供给LLM。

5.LLM随后利用这些信息来生成针对用户输入的回答或完成文本。


核心概念


基于以上的流程(一个标准的RAG+Agent的工作流程),主要包含以下核心概念

Compents:为LLMs提供接口封装、模板提示和信息检索索引

LLM Wrappers:允许连接到大型语言模型,如GPT-4或Hugging Face提供的模型。

Prompt Templates:动态生成查询,避免硬编码需求。以动态地将用户输入插入到模板中,并发送给语言模型。

Indexes:帮助从语言模型中提取相关信息。

Chains:将多个组件组合起来解决特定任务。

Agents:让模型与外部环境互动,如执行API调用。


核心组件


基于以上的核心概念设计,所包含的能力组件组成:

主要包括以下六个部分:


模型I/O(Model I/O):负责与语言模型进行交互,处理输入和输出数据。

检索(Retrieval):从特定数据源检索信息,如数据库或API,为应用提供所需内容。

代理(Agents):根据高级指令决定使用哪些工具或组件,协调应用内的操作和信息流。

链(Chains):定义一系列有序步骤以完成特定任务。

内存(Memory):在LangChain运行间保持应用状态。

回调(Callbacks):在LangChain的特定步骤触发额外动作,如日志记录或中间步骤的流式传输。


架构组成


LangChain 库:Python 和 JavaScript 库。包含无数组件的接口和集成、将这些组件组合成链和代理的基本运行时,以及链和代理的现成实现。

LangChain 模板:一系列易于部署的参考架构,适用于各种任务。

LangServe:用于将 LangChain 链部署为 REST API 的库。

LangSmith:一个开发者平台,可让您调试、测试、评估和监控基于任何 LLM 框架构建的链,并与 LangChain 无缝集成。


LangChain的应用


工具使用(Tool use)

LangChain为其他“工具”构建自然语言接口,无论是 API、函数、数据库等,主要是得益于它的以下特性:

1.良好的模型输出解析,可以轻松从模型输出中提取 JSON、XML、OpenAI 函数调用等。

2.大量内置工具

工具的使用方式主要有两种:chains 和 agents。

方式一:chains 创建预定义的工具使用顺序,适合流程比较明确的场景

方式二:作为Agents的一环,根据LLM模型的决策决定什么时候以及什么频率,如何循环来使用工具。

萃取(Extraction)


在需要对信息进行萃取的需求场景,也很适合LangChain构建的应用来提供助力。萃取是指从大型语言模型(LLM,Large Language Model)生成的原始文本中提取出有用的、结构化的信息。LangChain构建的应用因为组成的环节间的数据对用户透明,允许将自由形式的文本转换成更有组织、易于处理的数据格式,进而可以用于各种目的,提高信息的可用性和实用性。下面是几个具体场景下的举例:

提取结构化行以插入数据库:这意味着从LLM生成的文本中提取特定的数据,并将这些数据转换成一种格式,使其能够被直接插入到数据库中。例如,如果LLM生成了关于书籍的描述,萃取过程可能会提取出书名、作者、出版年份等信息,并将它们组织成数据库中的一行记录。

提取API参数:当需要调用API(应用程序编程接口)时,通常需要提供一些参数。LLM可以根据用户的需求或上下文生成这些参数。例如,如果用户想要查询天气预报,LLM可以生成一个包含城市名和日期的API请求。

提取用户查询的不同部分(例如,语义搜索与关键字搜索):用户可能提出一个复杂的查询,其中包含不同的意图或需要不同类型的处理。萃取过程可能涉及识别查询中的不同部分,并将其分类为语义搜索(理解查询的深层含义)和关键字搜索(基于特定关键字的搜索)。这可以帮助系统更准确地理解用户的需求,并提供更相关的响应。


LangChain-Agentic workflow的发展


LangChain 从应用开发框架出发,提供了一套代码级工具集,旨在降低 LLM 的开发难度,围绕 Agent 应用生命周期提供全方面的支持能力,助力高效打造 AI 大模型应用。

Agent 应用生命周期包括:开发、测试、评估验证、部署、监控等。开发功能由 LangChain 组件提供,官方支持 Python 和 JavaScript 两种语言。测试、评估验证、监控由 LangSmith 组件支持。部署由 LangServe 组件提供支持。

国内厂商也纷纷看好低代码LLM 应用开发平台,小纸条之前也写过很多对国内Agent智能体平台的分析和测评,各大产品都在插件机工具生态上体现了很专业的能力,尤其是流程灵活的可视化编排。

单纯依赖 LLM 的能力和固定的流程,在现实操作中成本很高,这促使了包含大量复杂逻辑的应用流程的产生,如何开发与调试这些应用流程成为了新的挑战,不会代码的人基本无法驾驭。

基于此,让用户可以0代码的完成智能体的构建在交互上就显得直观重要,这种Agentic workflow 的概念也正逐渐成为行业的共识,如果哪家产品没有这个,那竞争力的的确确逊色了一些。


LangChain的Agent IDE—langgraph-studio


LangChain,作为Agent智能代理开发领域的头部大V,也早已为这一变化着手布局。为此,他们在今年1月初推出了LangGraph的试验版本,并在6月末正式发布了版本0.10,旨在为Agent应用的编排开发提供一个强大的工具。

LangGraph的核心目标是破解“黑盒”现象,让用户能更精细地控制开发流程。与像Dify这样的低代码可视化工具不同的是,LangGraph选择了编程导向的路径,这既是一种传承LangChain用户习惯的优势策略,但是这也意味着在处理复杂流程逻辑时,因缺乏直观性而给开发与调试带来一定难度。

为了进一步降低开发和调试的成本,LangChain于8月1日宣布了LangGraph Studio的问世。这是一个基于LangGraph的Agent智能代理集成开发环境(IDE),提供了一种开发大型语言模型(LLM)应用的新方法,,通过提供一个专门的智能代理(Agent)集成开发环境(IDE),支持开发者以可视化的方式进行 Agent 的开发与调试。算是一种专为Agent打造的IDE。

Github 地址:

https://github.com/langchain-ai/langgraph-studio


LangChain与LlamaIndex 对比


选择使用 LangChain 还是 LlamaIndex 取决于具体的项目需求和开发者的技术背景。简单总结:

如果需要全面的语言模型集成框架,选 LangChain;

如果重点是优化语言模型与文本数据的交互,LlamaIndex 可能更合适。

详细讲解一下二者的不同之处:


功能重点:


LangChain 侧重于提供一系列的组件和工具,帮助开发者将语言模型与其他数据源、记忆机制、链(Chains)等结合起来,以构建更复杂和强大的应用。它更注重提供通用的架构和模块,方便开发者根据具体需求灵活组合。

LlamaIndex 则重点在于为大型语言模型与外部数据的交互提供高效的索引和查询能力,帮助模型更好地利用外部知识源。

数据处理:


LangChain 在处理和整合多种数据类型方面具有较强的能力,包括文本、数据库、知识图谱等。

LlamaIndex 更专注于优化对文本数据的索引和检索,以提高语言模型与大规模文本数据的交互效率。

技术实现:


LangChain可能包含多种NLP技术和深度学习模型

LlamaIndex则结合了Elasticsearch和NLP技术。

应用场景:


LangChain 适用于各种需要将语言模型与外部组件集成的复杂应用,如问答系统、智能客服、自动化文本生成等。

LlamaIndex 特别适用于需要快速检索和利用大量文本数据来增强语言模型回答的场景,例如知识密集型的问答系统。


langgraph-studio实操


Github 地址:

https://github.com/langchain-ai/langgraph-studio

首先,我们打开官网下载,首先要确认下Mac设备的型号, 目前只有 Apple Silicon Mac可以支持langgraph-studio(点击菜单栏左上角的苹果图标,然后选择“关于本机”选项。在弹出的窗口中,如果在“芯片”部分中看到 Apple M1(或更高版本,如 M2 等),则意味着使用的是带有 Apple Silicon CPU 的 Mac;如果在“处理器”部分中看到英特尔处理器,则表示正在使用的是带有英特尔芯片的 Mac。

LangGraph Studio 需要 docker-compose 版本 2.22.0+ 或更高版本。请确保已安装并运行 Docker,然后再继续。

当我们第一次打开 LangGraph Studio 桌面应用程序时,您需要通过 LangSmith 登录。

成功验证后,可以选择要使用的 LangGraph 应用程序文件夹 - 我们可以选择示例项目langgraph-example。

选择有效的项目后,LangGraph Studio 将启动 LangGraph API 服务器,我们应该会看到一个呈现图形的 UI。

然后我们就可以开始运行了,LangGraph Studio允许我们使用不同的输入和配置运行图形。

要开始新的运行:

在下拉菜单(左侧窗格的左上角)中,选择一个图表。在我们的示例中,该图称为代理。图表列表对应于 langgraph.json 配置中的图表键。

  1. 在下拉菜单(左侧窗格的左上角)中,选择一个图表。在我们的示例中,该图称为代理。图表列表对应于 langgraph.json 配置中的图表键。

  2. 在左侧窗格的底部,编辑输入部分。

  3. 单击“提交”以调用所选图表。

  4. 在右侧窗格中查看调用的输出。


LangGraph Studio 允许我们编辑线程状态并分叉线程以使用更新的状态创建替代图形执行。

  1. 在右侧窗格中,将鼠标悬停在要编辑的步骤上,然后单击“铅笔”图标进行编辑。

  2. 进行编辑。

  3. 单击“分叉”以更新状态并使用更新后的状态创建新的图形执行。


LangGraph Studio 允许我们添加中断到特定节点

  1. 导航到带有图形可视化的左侧窗格。

  2. 将鼠标悬停在要添加中断的节点上。您应该会看到节点左侧显示一个 + 按钮。

  3. 单击 + 调用所选图表。

  4. 通过添加输入/配置并单击提交来运行图表



好啦,今天我们对LangChain的简单了解就到这儿,希望大家有时间的时候也可以去官网跟着实操一下,真正的动手去了解一下这个AI领域框架的领头大哥,到底拥有着什么样的能力,又能如何为我们所用,带来价值!


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅