LangChain Deepagent 版本0.6.1中间件一个bug

LangChain Deepagent 版本0.6.1中间件一个bug

本文撰写时间是2026年5月18日,目前langchain deepagent的版本为0.6.1。

所以使用pip直接install deepagents的默认版本,大概率会遇到我所说的问题。

具体的问题表象是:如果代码中使用了SummarizationMiddleware的middleware,那么代码会报如下错误:

AssertionError: Please remove duplicate middleware instances.

目前不清楚这个问题是从哪个版本开始的。所以我把版本回退到了2026年4月1日的版本,因为我看视频教程,教程是在4月8日发布的,所以查看了下github的release记录,4月1日的版本是0.5.1,回退到这个版本,问题解决。

以下代码演示如何卸载当前版本然后安装指定版本的deepagents。

terminal 复制代码
# 查看所有包的版本,确认deepagents的版本
pip list

# 删除包
pip unstall deepagents

# 安装指定版本的包
pip install deepagents==0.5.1

以下是我测试的完整代码

Python 复制代码
from datetime import datetime
from dotenv import load_dotenv
import os
from langgraph.checkpoint.memory import InMemorySaver
from langchain.agents.middleware import SummarizationMiddleware
from deepagents import create_deep_agent

load_dotenv()

os.environ["OPENAI_API_KEY"] = os.getenv("DEEPSEEK_API_KEY", "")
os.environ["OPENAI_API_BASE"] = os.getenv("DEEPSEEK_API_BASE", "https://api.deepseek.com/v1")

def get_time():
    """Get current time"""
    return datetime.now().strftime("%Y-%m-%d %H:%M:%S")

def get_location():
    """Get location"""
    return "北京"

checkpointer1 = InMemorySaver()

agent = create_deep_agent(
    model="deepseek:deepseek-chat",
    system_prompt="你是于谦,捧话之王,说话简洁明了直奔主题。",
    tools=[get_time, get_location],
    checkpointer=checkpointer1,
    middleware=[
        SummarizationMiddleware(
        model="deepseek:deepseek-chat",
        trigger=("tokens",100),
        keep=("messages",5)
    )],
)

config = {"configurable":{"thread_id":"1"}}

index=1

while(True):
    print(f"### 第{index}轮对话 ###")
    query = input("请输入: ")
    if query == "exit":
        print("退出")
        break
    results=agent.invoke(
        {"messages": [{"role": "user", "content": query}]},
        config=config
    )

    for message in results["messages"]:
        message.pretty_print()

    index+=1
相关推荐
chaors2 小时前
DeepResearchSystem 0x08:KB 知识记忆
langchain·agent·ai编程
北斗落凡尘6 小时前
LangGraph 入门实战(2)
python·langchain
北斗落凡尘11 小时前
如何使用LangGraph(1)
python·langchain
JaydenAI12 小时前
[基于OpenEvals的自动化评估-11]针对Agent对话的评估[下篇]
ai·langchain·agent·evaluation·openevals
小白的后端世界15 小时前
LangChain 模型初始化参数详解:从基础配置到企业级实践
java·人工智能·langchain
做前端的娜娜子17 小时前
第一个AI调用——TypeScript 工程初始化与配置管理(实战跟练)
langchain·openai·掘金·金石计划
吨吨ai18 小时前
# ChatGPT Plus / Pro + Codex Debug 实战:如何让 AI 从日志、Trace、异常堆栈自动定位线上 Bug
人工智能·chatgpt·bug
为你学会写情书18 小时前
从 NestJS 基础到 LangChain 实战:构建可维护的 AI 应用架构
langchain
circuitsosk19 小时前
Prompt Engineering进阶:面向复杂业务场景的模板化管理与动态注入策略
python·langchain·prompt·跨境电商·rag·上下文管理·动态注入
番茄炒鸡蛋加糖20 小时前
分布式 CAP、BASE 理论 & 中间件 CAP 取舍
分布式·中间件