跳到内容

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

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

要求

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

安装 LangGraph CLI

pip install --upgrade "langgraph-cli[inmem]"

🌱 创建 LangGraph 应用

react-agent 模板创建一个新应用。此模板是一个简单的 agent,可以灵活地扩展到许多工具。

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

其他模板

如果您使用 langgraph new 而不指定模板,您将看到一个交互式菜单,允许您从可用模板列表中选择。

安装依赖

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

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 Studio Web 是一个专门的 UI,您可以连接到 LangGraph API 服务器,以在本地启用应用程序的可视化、交互和调试。通过访问 langgraph dev 命令输出中提供的 URL,在 LangGraph Studio Web UI 中测试您的图。

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

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

https://smith.langchain.com/studio/baseUrl=http://127.0.0.1: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

npm install @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 使用的详细文档

评论