Skip to content

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

本快速入门指南将帮助您在本地启动并运行一个 LangGraph 应用程序。

要求

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

安装 LangGraph CLI

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

🌱 创建一个 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 界面

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://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,  # 无线程运行
    "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")

安装 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,  # 无线程运行
    "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")

安装 LangGraph JS SDK

npm install @langchain/langgraph-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(`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 使用的详细文档:

Comments