发布时间:2026/7/16 22:38:46
停止生成只停前端?后端 Agent 还在跑,acancel 才是真取消 「Regnexe Python 实战系列」第 9 篇共 10 篇对应仓库examples/readme/09_cancel_and_resume.py。上一篇08. Agent 答案错了怎么排查先把 LLM 和工具调用事件打出来。一个产品里绕不开的需求只要你做过聊天式 Agent就一定会遇到“停止生成”按钮。很多实现只是把前端流断开用户看起来停止了但后端任务还在跑模型还在输出工具还在执行账单还在增加。regnexe-py 的acancel()解决的是后端任务取消按app_id / user_id / session_id找到正在运行的 Agent 任务并请求取消。实战代码先启动一个慢工具1、示例里故意做了一个慢工具plugin(idreports,nameReports Plugin)classReportsPlugin:agent_tool(Generate a financial report for a topic. Takes a while to run.,tags[reports])defgenerate_report(self,topic:str)-str:time.sleep(6)returnfReport on{topic}: revenue up 12% quarter-over-quarter.2、为了确定工具真的开始执行示例还写了一个监听器classToolStartListener(ConsoleEventListener):def__init__(self,tool_started:asyncio.Event)-None:super().__init__()self._tool_startedtool_startedasyncdefon_event(self,event_type:str,name:str,data:dict[str,Any])-None:awaitsuper().on_event(event_type,name,data)ifevent_typeTOOL_CALLED:self._tool_started.set()这个asyncio.Event用来避免靠sleep猜时机。3、构建 RegnexeAgent加入 ReportsPlugin 和 ToolStartListeneragent(RegnexeAgentBuilder().with_default_model(Vendor.DEEPSEEK,deepseek-v4-flash).with_plugin(ReportsPlugin()).with_event_listener(ToolStartListener(tool_started)).build())关键点ainvoke 要放到独立 Task 里执行取消要并发触达正在运行的任务所以示例这样启动runasyncio.create_task(agent.ainvoke(Generate a financial report on Q2 sales.,app_idreadme,user_idreader,session_idsession_id,))等工具开始后调用cancelledawaitagent.acancel(app_idreadme,user_idreader,session_idsession_id,)被取消的运行不会直接把异常抛给业务层而是返回AgentResult(statuscancelled)这对 API 层很友好。你可以把状态明确返回给前端而不是让一次取消变成 500 错误。继续执行同一个 session 再调用示例第二阶段没有调用特殊的resume()而是对同一个session_id发起普通ainvoke()result2awaitagent.ainvoke(Please go ahead and finish generating that report.,app_idreadme,user_idreader,session_idsession_id,)原因是这里没有人工审批卡点只是用户主动取消。LangGraph 已经在完成步骤后保存 checkpoint同一个 session 可以继续推进。如果是人工审批式中断那是另一个 APIaresume()。仓库顶层examples/10_interrupt_example.py专门演示这个场景。立即运行试试✈️ ✈️ ✈️ 小结acancel()适合这些产品交互聊天框停止生成用户取消长报告生成前端页面关闭后终止后端 Agent 任务任务耗时过长时主动停止记住两个关键点运行中的ainvoke()要放在独立asyncio.Task里取消要用同一组app_id / user_id / session_id定位任务到这里regnexe-py 的 9 个 README 示例就串完了从with_tool快速接入到 Skill/Sub-Agent、插件、目录加载、Marketplace、记忆、事件再到取消与继续。它们解决的不是“怎么调一次模型”而是“怎么把 Agent 做成一个能接业务系统的 Python 应用”。 上一篇08. Agent 答案错了怎么排查先把 LLM 和工具调用事件打出来 系列开篇00. 别再把 Python Agent 写成 Demo 了我开源了一个能管插件、记忆、事件、取消的框架 项目地址https://github.com/flower-trees/regnexe-py

相关新闻

2026/7/16 22:33:46

Steam成就管理神器:掌控游戏数据的终极指南

Steam成就管理神器:掌控游戏数据的终极指南 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager Steam成就管理工具(Steam Achievement …

2026/7/16 22:33:46

动态策略推理揭秘:SingGuard-8b如何实现运行时安全规则适配

动态策略推理揭秘:SingGuard-8b如何实现运行时安全规则适配 【免费下载链接】SingGuard-8b 项目地址: https://ai.gitcode.com/hf_mirrors/inclusionAI/SingGuard-8b 在当今AI安全领域,SingGuard-8b作为一个创新的多模态大语言模型护栏&#xff…

2026/7/17 3:24:44

Python实现获取手机通讯录文件并导出为excel

这段代码的核心功能是解析从手机导出的VCF格式通讯录文件,并将其中的联系人信息(如姓名、电话号码、邮箱等)转换并保存为结构清晰、易于编辑的Excel表格。它专门解决了VCF文件(vCard格式)用文本编辑器查看杂乱无章、无…

2026/7/17 3:24:44

Transformers.js:浏览器本地运行AI模型的实践指南

1. Transformers.js 浏览器本地运行 AI 的核心价值Transformers.js 的出现彻底改变了前端开发者使用 AI 模型的方式。这个由 Hugging Face 推出的 JavaScript 库,让我们能够直接在浏览器中运行预训练的机器学习模型,完全不需要后端服务器的支持。这种技术…

2026/7/17 3:24:44

AI协作中的效率陷阱与解决方案

1. 项目背景:AI协作中的效率陷阱去年我在参与一个跨学科研究项目时,亲身经历了GPT模型协作的"蜜月期"和"阵痛期"。最初团队5个成员各自使用GPT-4独立工作时,任务完成准确率能稳定在95%以上。但当我们需要协同完成一个复杂…

2026/7/17 3:24:44

机器人多模态感知链路:从像素到语义的工业级落地实践

1. 项目概述:为什么“从像素到语义”是具身智能的生死线你有没有试过让一个机器人在陌生房间里自主找杯子?它摄像头拍到一堆模糊色块,深度图全是噪点,YOLO11框出了三个疑似目标——但哪个是杯子?哪个是水壶&#xff1f…

2026/7/17 3:24:44

WSL 2安装配置与性能优化全指南

1. 为什么开发者需要WSL?在Windows环境下直接运行Linux子系统(WSL)的需求源于开发者工作流的本质矛盾。传统跨平台开发要么需要配置双系统(频繁重启切换),要么依赖虚拟机(资源占用高&#xff09…

2026/7/17 3:19:44

你的第一个量化实验——Quant-for-Beginners 量化入门Task3

​ 学习内容来源:https://github.com/datawhalechina/quant-for-beginners 由Datawhale主办的Quant-for-Beginners 中文零基础量化金融 Notebook 路线一 股票数据 OHLCV 是股票日线数据最常见的五个字段: 开盘 Open 当天第一笔成交价 最高 High 当天成交…

2026/7/15 17:04:06

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/17 1:21:45

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/15 23:18:22

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/17 0:04:23

BiSheng JDK-build性能调优:构建速度提升30%的优化策略

BiSheng JDK-build性能调优:构建速度提升30%的优化策略 【免费下载链接】bishengjdk-build BiSheng JDK build and test scripts - common across all releases/versions 项目地址: https://gitcode.com/openeuler/bishengjdk-build 前往项目官网免费下载&am…

2026/7/16 13:58:36

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…