LangGraph Cloud 快速开始¶
在本教程中,您将构建和部署一个简单的聊天机器人代理,该代理可以在互联网上查找信息。您将使用 LangGraph Cloud、LangGraph Studio 进行可视化和测试,并使用 LangGraph SDK 与部署的代理进行交互。
如果您想学习如何从头开始构建这样的代理,请查看 LangGraph 快速入门教程。
设置要求¶
本教程将使用:
- Anthropic 作为 LLM - 在 这里 注册并获取 API 密钥。
- Tavily 作为搜索引擎 - 在 这里 注册并获取 API 密钥。
- LangSmith 作为托管 - 在 这里 注册并获取 API 密钥。
创建和配置您的应用程序¶
首先,让我们创建 LangGraph 应用程序所需的所有文件。
-
创建应用程序目录和文件
创建一个新应用程序
my-app,并使用以下文件结构:my-app/ |-- agent.py # 您的 LangGraph 代理代码 |-- requirements.txt # 您的图所需的 Python 包 |-- langgraph.json # LangGraph 配置文件 |-- .env # 含 API 密钥的环境文件my-app/ |-- agent.ts # 您的 LangGraph 代理代码 |-- package.json # 您的图所需的 Javascript 包 |-- langgraph.json # LangGraph 配置文件 |-- .env # 含 API 密钥的环境文件 -
定义您的图
agent.py文件应包含图的代码。agent.ts文件应包含图的代码。以下代码示例是一个简单的聊天机器人代理(类似于 先前教程 中的代理)。特别是,它使用 create_react_agent,这是一个预构建的 ReAct 风格代理。
agent文件需要有一个带有 CompiledGraph 的变量(在这种情况下是graph变量)。# agent.py from langchain_anthropic import ChatAnthropic from langchain_community.tools.tavily_search import TavilySearchResults from langgraph.prebuilt import create_react_agent model = ChatAnthropic(model="claude-3-5-sonnet-20240620") tools = [TavilySearchResults(max_results=2)] # 编译图 graph = create_react_agent(model, tools)// agent.ts import { ChatAnthropic } from "@langchain/anthropic"; import { TavilySearchResults } from "@langchain/community/tools/tavily_search"; import { createReactAgent } from "@langchain/langgraph/prebuilt"; const model = new ChatAnthropic({ model: "claude-3-5-sonnet-20240620", }); const tools = [ new TavilySearchResults({ maxResults: 3, }), ]; // 编译图 export const graph = createReactAgent({ llm: model, tools }); -
指定依赖关系
您应该将图的依赖关系添加到
requirements.txt中。您应该将图的依赖关系添加到
package.json中。在这种情况下,我们只需要四个包以使图运行:
-
创建 LangGraph 配置文件
langgraph.json文件是一个配置文件,描述您要部署的图。在这种情况下,我们只有一个图:来自agent.py/agent.ts的编译graph对象。了解更多关于 LangGraph CLI 配置文件的信息 请点击这里。
-
指定环境变量
.env文件应该包含运行图所需的任何环境变量。这仅在本地测试时使用,因此如果您不在本地测试,可以跳过这一步。Warning
.env文件不应与 Github 存储库中的其余源代码一起包含。当使用 LangGraph Cloud 创建部署时,您将能够手动指定环境变量。对于此图,我们需要两个环境变量:
Tip
了解更多关于不同应用程序结构选项的信息 请点击这里。
现在我们已经在本地文件系统上设置了所有内容,准备在本地测试我们的图。
在本地测试应用程序¶
在使用 LangGraph Cloud 部署之前,您可以在本地启动 LangGraph 服务器 或使用 LangGraph Studio 来测试 LangGraph 应用程序。
使用本地服务器¶
您可以通过本地运行 LangGraph 服务器 来测试您的应用程序。这对于确保您正确配置了我们的 CLI 配置文件 并可以与您的图进行交互非常有用。
要在本地运行服务器,您需要首先安装 LangGraph CLI:
然后您可以在本地测试我们的 API 服务器。为了在本地运行服务器,您需要将 LANGSMITH_API_KEY 添加到 .env 文件中。
这将在本地启动 LangGraph API 服务器。如果成功运行,您应该会看到类似以下内容:
首先,让我们通过调用 /ok 端点来验证服务器是否正常运行:
输出:
现在我们准备使用真实输入来测试应用程序!
curl --request POST \
--url http://localhost:8123/runs/stream \
--header 'Content-Type: application/json' \
--data '{
"assistant_id": "agent",
"input": {
"messages": [
{
"role": "user",
"content": "纽约的天气怎么样?"
}
]
},
"stream_mode": "updates"
}'
输出:
...
data: {
"agent": {
"messages": [
{
"content": "Tavily 的搜索结果提供了纽约市当前的天气情况,包括温度、风速、降水量、湿度和云层覆盖。根据结果,截至 2024 年 10 月 30 日下午 3:00,纽约的天气是阴天,温度约为 66°F (19°C),西南方向轻风约 8 mph (13 km/h),湿度为 66%。\n\n因此,总结一下,纽约当前的天气是阴天,温度在 60 多华氏度之间,轻风,基于搜索结果。如果您需要其他详细信息,请让我知道!",
"type": "ai",
...
}
]
}
}
您可以看到我们的代理用最新的搜索结果进行了响应!
使用 LangGraph Studio Desktop¶
您还可以使用 LangGraph Studio 在本地测试您的应用程序。LangGraph Studio 提供了一种新的方式来开发 LLM 应用程序,提供一个专业的代理 IDE,使您能够可视化、交互和调试复杂的代理应用程序。
借助可视化图形和编辑状态的能力,您可以更好地了解代理工作流程并更快地迭代。LangGraph Studio 与 LangSmith 集成,使您可以与团队成员协作以调试故障模式。
LangGraph Studio 可作为 桌面应用程序 提供给 MacOS 用户。安装应用后,您可以选择 my-app 目录,这将自动在本地启动服务器并在 UI 中加载图。
要与 LangGraph Studio 中的聊天机器人代理互动,您可以在 输入 部分添加新消息并按 提交。

部署到 LangGraph Cloud¶
一旦您在本地测试了图并验证它按预期工作,您可以将其部署到 LangGraph Cloud。
首先,您需要将 my-app 目录变成一个 GitHub 仓库并 推送到 GitHub。
一旦您创建了包含已编译图形的 Python 文件的 GitHub 存储库以及带有配置的 langgraph.json,您可以前往 LangSmith,点击左侧导航栏底部的图形图标(LangGraph Cloud)。这将打开 LangGraph 部署页面。在此页面上,点击右上角的 + 新部署 按钮。

如果您之前没有部署到 LangGraph Cloud: 会出现一个按钮,显示 从 GitHub 导入。您需要按照此流程将 LangGraph Cloud 连接到 GitHub。
一旦您设置好 GitHub 连接: 新部署页面将如下所示:

要部署您的应用程序,您应该执行以下步骤:
- 从选择器中选择您的 GitHub 用户名或组织
- 在搜索框中搜索要部署的存储库并选择它
- 为您的部署选择一个名称
- 在
Git Branch字段中,您可以指定要部署的代码分支,或确切的提交 SHA。 - 在
LangGraph API 配置文件字段中,输入langgraph.json文件的路径(在此情况下,即为langgraph.json) - 如果您的应用程序需要环境变量,请在
环境变量部分添加这些变量。它们将会传播到基础服务器,以便您的代码可以访问它们。在这种情况下,我们需要ANTHROPIC_API_KEY和TAVILY_API_KEY。
点击 提交,您的应用程序将开始部署!
在您的部署完成后,您的部署页面应如下所示:

与您的部署互动¶
使用 LangGraph Studio(云)¶
在您的应用程序的部署页面上,您应该在右上角看到一个按钮,上面写着 LangGraph Studio。点击此按钮将带您进入 LangGraph Studio 的网页版本。这是您在 本地测试应用 时所交互的相同用户界面,但这次它使用的是您在 LangGraph Cloud 部署中的服务器。

使用 LangGraph SDK¶
您还可以通过编程方式与已部署的 LangGraph 应用程序进行交互,使用 LangGraph SDK。
首先,请确保您已安装 SDK:
在使用之前,您需要获取您的 LangGraph 部署的 URL。您可以在 Deployment 视图中找到它。点击 URL 将其复制到剪贴板。
您还需要确保已正确设置您的 API 密钥,以便您可以与 LangGraph Cloud 进行身份验证。
使用 SDK 时的第一步是设置我们的客户端,访问我们的助手,并创建一个线程以执行运行:
import { Client } from "@langchain/langgraph-sdk";
const client = new Client({ apiUrl: <DEPLOYMENT_URL> });
// 获取默认助手
const assistants = await client.assistants.search({ metadata: {"created_by": "system"} })
const assistant = assistants[0];
// 创建线程
const thread = await client.threads.create();
console.log(thread)
然后我们可以在该线程上执行运行:
输出:
...
data: {
"agent": {
"messages": [
{
"content": "Tavily 的搜索结果提供了纽约市当前的天气情况,包括气温、风速、降水量、湿度和云层覆盖情况。根据结果,截至 2024 年 10 月 30 日下午 3:00,纽约市天阴,气温大约为 66°F(19°C),西南方向的微风约为每小时 8 英里(13 公里/小时),湿度为 66%。\n\n因此,总结一下,纽约市当前天气阴云密布,气温在中等的 60 华氏度,微风,基于搜索结果。如果您需要其他详细信息,请告诉我!",
"type": "ai",
...
}
]
}
}
下一步¶
恭喜您!如果您完成了本教程,您已经在迈向成为 LangGraph Cloud 专家的道路上走出了重要一步。以下是一些其他资源,以帮助您在成为专家的道路上继续前进: