跳到内容

快速入门:启动本地 LangGraph 服务器

这是一个快速入门指南,帮助您在本地启动并运行 LangGraph 应用。

安装 LangGraph CLI

$ npx @langchain/langgraph-cli@latest

# Or install globally, will be available as `langgraphjs`
$ npm install -g @langchain/langgraph-cli

🌱 创建 LangGraph 应用

创建一个新应用并按照说明操作,选择 ReAct Agent 作为模板。此模板是一个简单的代理,可以灵活扩展以支持多种工具。

$ npm create langgraph

安装依赖项

在您的新 LangGraph 应用根目录中,以 edit 模式安装依赖项,以便服务器使用您的本地更改

$ yarn

创建 .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 服务器

$ npx @langchain/langgraph-cli@latest dev

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

内存模式

langgraphjs dev 命令以内存模式启动 LangGraph 服务器。此模式适用于开发和测试目的。对于生产环境,您应该部署 LangGraph Cloud 并访问持久性存储后端。

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

LangGraph Studio Web 用户界面

LangGraph Studio Web 是一个专门的用户界面,您可以连接到 LangGraph API 服务器,以实现在本地对应用程序进行可视化、交互和调试。通过访问 langgraph dev 命令输出中提供的 URL,在 LangGraph Studio Web 用户界面中测试您的图。

连接到自定义主机/端口的服务器

如果您正在使用自定义主机/端口运行 LangGraph API 服务器,可以通过更改 baseUrl URL 参数将 Studio Web 用户界面指向它。例如,如果您在端口 8000 上运行服务器,可以将上述 URL 更改为以下内容:

https://smith.langchain.com/studio/baseUrl=http://localhost:8000

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: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

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

$ yarn add @langchain/langgraph-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");
}
curl -s --request POST \
    --url "http://localhost:2024/runs/stream" \
    --header 'Content-Type: application/json' \
    --data "{
        \"assistant_id\": \"agent\",
        \"input\": {
            \"messages\": [
                {
                    \"role\": \"human\",
                    \"content\": \"What is LangGraph?\"
                }
            ]
        },
        \"stream_mode\": \"updates\"
    }" 

认证

如果您连接到远程服务器,需要提供 LangSmith API 密钥进行授权。请参阅客户端的 API 参考以获取更多信息。

下一步

现在您已在本地运行 LangGraph 应用,通过探索部署和高级功能进一步您的旅程。

🌐 部署到 LangGraph 云

📚 了解更多 LangGraph 平台信息

通过这些资源扩展您的知识

🛠️ 开发者参考

访问开发和 API 使用的详细文档