Python 基于 LangGraph 搭建带记忆与人工干预的搜索机器人
前言
本文介绍如何使用 Python 和 LangGraph 框架构建具备记忆功能、支持联网搜索及人工干预机制的智能聊天机器人。通过集成 Tavily 搜索工具和自定义中断逻辑,实现复杂任务处理与专业领域的人工接管。
前置准备
环境配置
- Python 3.9+
- 安装依赖:
pip install langgraph langchain-community langchain-openai tavily-python python-dotenv langsmith
密钥获取
- Tavily: 注册账号后在控制台获取 API Key(每月有免费额度)。
- LangSmith: 创建项目并生成 API Key,用于链路追踪。
- 大模型 API: 如智谱 AI、OpenAI 等,需配置
base_url和model。
.env 配置
在根目录创建 .env 文件:
ZHIPUAI_API_KEY=你的 apikey
TAVILY_API_KEY=Tavily APIKEY
LANGSMITH_TRACING=true
LANGSMITH_ENDPOINT=https://api.smith.langchain.com
LANGCHAIN_API_KEY=LangSmith 的 APIKEY
LANGSMITH_PROJECT="langgraph-agent"
核心代码实现
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
from pathlib import Path
from langgraph.types import Command, interrupt
from langchain_core.tools import tool
langchain_tavily TavilySearch
langchain.chat_models init_chat_model
langchain_core.messages SystemMessage
env_path = Path(__file__).parent.parent /
load_dotenv(dotenv_path=env_path)


