数据存储优化(agno v232版本更新详细解读内存管理优化与SQLite查询改进)

数据存储优化(agno v232版本更新详细解读内存管理优化与SQLite查询改进)

adminqwq 2025-11-30 社会资讯 1 次浏览 0个评论
agno v2.3.2版本更新详细解读:内存管理优化与SQLite查询改进

在2025年11月22日,agno发布了v2.3.2版本,本次更新主要围绕数据库内存管理、SQLite查询优化、测试流程完善等方面进行了改进和修复。本文将基于更新日志和具体代码变更,从多个角度详细解析本次版本的技术更新。

一、测试与工作流改进

在.github/workflows/test_on_release.yml中新增了AgentOS集成测试任务:

• 新增test-agent-os任务,使用Python 3.12运行。

• 集成测试忽略部分接口目录(a2a、agui),只运行指定的os相关测试内容。

• 增加了uv的安装步骤与dev_setup.sh脚本执行,确保开发环境一致性。

这一改动主要是为了加强AgentOS模块的稳定性验证,提升发布前测试覆盖率。

二、API参数与兼容性调整

在agent.py与team.py中,针对run与arun方法的参数进行了优化:

• yield_run_response参数由原来的bool类型改为可选的Optional[bool],并保留向后兼容逻辑。

• 调用时使用bool(yield_run_output or yield_run_response)来确保布尔类型,避免None带来的潜在逻辑错误。

此改动明确了参数类型和兼容逻辑,减少了运行时的类型问题。

三、内存管理优化

在memory.py与manager.py中,用户内存数据结构与时间字段处理方式进行了统一优化:

• created_at与updated_at字段由datetime类型改为UNIX秒级时间戳(int),提升存储与比较的效率。

• 当未提供时间戳时,使用now_epoch_s()生成当前时间。

• 在to_dict方法中,时间戳会优先转为datetime格式后输出ISO 8601字符串,确保API输出的可读性。

内存排序逻辑也进行了调整:

• 如果updated_at为空,则在最后或最前进行排序。

• 排序时统一使用整数时间戳,避免混用datetime对象。

这些改动显著提高了内存数据在数据库与程序内的一致性,也优化了排序性能。

四、SQLite查询改进

在sqlite.py与async_sqlite.py中,查询逻辑优化了按主题(topics)检索用户内存:

• 原有方式使用topics::text LIKE语法改为func.cast(table.c.topics, String).like(...),提高了SQLite兼容性和查询可读性。

• 支持多主题条件循环添加where过滤,提升精准检索能力。

此外,在sqlite.py的get_user_memory_stats方法中:

• total_count如果查询结果为None则返回0,避免统计为空时报错。

这些改动提升了在SQLite上的跨版本兼容性,避免因SQL语法不同导致的查询失败。

五、接口调用参数校验

在os/routers/memory/memory.py中,用户内存统计接口新增了分页参数类型校验:

• limit与page参数在进入数据库查询前强制转为整数。

• 默认值调整为limit=20、page=1,提高了接口的健壮性。

六、其他小修正

在os/router.py的migrate_database中,删除了多余的空行与不必要的缩进,使代码更简洁。

七、总结

agno v2.3.2版本的更新重点集中在:

1. 测试工作流增强,增加AgentOS集成测试。

2. 参数类型优化,减少潜在的类型错误。

3. 内存时间戳统一化,提升性能与一致性。

4. SQLite查询语法优化,增强兼容性。

5. 接口参数校验,保证调用安全性。

本次版本的改动,既有底层的数据结构与存储优化,也有上层接口和测试体系的完善,为后续功能的稳定运行打下了坚实基础。

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。

欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。

转载请注明来自海坡下载,本文标题:《数据存储优化(agno v232版本更新详细解读内存管理优化与SQLite查询改进)》

每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,1人围观)参与讨论

还没有评论,来说两句吧...