资讯动态

如何运行 A2UI 评估套件:Inspect AI 数据集、解密与执行评分

发布时间:2026/9/15 11:43:04 来源:尧图企业网站定制
如何运行 A2UI 评估套件Inspect AI 数据集、解密与执行评分【免费下载链接】a2ui项目地址: https://gitcode.com/GitHub_Trending/a2/a2uiA2UI 项目内置了一套基于 Inspect AI 框架的评估套件用于验证大模型在给定提示或对话历史下能否生成符合 A2UI schema 与语义规则的 UI 结果。本文的目标是在本地把这套评估跑通先配置 Gemini API key 并解密仓库中加密存储的数据集再用uv run main.py执行评估最后通过 Inspect View 或报告脚本核对评分结果。运行前的准备评估套件位于eval/目录eval/README.md 明确要求工作目录必须是eval/后续所有命令都在该目录下执行。依赖方面eval/pyproject.toml 声明了 Python 要求与核心依赖requires-python 3.10依赖包括inspect-ai0.3.217、a2ui-agent-sdkworkspace 内依赖、jsonschema、pydantic、pytest等统一由uv管理。API key 方面评估打分使用 Gemini Flash 作为 LLM-as-a-judge因此无论被测模型跑在云端还是本地都需要设置 Google Gemini API keyexport GEMINI_API_KEYyour_api_keykey 可以从 Google AI Studio 获取。解密数据集首次使用必做eval/datasets/*.yaml在仓库中以 Transcrypt 加密后的密文形式存储目的是防止公开仓库中的评估提示词被基础模型训练爬取器索引、污染基准结果eval/CONTRIBUTING_USE_CASES.md、eval/DESIGN.md。这意味着直接浏览eval/datasets/只能看到密文看不到明文 YAML。Transcrypt 是一个基于 OpenSSL 的独立脚本eval/bin/transcrypt通过 Git 的 clean/smudge filter 实现透明加解密无需安装系统级包。首次使用时在eval/目录下用共享密码初始化bin/transcrypt -p PASSWORDPASSWORD是评估数据集的共享密码需要向 A2UI 团队索取。初始化完成后git 会在git add时透明加密文件、在 checkout 时透明解密日常使用标准 Git 命令即可。验证是否解密成功的方法eval/datasets/core_v1_0.yaml等文件应呈现可读的 YAML 明文如果文件内容仍然是密文以U2FsdGVkX1之类的编码块开头、无法读出 YAML 结构说明解密未完成。未解密状态下无法正确加载数据集。拉取更新后遇到解密错误如果拉取的更新改动了加密设置例如从 MD5 过渡到 PBKDF2git pull时可能出现解密错误或 OpenSSL 弃用警告。eval/README.md 给出的升级步骤升级本地 Transcrypt 配置保留已保存的密码bin/transcrypt --upgrade强制 Git 用升级后的 smudge filter 重新解密文件git checkout HEAD -- $(git ls-crypt)执行评估先跑 sanity 检查完整运行之前建议先做一次快速验证。--sanity模式只取 2 个样本使用google/gemini-3.1-flash-lite0 次重试eval/main.pyuv run main.py --sanity跑通 sanity 说明 API key、模型调用和评分链路都正常。运行完整评估运行全部数据集uv run main.py按需选择数据集或推理格式。数据集名对应eval/datasets/下的逻辑数据集仓库中现有的包括core_v0_9_1、core_v1_0、multi_turn_conversation_dataseteval/datasets# 运行单个数据集 uv run main.py --dataset multi_turn_conversation_dataset # 运行多个数据集 uv run main.py --datasets core_v0_9_1,multi_turn_conversation_dataset推理格式strategy决定模型以什么形式输出 UI 载荷可选值为direct、subagent_tool、express、elemental、atomeval/main.py。不指定--strategies时默认运行direct和subagent_tool。例如跨格式对比uv run main.py --dataset multi_turn_conversation_dataset --strategies direct,express,elemental几个常用参数均以 eval/main.py 的 argparse 定义为准--model被测模型默认google/gemini-3.8-flash支持别名如gemma-4-26b、gemma-4-31b、gemma-4-e2bOllama等。--grading-model评分模型默认google/gemini-3.8-flash。注意限制Gemma 系列不能用作评分模型代码中会直接抛出ValueError提示改用 Gemini Flash 模型。--limit限制评估的样本数适合先用小样本快速检查例如--dataset core_v1_0 --limit 3。--log-dir日志目录默认logs。运行结束时main.py会打印成功信息并给出日志位置eval/main.pyStarting evaluation for multiple strategies... Evaluations complete. Logs saved to: 绝对路径/logs如果评估失败进程会打印Evaluation returned failure status!并以退出码 1 结束——非零退出码可以作为自动化流程中的失败判定。可选分支评估 Gemma 模型README 提供两条 Gemma 路径且 Gemma 评估默认不参与 CI云端Google AI Studio / Gemini API无需本地 GPU例如uv run main.py --model gemma --strategies express对应google/gemma-4-26b-a4b-it或--model gemma-large对应google/gemma-4-31b-it。本地Ollama需 GPU先ollama serve并ollama pull gemma4:e2b或gemma4:e4b然后运行例如uv run main.py --model gemma-e2b --strategies express --dataset core_v1_0 --limit 3本地离线模型需要 6–8 GB 内存档位的机型。无论云端还是本地GEMINI_API_KEY都必须设置因为评分始终由 Gemini Flash 完成。理解评分是如何产生的eval/DESIGN.md 说明评估采用多阶段评分理解这些阶段有助于解读结果Stage 1 结构与 schema 校验程序化非 LLM调用 A2UI Python SDK 的A2uiValidator校验生成 JSON 的 schema 合规性与层级有效性校验前先经parse_response与payload_fixer处理常见 LLM 格式问题。这一阶段给出二值的 Pass/Fail。Stage 2 程序化语义检查规则式校验例如提示词要求带 email 字段和提交按钮的表单时程序检查生成 JSON 是否包含对应的 email 输入组件与按钮并绑定到合适的数据模型路径以减少对 LLM judge 的负载。Stage 3 意图对齐与质量LLM-as-a-judge由评分模型Gemini Flash按评分细则rubric在 1–5 Likert 量表上打分并给出理由。数据集里每个数据点的target字段就是给 judge 的定性评分标准而不是硬编码的 JSON。查看与核对评分结果运行结束后有两种查看方式Inspect View交互式查看 trace 与 judge 理由uv run inspect view start这会启动一个本地 Web 服务器通常在http://localhost:7575在浏览器中打开即可逐条查看对话轮次与评分理由。命令行报告对评估日志文件打印控制台摘要或 markdown 表格uv run python bin/report_evals.py logs/log_filename.evallog_filename.eval替换为logs/目录下实际生成的日志文件名eval/bin/report_evals.py 会从日志中提取 accuracy 等分数指标。验证评估框架本身在贡献数据集或怀疑框架行为时可以用单测与 schema 校验确认框架本身正常。在eval/目录下uv run python -m pytest该命令运行全部单元测试并把所有数据集文件对照eval/datasets/dataset_schema.json做 schema 校验eval/README.md。只校验数据集部分时可单独执行uv run python -m pytest tests/test_dataset.pyeval/CONTRIBUTING_USE_CASES.md 将其作为数据点贡献前的校验步骤。限制与注意事项数据集不可在线浏览明文eval/datasets/*.yaml在 Git 中是密文未解锁 Transcrypt 前无法阅读这是防污染的设计而非配置错误。未加密的参考样例见 eval/examples/example_eval_case.json。评分模型不可替换为 Gemmamain.py会显式拦截并报错评分模型应保持为 Gemini Flash如google/gemini-3.8-flash或google/gemini-3.1-flash-liteCI 评估固定使用google/gemini-3.8-flash。提交前确认加密修改数据集后用git diff --cached eval/datasets/file.yaml确认暂存内容已是加密密文再提交。完成上述步骤后一条最小可验证路径是设置GEMINI_API_KEY→bin/transcrypt -p PASSWORD解密 →uv run main.py --sanity确认链路 → 用--dataset/--strategies/--limit跑正式评估 →uv run inspect view start打开http://localhost:7575核对逐样本评分与 judge 理由。更深入的格式优化基准测试Atom、Express、Elemental 的迭代优化见 eval/iterative_format_optimizer数据集贡献流程见 eval/CONTRIBUTING_USE_CASES.md。【免费下载链接】a2ui项目地址: https://gitcode.com/GitHub_Trending/a2/a2ui创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价