Skip to content

快速开始:启动本地 LangGraph 服务器

这是一个快速开始指南,帮助您在本地启动 LangGraph 应用。

要求

  • Python >= 3.11
  • LangGraph CLI: 需要 langchain-cli[inmem] >= 0.1.58

安装 LangGraph CLI

pip install -U "langgraph-cli[inmem]" python-dotenv

🌱 创建 LangGraph 应用

react-agent 模板创建一个新应用。这个模板是一个简单的代理,可以灵活地扩展至多种工具。

langgraph new path/to/your/app --template react-agent-python 
langgraph new path/to/your/app --template react-agent-js

其他模板

如果您使用 langgraph new 而不指定模板,将会出现一个交互式菜单,让您从可用模板列表中选择。

安装依赖

在新的 LangGraph 应用的根目录中,以 编辑 模式安装依赖,这样服务器将应用您的本地更改:

pip install -e .

创建 .env 文件

您会在新的 LangGraph 应用的根目录中找到 .env.example。在新的 LangGraph 应用的根目录中创建一个 .env 文件,并将 .env.example 文件的内容复制到其中,填写必要的 API 密钥:

LANGSMITH_API_KEY=lsv2...
TAVILY_API_KEY=tvly-...
ANTHROPIC_API_KEY=sk-
OPENAI_API_KEY=sk-...
获取 API 密钥

🚀 启动 LangGraph 服务器

langgraph dev

这将本地启动 LangGraph API 服务器。如果运行成功,您应该会看到类似于以下内容:

准备好了!

内存模式

langgraph dev 命令在内存模式下启动 LangGraph 服务器。该模式适合开发和测试目的。对于生产用途,您应该将 LangGraph 服务器部署到具有持久存储后端的环境中。

如果您想使用持久存储后端来测试您的应用程序,可以使用 langgraph up 命令,而不是 langgraph dev。您需要在计算机上安装 docker 才能使用此命令。

LangGraph Studio Web UI

通过访问 langgraph up 命令输出提供的 URL 在 LangGraph Studio Web UI 中测试您的图。

Safari 兼容性

目前,LangGraph Studio Web 在本地运行服务器时不支持 Safari。

测试 API

安装 LangGraph Python SDK

pip install langgraph-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

pip install langgraph-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

npm install @langchain/langgraph-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 平台的信息

通过以下资源扩展您的知识:

🛠️ 开发者参考

获取开发和 API 使用的详细文档:

优云智算