Python 搭建具备记忆与人工干预功能的搜索机器人
前言
基于 LangGraph 框架,构建一个具备记忆能力、支持联网搜索及人工干预的智能聊天机器人。通过状态图管理对话流程,实现复杂任务的处理。
前置准备
- 环境配置:Python 3.9+
- 依赖安装:
pip install langgraph langchain-community langchain-openai tavily-python python-dotenv langsmith
- 密钥获取:
- Tavily:用于 AI 搜索引擎,注册后获取 API Key。
- LangSmith:用于链路追踪与评估,创建 Project 并获取 API Key。
- 大模型 API:如智谱、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
from langchain_tavily TavilySearch
langchain.chat_models init_chat_model
langchain_core.messages SystemMessage
langgraph.prebuilt ToolNode, tools_condition
langgraph.checkpoint.memory InMemorySaver
env_path = Path(__file__).parent.parent /
load_dotenv(dotenv_path=env_path)


