展开本页目录
开始前准备什么
- 下载完整练习包,在独立目录阅读README与已执行范围。
- 安装requirements.txt指定版本或使用文中目标工具;依赖与模型权重不要混入网站工程。
- 只有明确标为已执行的部分有本次证据;真实模型、账号或GPU步骤按自己的环境另行验证。
- 准备两版真正不同的PNG
- 核对Artifact作用域
- 保存第一版二进制结果
- 用相同文件名保存第二版
- 按版本分别加载并比字节
- 验证不存在版本的行为
- 换Agent工具时另测生成链路
1. 准备两版真正不同的PNG
chart-versions.json只把第三点15改为23,chart-v0.png和chart-v1.png来自这两组作者数据。先查看图像和SHA,不能复制同一图片冒充版本变化。
2. 核对Artifact作用域
练习使用app=lesson、fictional-user和lesson-session,同名sales.png写在同一作用域。用户级文件命名规则与会话作用域应按当前ADK文档区分。
本题独立目录执行
python reference/audit.py3. 保存第一版二进制结果
run_sdk.py使用真实InMemoryArtifactService和types.Part.from_bytes保存PNG,记录save_artifact返回的版本号。此处图片由作者绘制,不是Agent生成。
本题SDK或目标环境入口
python reference/run_sdk.py4. 用相同文件名保存第二版
第二张图仍叫sales.png,保存后得到新版本。原文件字节保留在fixtures,便于独立核对服务回读内容。
5. 按版本分别加载并比字节
调用load_artifact(version=0/1)并计算SHA。只有两个hash分别匹配对应PNG,才证明版本不是仅在页面上改了标签。
6. 验证不存在版本的行为
negative-version.json要求99,脚本应得到None并明确显示不存在,不能偷偷回退最新版本。所有结果保存在sdk-contract.json。
7. 换Agent工具时另测生成链路
把真正生成图片的工具接入Agent后,再核对工具写入与模型返回引用。本文的InMemory服务在进程退出后不会持久化,不把版本保存测试说成永久云存储或AI生图完成。
怎样确认已经完成
- 版本号与字节对应
- 第一版仍可找回
- 会话与用户作用域写明
- 已实际运行Google ADK InMemoryArtifactService,保存两版作者PNG并按版本核对字节和不存在版本;未运行Agent生成图片,进程内服务不跨进程持久化。
常见问题
Google ADK生成的图片怎么保存多个版本?
将图片字节通过ArtifactService以相同filename多次save,保存返回version;不能只覆盖磁盘文件再声称有版本。
ADK Artifacts怎么找回上一次的二进制结果?
用明确version调用load并对SHA。真实内存ADK实验保存两张不同PNG,versions为0/1,版本99返回None;不保证跨进程持久化。
这篇教程哪些步骤已经真正执行?
已实际运行Google ADK InMemoryArtifactService,保存两版作者PNG并按版本核对字节和不存在版本;未运行Agent生成图片,进程内服务不跨进程持久化。



