快速入门:启动本地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 设置页面。然后点击 创建 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:2024
内存模式
langgraph dev
命令启动 LangGraph 服务器时使用的是内存模式。这种模式适合于开发和测试目的。对于生产环境,你应该部署 LangGraph 服务器并提供持久存储后端的访问权限。
如果你想使用持久存储后端测试你的应用程序,可以使用 langgraph up
命令代替 langgraph dev
。你需要在你的机器上安装 docker
才能使用此命令。
LangGraph Studio Web UI¶
LangGraph Studio Web 是一个专门的用户界面,可以连接到 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, # 无线程运行
"agent", # 助手名称。在langgraph.json中定义。
input={
"messages": [{
"role": "human",
"content": "What is 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:2024")
for chunk in client.runs.stream(
None, # 无线程运行
"agent", # 助手名称。在langgraph.json中定义。
input={
"messages": [{
"role": "human",
"content": "What is 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 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(`接收新事件类型: ${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参考。