LANGCHAIN_1.0_MIGRATION.md 2.58 KB

LangChain 1.0 升级说明

一、升级概览

本项目已完成从 LangChain 0.3 到 LangChain 1.x 的升级,并同步升级 LangGraph 至 1.x。升级后兼容 Python 3.12。

二、依赖变更

升级前 升级后
langchain >=0.3.0 >=1.0.0
langchain-core (间接依赖) >=0.3.0
langchain-openai >=0.2.0 >=0.2.0
langgraph >=0.2.74 >=1.0.0
langchain-community >=0.4.0 已移除(项目未使用)

三、代码改造说明

3.1 保持不变的部分

项目采用 自定义 StateGraph 架构(非 create_react_agent),以下导入在 LangChain/LangGraph 1.x 中保持兼容:

from langchain_core.messages import BaseMessage, HumanMessage, SystemMessage
from langchain_openai import ChatOpenAI
from langgraph.checkpoint.memory import MemorySaver
from langgraph.graph import END, START, StateGraph
from langgraph.graph.message import add_messages
from langgraph.prebuilt import ToolNode
from langchain_core.tools import tool

3.2 已适配的变更

  1. 消息内容提取:LangChain 1.0 引入 content_blockscontent 可能为字符串或 multimodal 列表。新增 _extract_message_text() 辅助函数,统一处理两种格式。
  2. 依赖精简:移除未使用的 langchain-community,减少依赖冲突。

3.3 LangChain 1.0 主要变更(参考)

  • 包命名空间精简:核心功能移至 langchain-corelangchain 主包聚焦 Agent 构建
  • create_agent:若未来迁移到 langchain.agents.create_agent,可参考 docs/Skills实现方案-LangChain1.0.md
  • langchain-classic:Legacy chains、Retrievers 等已迁移至 langchain-classic,本项目未使用

四、环境要求

  • Python:3.12+(LangChain 1.x 要求 Python 3.10+,不支持 3.9 及以下)
  • 若系统默认 Python 版本过低,需使用虚拟环境:
# 方式 1:使用 conda(推荐,项目根目录 scripts/setup_conda_env.sh)
conda create -n shop_agent python=3.12
conda activate shop_agent
pip install -r requirements.txt

# 方式 2:使用 pyenv
pyenv install 3.12
pyenv local 3.12
pip install -r requirements.txt

# 方式 3:使用 venv(需系统已安装 python3.12)
python3.12 -m venv venv
source venv/bin/activate  # Linux/Mac
pip install -r requirements.txt

五、验证

# 验证导入
python -c "
from langchain_core.messages import HumanMessage
from langchain_openai import ChatOpenAI
from langgraph.graph import StateGraph
from langgraph.prebuilt import ToolNode
print('LangChain 1.x 依赖加载成功')
"