Python之DeepAgents自动摘要触发

简介: DeepAgents是基于LangChain的智能体框架,核心特性之一为自动摘要功能:当上下文超长导致模型报错时,自动触发摘要压缩,再重试推理。需显式设置`max_input_tokens`参数启用,支持流式输出摘要日志。

DeepAgents简介

基于langchain的harness范式的智能体框架DeepAgents。一个重要特征就是自动摘要。

官网参考:https://docs.langchain.com/oss/python/deepagents/context-engineering#context-compression


自动摘要

重要参数:max_input_tokens

如果没有设置该参数,无法触发自动摘要;

长上下文时,还会因为上下文超长,导致模型报错。


参数设置

利用langchain_openai.ChatOpenAI,构建模型,来创建deepagents,是无法设置该参数的。

上代码如下:

# 基础配置
base_url = config.get("LLM").get("BASE_URL")
api_key = config.get("LLM").get("APP_KEY")
model_name = config.get("LLM").get("MODEL")

# 参数设置
custom_profile = {
    "max_input_tokens": 100_000,
    "tool_calling": True,
    "structured_output": True
}

# 模型构造
open_ai_client = init_chat_model(
    model_name,
    model_provider="openai",
    base_url=base_url,
    api_key=api_key,
    profile=custom_profile
)

# 创建DeepAgent实例
agent = create_deep_agent(
    model=open_ai_client,
    system_prompt=sys_prompt,
    middleware=[
        log_tool_calls
    ],
    tools=tools,
    permissions=permissions,
    backend=backend,
    checkpointer=mongo_db_checkpoint_saver
)

流式输出

流式输出的时候,可以打印,自动摘要相关日志。

代码如下:

for token, metadata in deep_agent.stream(
        {"messages": messages},
        stream_mode="messages",
        config=deep_agent_config
):
    if metadata.get("lc_source") == "summarization":
        print(f"------------ {token} | {metadata}")
        continue
    if isinstance(token, AIMessageChunk):
        pass
    # 工具调用
    if isinstance(token, ToolMessage):
        pass

那么触发自动摘要时,如下日志:

AI: ------------ content="Error code: 400 - {'error': {'message': 'max_tokens must be at least 1, got -3011.', 'type': 'BadRequestError', 'param': None, 'code': 400}}" additional_kwargs={} response_metadata={'finish_reason': 'error', 'model_name': 'deepseek-v32', 'model_provider': 'openai'} id='lc_run--019dd3a2-e201-77b0-b46e-76a2e161a223' tool_calls=[] invalid_tool_calls=[] tool_call_chunks=[] | {'ls_integration': 'langchain_chat_model', 'versions': {'deepagents': '0.5.3'}, 'lc_agent_name': None, 'thread_id': 'sdrowero234249jdoisjfoiet93xxxxx', 'langgraph_step': 98, 'langgraph_node': 'model', 'langgraph_triggers': ('branch:to:model',), 'langgraph_path': ('__pregel_pull', 'model'), 'langgraph_checkpoint_ns': 'model:9aa67f14-cb76-bc8c-7a9b-5565ea76f89c', 'lc_source': 'summarization', 'checkpoint_ns': 'model:9aa67f14-cb76-bc8c-7a9b-5565ea76f89c', 'ls_provider': 'openai', 'ls_model_name': 'DeepSeek-V3.2', 'ls_model_type': 'chat', 'ls_temperature': None}
------------ content='' additional_kwargs={} response_metadata={} id='lc_run--019dd3a2-e201-77b0-b46e-76a2e161a223' tool_calls=[] invalid_tool_calls=[] tool_call_chunks=[] chunk_position='last' | {'ls_integration': 'langchain_chat_model', 'versions': {'deepagents': '0.5.3'}, 'lc_agent_name': None, 'thread_id': 'sdrowero234249jdoisjfoiet93xxxxx', 'langgraph_step': 98, 'langgraph_node': 'model', 'langgraph_triggers': ('branch:to:model',), 'langgraph_path': ('__pregel_pull', 'model'), 'langgraph_checkpoint_ns': 'model:9aa67f14-cb76-bc8c-7a9b-5565ea76f89c', 'lc_source': 'summarization', 'checkpoint_ns': 'model:9aa67f14-cb76-bc8c-7a9b-5565ea76f89c', 'ls_provider': 'openai', 'ls_model_name': 'DeepSeek-V3.2', 'ls_model_type': 'chat', 'ls_temperature': None}
非常好!你已经具备了扎实的研究基础。我给你一个详细的转型和发论文策略:

可以看出:

1、自动摘要也是被动的,先用上下文调用大语言模型;

2、调用失败之后,触发自动摘要;

3、自动摘要之后,再重新调用大语言模型,生成响应。

相关文章
|
8天前
|
缓存 人工智能 自然语言处理
我对比了8个Claude API中转站,踩了不少坑,总结给你
本文是个人开发者耗时1周实测的8大Claude中转平台横向评测,聚焦Claude Code真实体验:以加权均价(¥/M token)、内部汇率、缓存支持、模型真实性及稳定性为核心指标。
3512 20
|
20天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
18105 60
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
1天前
|
SQL 人工智能 弹性计算
阿里云发布 Agentic NDR,威胁检测与响应进入智能体时代
欢迎前往阿里云云防火墙控制台体验!
1158 2
|
4天前
|
人工智能 JSON BI
DeepSeek V4 来了!超越 Claude Sonnet 4.5,赶紧对接 Claude Code 体验一把
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro 的真实体验与避坑记录 本文记录我将 Claude Code 对接 DeepSeek 最新模型(V4Pro)后的真实体验,测试了 Skills 自动化查询和积木报表 AI 建表两个场景——有惊喜,也踩
1946 8
|
16天前
|
人工智能 JavaScript Ubuntu
低成本搭建AIP自动化写作系统:Hermes保姆级使用教程,长文和逐步实操贴图
我带着怀疑的态度,深度使用了几天,聚焦微信公众号AIP自动化写作场景,写出来的几篇文章,几乎没有什么修改,至少合乎我本人的意愿,而且排版风格,也越来越完善,同样是起码过得了我自己这一关。 这个其实OpenClaw早可以实现了,但是目前我觉得最大的区别是,Hermes会自主总结提炼,并更新你的写作技能。 相信就冲这一点,就值得一试。 这篇帖子主要就Hermes部署使用,作一个非常详细的介绍,几乎一步一贴图。 关于Hermes,无论你赞成哪种声音,我希望都是你自己动手行动过,发自内心的选择!
3183 29
|
3天前
|
人工智能 缓存 BI
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro,跑完 Skills —— OA 审批、大屏、报表、部署 5 大实战场景后的真实体验 ![](https://oscimg.oschina.net/oscnet/up608d34aeb6bafc47f
1567 3
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
|
4天前
|
机器学习/深度学习 缓存 测试技术
DeepSeek-V4开源:百万上下文,Agent能力比肩顶级闭源模型
DeepSeek-V4正式开源!含V4-Pro(1.6T参数)与V4-Flash(284B参数)双版本,均支持百万token上下文。首创混合注意力架构,Agent能力、世界知识与推理性能全面领先开源模型,数学/代码评测比肩顶级闭源模型。
1752 6
|
5天前
|
人工智能 测试技术 API
阿里Qwen3.6-27B正式开源:网友直呼“太牛了”!
阿里云千问3.6系列重磅开源Qwen3.6-27B稠密大模型!官网:https://t.aliyun.com/U/JbblVp 仅270亿参数,编程能力媲美千亿模型,在SWE-bench等权威基准中表现卓越。支持多模态理解、本地部署及OpenClaw等智能体集成,已开放Hugging Face与ModelScope下载。

热门文章

最新文章