计划和执行 (LangGraph) 机器人#

这是一个示例聊天机器人,展示了计划和执行 LangGraph 管线,该管线使用 LLM 和 Tavily 搜索来回答复杂问题。它首先计划需要解决的步骤,并使用 Tavily 通过互联网搜索执行这些步骤。然后,它使用 LLM 确定是否已找到答案,或者是否需要重新规划问题。

计划和执行机器人展示了以下 ACE Agent 功能

先决条件

  1. 在此处创建 Tavily API 密钥。我们使用 Tavily 执行互联网搜索来回答问题。

    export TAVILY_API_KEY=...
    
  2. 将其添加到 deploy/docker/.env

    TAVILY_API_KEY=${TAVILY_API_KEY}
    

基于 Docker 的机器人部署

  1. 在启动机器人之前,使用您的 OpenAI API 密钥设置 OPENAI_API_KEY 环境变量。

    export OPENAI_API_KEY=...
    
  2. langgraph_plan_and_execute/plugin/requirements_dev.txt 中的需求复制到 deploy/docker/dockerfiles/plugin_server.Dockerfile 中。

    ##############################
    # Install custom dependencies
    ##############################
    RUN pip3 install \
        tavily-python==0.3.3 \
        langgraph==0.0.31 \
        langchain-openai==0.1.2 \
        langchain==0.1.12
    
  3. 为 Docker Compose 命令准备环境。

    export BOT_PATH=./samples/langgraph_plan_and_execute/
    source deploy/docker/docker_init.sh
    
  4. 部署 ACE Agent 微服务。部署聊天引擎、插件服务器和 NLP 服务器微服务。

    docker compose -f deploy/docker/docker-compose.yml up --build event-bot -d
    
  5. 使用 URL http://<工作站 IP>:7006/ 与机器人交互。

LangGraph bot sample conversation

注意

由于 LangGraph 示例的复杂性,此机器人具有高延迟。这可能使其不适合语音管线。可以通过降低插件目录中 LangGraph 图的复杂性来降低延迟。