快速入门:启动本地 LangGraph 服务器¶
这是一个快速入门指南,帮助您在本地启动并运行 LangGraph 应用。
要求
- Python >= 3.11
- LangGraph CLI:需要 langchain-cli[inmem] >= 0.1.58
安装 LangGraph CLI¶
🌱 创建 LangGraph 应用¶
使用 react-agent
模板创建一个新应用。这个模板是一个简单的智能体,可以灵活地扩展以使用许多工具。
附加模板
如果您在使用 langgraph new
时没有指定模板,将会弹出一个交互式菜单,让您从可用模板列表中进行选择。
安装依赖¶
在新 LangGraph 应用的根目录下,以 edit
模式安装依赖,以便服务器使用您的本地更改
创建 .env
文件¶
您将在新 LangGraph 应用的根目录下找到一个 .env.example
文件。在新 LangGraph 应用的根目录下创建一个 .env
文件,并将 .env.example
文件的内容复制到其中,填写必要的 API 密钥
获取 API 密钥
- LANGSMITH_API_KEY:前往 LangSmith 设置页面。然后点击 Create API Key。
- 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:2024
内存模式
langgraph dev
命令以内存模式启动 LangGraph 服务器。此模式适用于开发和测试目的。对于生产用途,您应该部署具有持久存储后端的 LangGraph 服务器。
如果您想使用持久存储后端测试您的应用,可以使用 langgraph up
命令代替 langgraph dev
。使用此命令需要在您的机器上安装 docker
。
LangGraph Studio Web UI¶
LangGraph Studio Web 是一个专门的 UI,您可以将其连接到 LangGraph API 服务器,以便在本地实现应用的可视化、交互和调试。通过访问 langgraph dev
命令输出中提供的 URL,在 LangGraph Studio Web UI 中测试您的图。
- LangGraph Studio Web UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
连接到带有自定义主机/端口的服务器
如果您使用自定义主机/端口运行 LangGraph API 服务器,可以通过更改 baseUrl
URL 参数将 Studio Web UI 指向它。例如,如果您的服务器运行在端口 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, # Threadless run
"agent", # Name of assistant. Defined in 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, # Threadless run
"agent", # Name of assistant. Defined in 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");
// only set the apiUrl if you changed the default port when calling langgraph dev
const client = new Client({ apiUrl: "http://localhost:2024"});
const streamResponse = client.runs.stream(
null, // Threadless run
"agent", // Assistant 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 Cloud¶
- LangGraph Cloud 快速入门:使用 LangGraph Cloud 部署您的 LangGraph 应用。
📚 了解更多关于 LangGraph Platform 的信息¶
通过这些资源扩展您的知识
- LangGraph Platform 概念:了解 LangGraph Platform 的基本概念。
- LangGraph Platform 操作指南:发现构建和部署应用的逐步指南。
🛠️ 开发者参考¶
访问开发和 API 使用的详细文档
- LangGraph Server API 参考:探索 LangGraph Server API 文档。
- Python SDK 参考:探索 Python SDK API 参考。
- JS/TS SDK 参考:探索 JS/TS SDK API 参考。