原文链接: https://docs.langchain.com/oss/python/langchain/deploy
当你准备将 LangChain 智能体部署到生产环境时,LangSmith 提供了一个专为智能体工作负载设计的托管平台。传统托管平台是为无状态、短生命周期的 Web 应用构建的,而 LangGraph 专为有状态、长时间运行的智能体设计,需要持久化状态和后台执行。
LangSmith 处理基础设施、扩展和运维问题,让你可以直接从仓库部署。
开始前,请确保:
- GitHub 账户
- LangSmith 账户(免费注册)
你的应用代码必须位于 GitHub 仓库中才能部署到 LangSmith。支持公共和私有仓库。
对于此快速开始,首先确保你的应用与 LangGraph 兼容(按照本地服务器设置指南),然后将代码推送到仓库。
登录 LangSmith。在左侧边栏,选择 Deployments。
点击 + New Deployment 按钮。将打开一个面板,你可以在其中填写必填字段。
如果你是首次使用,或要添加之前未连接的私有仓库,请点击 Add new account 按钮,按照说明连接你的 GitHub 账户。
选择你的应用仓库。点击 Submit 进行部署。这可能需要大约 15 分钟完成。你可以在 Deployment details 视图中查看状态。
部署完成后:
- 选择你刚创建的部署以查看详细信息。
- 点击右上角的 Studio 按钮。Studio 将打开并显示你的图。
- 在 LangGraph 的 Deployment details 视图中,点击 API URL 将其复制到剪贴板。
- 点击
URL将其复制到剪贴板。
现在你可以测试 API:
- 安装 LangGraph Python:
pip install langgraph-sdk- 向智能体发送消息:
from langgraph_sdk import get_sync_client # 或使用 get_client 用于异步
client = get_sync_client(url="your-deployment-url", api_key="your-langsmith-api-key")
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")curl -s --request POST \
--url <DEPLOYMENT_URL>/runs/stream \
--header 'Content-Type: application/json' \
--header "X-Api-Key: <LANGSMITH API KEY>" \
--data "{
\"assistant_id\": \"agent\", # 智能体名称,在 langgraph.json 中定义
\"input\": {
\"messages\": [
{
\"role\": \"human\",
\"content\": \"What is LangGraph?\"
}
]
},
\"stream_mode\": \"updates\"
}"LangSmith 还提供其他托管选项,包括自托管和混合部署。更多信息请参见 Platform setup overview。
本文档由 LangChain 官方文档翻译而来