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应用的根目录下,以edit模式安装依赖项,这样你的本地更改就可以被服务器使用:

pip install -e .

创建一个.env文件

在你的新LangGraph应用的根目录中,你会找到一个.env.example文件。在该应用的根目录下创建一个.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 参数来指向它。例如,如果你的服务器运行在端口 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"接收新事件类型:{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"接收新事件类型:{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(`接收新事件类型:${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