快速入门:启动本地 LangGraph 服务器¶
本快速入门指南将帮助您在本地启动并运行一个 LangGraph 应用程序。
要求
- Python >= 3.11
- LangGraph CLI:需要 langchain-cli[inmem] >= 0.1.58
安装 LangGraph CLI¶
🌱 创建一个 LangGraph 应用¶
从 react-agent
模板创建一个新应用。这个模板是一个简单的智能体,可以灵活地扩展到许多工具中。
其他模板
如果你在使用 langgraph new
时不指定模板,将会出现一个交互式菜单,让你从可用模板列表中进行选择。
安装依赖项¶
在新的 LangGraph 应用程序的根目录下,以 编辑
模式安装依赖项,这样服务器就会使用你本地的更改:
创建一个 .env
文件¶
在新的 LangGraph 应用程序的根目录下,你会找到一个 .env.example
文件。在新的 LangGraph 应用程序的根目录下创建一个 .env
文件,并将 .env.example
文件的内容复制到其中,填写必要的 API 密钥:
获取 API 密钥
- LANGSMITH_API_KEY:访问 LangSmith 设置页面,然后点击 创建 API 密钥。
- ANTHROPIC_API_KEY:从 Anthropic 获取 API 密钥。
- OPENAI_API_KEY:从 OpenAI 获取 API 密钥。
- TAVILY_API_KEY:在 Tavily 网站 获取 API 密钥。
🚀 启动 LangGraph 服务器¶
这将在本地启动 LangGraph API 服务器。如果运行成功,你应该会看到类似如下的内容:
已就绪!
LangGraph 工作室 Web 界面: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
内存模式
langgraph dev
命令以内存模式启动 LangGraph 服务器。此模式适用于开发和测试目的。对于生产环境,你应该部署可访问持久存储后端的 LangGraph 服务器。
如果你想使用持久存储后端测试你的应用程序,可以使用 langgraph up
命令代替 langgraph dev
。使用此命令需要在你的机器上安装 docker
。
LangGraph Studio Web 界面¶
LangGraph Studio Web 是一款专门的用户界面,你可以将其连接到 LangGraph API 服务器,从而在本地实现应用程序的可视化、交互和调试。通过访问 langgraph dev
命令输出中提供的 URL,在 LangGraph Studio Web 界面中测试你的图谱。
- LangGraph Studio Web 界面:https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
连接到自定义主机/端口的服务器
如果你使用自定义主机/端口运行 LangGraph API 服务器,可以通过更改 baseUrl
URL 参数,让 Studio Web 界面指向该服务器。例如,如果你在 8000 端口上运行服务器,可以将上述 URL 更改为以下内容:
Safari 兼容性
目前,在本地运行服务器时,LangGraph Studio Web 不支持 Safari 浏览器。
测试 API¶
安装 LangGraph Python SDK
向助手发送消息(无线程运行)
from langgraph_sdk import get_client
client = get_client(url="http://localhost:2024")
async for chunk in client.runs.stream(
None, # 无线程运行
"agent", # 助手名称。在 langgraph.json 中定义。
input={
"messages": [{
"role": "human",
"content": "What is LangGraph?",
}],
},
stream_mode="updates",
):
print(f"Receiving new event of type: {chunk.event}...")
print(chunk.data)
print("\n\n")
安装 LangGraph Python SDK
向助手发送消息(无线程运行)
from langgraph_sdk import get_sync_client
client = get_sync_client(url="http://localhost:2024")
for chunk in client.runs.stream(
None, # 无线程运行
"agent", # 助手名称。在 langgraph.json 中定义。
input={
"messages": [{
"role": "human",
"content": "What is LangGraph?",
}],
},
stream_mode="updates",
):
print(f"Receiving new event of type: {chunk.event}...")
print(chunk.data)
print("\n\n")
安装 LangGraph JS SDK
向助手发送消息(无线程运行)
const { Client } = await import("@langchain/langgraph-sdk");
// 仅当你在调用 langgraph dev 时更改了默认端口时才设置 apiUrl
const client = new Client({ apiUrl: "http://localhost:2024"});
const streamResponse = client.runs.stream(
null, // 无线程运行
"agent", // 助手 ID
{
input: {
"messages": [
{ "role": "user", "content": "What is LangGraph?"}
]
},
streamMode: "messages",
}
);
for await (const chunk of streamResponse) {
console.log(`Receiving new event of type: ${chunk.event}...`);
console.log(JSON.stringify(chunk.data));
console.log("\n\n");
}
身份验证
如果你要连接到远程服务器,则需要提供 LangSmith API 密钥进行授权。有关更多信息,请参阅客户端的 API 参考。
下一步¶
既然你已经在本地运行了一个 LangGraph 应用程序,那么可以通过探索部署和高级功能来进一步深入学习:
🌐 部署到 LangGraph 云平台¶
- LangGraph 云平台快速入门: 使用 LangGraph 云平台部署你的 LangGraph 应用程序。
📚 深入了解 LangGraph 平台¶
利用以下资源拓展你的知识:
- LangGraph 平台概念: 了解 LangGraph 平台的基础概念。
- LangGraph 平台操作指南: 探索构建和部署应用程序的分步指南。
🛠️ 开发者参考¶
访问有关开发和 API 使用的详细文档:
- LangGraph 服务器 API 参考: 探索 LangGraph 服务器 API 文档。
- Python SDK 参考: 探索 Python SDK API 参考。
- JS/TS SDK 参考: 探索 JS/TS SDK API 参考。