Sunday 的面试指南

LangChain createAgent 源码(上):初始化与状态 Schema

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

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

其实在之前的 04 小节里面,咱们已经看过一些 LangChain 源码了,只不过看的比较糙。

当时是通过 node_modules/langchain/dist 来看的 createAgent()。

看了:

  • 创建 ReactAgent
  • ReactAgent 内部使用 LangGraph 构建执行图

大致是这么两部分。

但是,dist 目录里的代码是 打包以后真正交给 Node.js 执行的 JavaScript。

咱们可以通过它来看一下大致的执行路径,但是不太适合用来系统阅读源码

所以,咱们正式学习源码的时候,必须得换一种方式才可以。

从 Github 上下载制定版本的 LangChain 源码,然后再从业务代码里的 createAgent() 开始,一点点去看。

咱们在前面课程中使用的一直是 1.5.5 的版本,这个版本对应的是 langchain@1.5.5 Tag。

这个 Tag 最终指向的 Git Commit 是:

62fc484b2a0d1ec5b8bebff4a8a0efe6300ada72

因此,想要直接拉取源码,可以直接通过下面的命令进行拉取:

git clone \
  --depth 1 \
  --branch "langchain@1.5.5" \
  --single-branch \
  https://github.com/langchain-ai/langchainjs.git \
  langchainjs-1.5.5

这里的 --branch 指定了要下载的 Tag,--depth 1 则表示只拿当前版本需要的提交

PS:当前代码已拉取完成,存放在课程源码库 https://github.com/lgd8981289/Agent--Code 的 Node/第五章/langchainjs-1.5.5 路径下

下载完成以后,进入源码目录:

cd langchainjs-1.5.5

然后执行:

git tag --points-at HEAD --list 'langchain@1.5.5'

正常情况下会看到:

langchain@1.5.5
LangChain createAgent 源码(上):初始化与状态 Schema 配图 1

这样就没啥问题

有些同学可能网络不太好。

如果通过指令下载失败的话,那么可以直接打开这个 langchain@1.5.5 Tag ,直接下载 ZIP。

LangChain createAgent 源码(上):初始化与状态 Schema 配图 2

这样也是一种简单的方式,完全足够咱们用

分析源码结构

打开刚刚下载的 langchainjs-1.5.5,会看到很多目录。

LangChain createAgent 源码(上):初始化与状态 Schema 配图 3

这是因为 LangChain.js 使用的是 Monorepo,也就是把多个相互关联的 Package 放在同一个仓库里维护。

而对咱们来说,只需要关注两个文件夹就行:

LangChain createAgent 源码(上):初始化与状态 Schema 配图 4
  • libs/langchain 对应咱们安装的 langchain 包,createAgent()、ReactAgent 和 Agent Middleware 的上层实现都在这里。

  • libs/langchain-core 放的是模型、Message、Tool、Runnable 等公共抽象。第 03 小节已经讲过他俩的职责,这里先不往 core 里面继续看了。

从业务代码进入 createAgent()

源码已经准备好,接下来咱们从自己最熟悉的代码开始。

前面的项目中,Agent 是这样创建的:

import { createAgent } from 'langchain'

const agent = createAgent({
	model,
	tools,
	systemPrompt,
	stateSchema,
	contextSchema,
	responseFormat,
	middleware
})

这里的 createA

本节试读已结束

继续学习,解锁完整课程

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

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

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

解锁完整课程 ¥499

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

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

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

保存微信二维码