快速开始:启动本地 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 Studio Web UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:8123
内存模式
langgraph dev 命令在内存模式下启动 LangGraph 服务器。该模式适合开发和测试目的。对于生产用途,您应该将 LangGraph 服务器部署到具有持久存储后端的环境中。
如果您想使用持久存储后端来测试您的应用程序,可以使用 langgraph up 命令,而不是 langgraph dev。您需要在计算机上安装 docker 才能使用此命令。
LangGraph Studio Web UI¶
通过访问 langgraph up 命令输出提供的 URL 在 LangGraph Studio Web UI 中测试您的图。
- LangGraph Studio Web UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:8123
Safari 兼容性
目前,LangGraph Studio Web 在本地运行服务器时不支持 Safari。
测试 API¶
安装 LangGraph Python SDK
发送消息给助手(无线程运行)
from langgraph_sdk import get_client
client = get_client(url="http://localhost:8123")
async for chunk in client.runs.stream(
None, # 无线程运行
"agent", # 助手名称。定义在 langgraph.json 中。
input={
"messages": [{
"role": "human",
"content": "什么是 LangGraph?",
}],
},
stream_mode="updates",
):
print(f"接收新事件类型: {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:8123")
for chunk in client.runs.stream(
None, # 无线程运行
"agent", # 助手名称。定义在 langgraph.json 中。
input={
"messages": [{
"role": "human",
"content": "什么是 LangGraph?",
}],
},
stream_mode="updates",
):
print(f"接收新事件类型: {chunk.event}...")
print(chunk.data)
print("\n\n")
安装 LangGraph JS SDK
发送消息给助手(无线程运行)
const { Client } = await import("@langchain/langgraph-sdk");
// 仅在调用 langgraph up 时更改默认端口时设置 apiUrl
const client = new Client({ apiUrl: "http://localhost:8123"});
const streamResponse = client.runs.stream(
null, // 无线程运行
"agent", // 助手 ID
{
input: {
"messages": [
{ "role": "user", "content": "什么是 LangGraph?"}
]
},
streamMode: "messages",
}
);
for await (const chunk of streamResponse) {
console.log(`接收新事件类型: ${chunk.event}...`);
console.log(JSON.stringify(chunk.data));
console.log("\n\n");
}
curl -s --request POST \
--url "http://localhost:8123/runs/stream" \
--header 'Content-Type: application/json' \
--data "{
\"assistant_id\": \"agent\",
\"input\": {
\"messages\": [
{
\"role\": \"human\",
\"content\": \"什么是 LangGraph?\"
}
]
},
\"stream_mode\": \"updates\"
}"
认证
如果您连接到远程服务器,则需要提供 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 参考: 探索 Python SDK API 参考。