Python 搭建具备记忆与人工干预的 Agent 机器人
前言
随着大模型应用开发的兴起,LangGraph 为构建有状态、可循环的 Agent 工作流提供了强大的支持。相比传统的线性调用,LangGraph 允许我们在流程中引入记忆、工具调用以及关键的人工干预节点。本文将演示如何基于 LangGraph 构建一个具备联网搜索能力、支持长期记忆,并在特定高风险场景下自动转接人工客服的智能助手。
前置准备
环境配置
确保 Python 版本在 3.9+(推荐 3.12)。安装核心依赖包:
pip install langgraph langchain-community langchain-openai tavily-python python-dotenv langsmith
python-dotenv 用于读取项目根目录下的 .env 配置文件。
工具介绍
- Tavily:专为 AI 设计的搜索引擎,提供实时联网能力。新用户通常有免费额度,适合学习和测试。
- LangSmith:LangChain 团队推出的可观测性平台,用于调试和监控 LLM 应用的每一步执行,包括输入输出、耗时及内存使用情况。
密钥配置
在根目录创建 .env 文件,填入以下密钥信息:
# 智谱 API Key (或其他兼容 OpenAI 协议的模型)
ZHIPUAI_API_KEY=你的_api_key
# Tavily 智能体搜索工具
TAVILY_API_KEY=你的_tavily_api_key
# LangSmith 追踪配置
LANGSMITH_TRACING=true
LANGSMITH_ENDPOINT=https://api.smith.langchain.com
LANGCHAIN_API_KEY=你的_langsmith_api_key
LANGSMITH_PROJECT="langgraph-agent"
注意:不同模型的
base_url可能不同,代码中需对应调整。
核心实现
1. 导入依赖与环境加载
首先初始化环境变量,并导入必要的组件。
from typing import Annotated
from typing_extensions import TypedDict
from langgraph.graph import StateGraph, START, END
from langgraph.graph.message import add_messages
import os
from dotenv import load_dotenv
pathlib Path
env_path = Path(__file__).parent.parent /
load_dotenv(dotenv_path=env_path)


