Sunday 的面试指南

LangChain 核心组件:模型、消息、工具与 Runnable

《Agent 大模型 0 到 1 系统课》 · 程序员 Sunday

你正在阅读本节的免费试读。完整课程 ¥499,可在文末添加作者微信购买。

上一小节,咱们使用 LangChain.js 实现了一个最小 Agent。

代码不多,大致的逻辑是:

定义一个模型,定义一个 Tool,再交给 createAgent(),Agent 就可以自己查询订单了。

可比咱们之前哼哧哼哧的写 Agent Runtime 简单多了吧。

那么,这么好的框架,到底怎么用呢?

这一小节,就看这个。

直接通过代码来学

我给大家准备好了一个代码,在 /Code/Node/第五章/03-langchain-core-abstractions

咱们直接通过这个代码来学

整个代码的结构并不复杂,说白了,只有一个代码文件 core-abstractions.js

LangChain 核心组件:模型、消息、工具与 Runnable 配图 1

不过再看具体的代码之前,咱们先来看一下项目的依赖,也就是 package.json

LangChain 核心组件:模型、消息、工具与 Runnable 配图 2

这里面和 LangChain 有关的包有三个,用的时候基本上就按照下面的方式来用:

import { ChatDeepSeek } from '@langchain/deepseek'
import { RunnableSequence } from '@langchain/core/runnables'
import { HumanMessage, SystemMessage, ToolMessage, tool } from 'langchain'

它们都属于 LangChain 生态,然后咱们一个个来看

首先是:langchain

LangChain 核心组件:模型、消息、工具与 Runnable 配图 3

先看咱们最常接触的 langchain。

在上一小节中,createAgent() 和 tool() 都是从这个包中导入的。这一小节使用的 HumanMessage、SystemMessage 和 ToolMessage,也可以直接从这里导入。

所以,langchain 可以理解成 咱们开发 Agent 时主要使用的库。

它提供了创建 Agent、定义 Tool、管理 Message 和添加 Middleware 等上层开发的入口,负责把模型、Tool 与 Agent Runtime 组织到一起。

如果不使用这个包,咱们也可以使用 @langchain/core 自己组合执行流程。

但是,模型返回 Tool Call 以后怎样继续执行、Tool 结果怎样回传、什么时候结束循环,这些逻辑就得自己写了(第四章手写的 AI 编程 Agent,做的就是类似的事情)。

其次是:@langchain/core

LangChain 核心组件:模型、消息、工具与 Runnable 配图 4

然后是 @langchain/core。

如果用官方属于来说,这玩意叫做 “底层公共抽象”。好说,就是不好理解。。

咱们可以先看本节代码里的三个调用:

// 直接调用大模型,并将当前消息上下文发送给模型生成回复。
model.invoke(messages)

// 直接调用 getTask Tool,查询 DEV-1024 对应的任务详情。
getTask.invoke({ taskId: 'DEV-1024' })

// 直接调用 taskSummary Tool,获取 DEV-2048 对应的任务摘要。
taskSummary.invoke({ taskId: 'DEV-2048' })

其中:model 是模型,getTask 是 Tool,taskSummary 是一条组合流程。

它们做的事情完全不同,却都可以使用 invoke() 执行。

原因就在于,LangChain 通过 Core 中的 Runnable 等公共抽象,规定了这些组件应该怎样接收输入、返回输出以及继续组合。

除此之外,Chat Model、Message、Tool、Prompt、Retriever 和 Vector Store 等组件使用的基础结构,也都来自 @

本节试读已结束

继续学习,解锁完整课程

购买《Agent 大模型 0 到 1 系统课》,
继续阅读本节剩余内容与后续课程。

扫码添加作者微信,备注「Agent 课程」

添加作者微信 · 购买完整课程

解锁完整课程 ¥499

《Agent 大模型 0 到 1 系统课》
扫码添加微信,备注「Agent 课程」,购买后由 Sunday 提供完整内容的学习方式。

扫码添加作者微信 LGD_Sunday,购买 499 元 Agent 课程

微信昵称:LGD_Sunday
手机上可长按保存二维码,再用微信扫一扫识别。

保存微信二维码