以编程方式使用文档

以下页面提供了在 JavaScript 框架和托管平台上运行 LangChain 代理的生产级参考实现。部署手册代码库中的每个示例都是 部署手册代码库 是一个全栈聊天应用,具备流式 UI、子代理和对话历史记录,部署在不同的平台上,使用相同的 代理流式协议.

当你需要发布代理支持的产品时,请使用这些指南:复制与你托管环境相匹配的技术栈,换入你自己的工具和模型,并在超越单实例时升级持久化方案。

示例

LangSmith + Vite

代理图在 LangSmith 部署上运行;Vite + React UI 从代理服务器 API 流式传输。

Next.js

App Router 路由处理器在以下位置实现协议 /api/threads/...。一键部署到 Vercel。

SvelteKit

SvelteKit 服务端路由运行在 Cloudflare Workers 上,配合 @langchain/svelte 和每个线程的 Durable Objects 用于 SSE 重放。

Nuxt

Nitro 路由处理器和 @langchain/vue 可组合项在单个可部署的 Nuxt 4 应用中。

Cloudflare Workers

Vite + React SPA 和 Hono API 运行在一个 Worker 上,使用 Workers Assets 和 Durable Objects。

Deno Deploy

Deno.serve + Hono 从一个入口点同时提供协议 API 和由 Vite 构建的 React SPA。

代理部署包含哪些内容

每个示例都遵循相同的结构。框架和托管方式会变化,但职责不会。

代理运行时

代理本身,通常是一个 LangGraph 图或 deepagents 协调器,包含工具、可选的子代理和中间件。它使用 **检查点器** 编译,以便对话状态在多次交互中保持。示例从内存中的 MemorySaver 开始以简化设置;生产部署会替换为 Redis(@langchain/langgraph-checkpoint-redis)、Postgres(@langchain/langgraph-checkpoint-postgres)或 SQLite(@langchain/langgraph-checkpoint-sqlite),或平台特定的存储。

协议服务器

HTTP 路由处理器实现 代理流式协议/api/threads/....

最小配置(流式聊天)

这三个端点足以运行一个单线程流式聊天,配合 HttpAgentServerAdapter:

方法路径用途
POST/api/threads/:threadId/commands接收命令(run.start、…)并启动运行
POST/api/threads/:threadId/stream运行的 SSE 协议事件流
GET / POST/api/threads/:threadId/state读取并引导检查点的线程状态

线程侧边栏(所有示例)

每个示例也实现了用于线程历史侧边栏的端点:

方法路径用途
GET/api/threads列出检查点已知的所有线程
DELETE/api/threads/:threadId删除线程的会话和检查点
POST/api/threads/:threadId/history分页检查点历史

会话和运行管理

服务端逻辑跟踪活动运行,将命令桥接到代理,并通过 SSE 广播实时事件。注册表或会话存储允许客户端重新连接到进行中的流。在无服务器或多实例主机上,这一层必须与检查点共享或共存。

聊天前端

通过以下方式连接到协议的浏览器 UI HttpAgentServerAdapter,来自 @langchain/react, @langchain/vue, @langchain/svelte, or @langchain/angular。客户端初始化线程状态,提交消息,消费 SSE 流,并渲染 token、工具调用、推理和子代理活动。

这些绑定不附带任何组件。类似这样的 Hook useStream 返回纯响应式状态(消息、工具调用、加载标志、线程元数据),你可以将其连接到任何你喜欢的视觉层。有关适配器模式和权衡,请参阅 前端集成概述.

另请参阅