Skip to content

[Usage]AISBench benchmark 三方依赖必要性分析与消减报告 #406

Description

@Libotry

概览

  • 依赖总数:50(运行时 47 / 打包三方 0 / 构建工具 3)
  • 可安全移除:7 个;建议保留:44 个;需进一步确认:4 个
  • 分析范围:以主代码及测试依赖关系为准;本轮结论重点覆盖 Python 运行时依赖与构建工具,未重新纳入打包三方依赖明细。

打包三方依赖(随包发布的三方依赖)

暂不涉及

运行时依赖(用户安装,运行时依赖)

分类 依赖
实际被使用的依赖 absl-pydatasetseinopsevaluatefunc_timeoutfuzzywuzzyjiebajsonlinesmmengine-litenltknumpyopenaiopencv-python-headlessorjsonpandasPillowplotlypyextpython-Levenshteinrapidfuzzrequestsrichrougerouge_chineserouge_scoresacrebleuscikit_learnscipytabulatetiktokentorchtqdmtransformersjanuscpm_kernelstree-sittertree_sitter_languagesimportlib-metadataprotobuftokenizers
被测试 mock 暗示可能被下游间接使用,建议保留 accelerategradio-clienthttpximmutabledict
业务上建议保留 seaborn
可安全移除 h5pyjson5prettytablerank_bm25retryingtimeout_decoratortyper

构建工具(用户安装,构建时依赖)

依赖 当前来源 结论 消除或优化建议
python3 Python 运行与构建环境 建议保留 项目运行、安装与测试基础条件
setuptools/pip Python 包安装与构建工具 建议保留 用于安装项目和解析 Python 包依赖
docker/docker compose 容器化任务运行环境 建议保留 swebench/swebench_pro/agent/sandbox 等流程可能依赖容器运行环境

依赖分析明细表

依赖 版本 依赖类型 当前来源 引入原因 合理性分析 消减自研工作量(按照 python 和 c++ 函数来评估) 是否建议消除 消除或优化建议
h5py 未锁定 运行时依赖 requirements/runtime.txt HDF5 数据读取 主代码及测试均无实际依赖 Py: 0 / C++: 0(小) 建议消除 可安全移除
json5 未锁定 运行时依赖 requirements/runtime.txt JSON5 配置解析 主代码及测试均无实际依赖 Py: 0 / C++: 0(小) 建议消除 可安全移除
prettytable 未锁定 运行时依赖 requirements/runtime.txt 表格展示 主代码及测试均无实际依赖 Py: 0 / C++: 0(小) 建议消除 可安全移除
rank_bm25 ==0.2.2 运行时依赖 requirements/runtime.txt BM25 检索 主代码及测试均无实际依赖 Py: 0 / C++: 0(小) 建议消除 可安全移除
retrying 未锁定 运行时依赖 requirements/runtime.txt 重试机制 主代码及测试均无实际依赖 Py: 0 / C++: 0(小) 建议消除 可安全移除
timeout_decorator 未锁定 运行时依赖 requirements/runtime.txt 超时装饰器 主代码及测试均无实际依赖 Py: 0 / C++: 0(小) 建议消除 可安全移除
typer 未锁定 运行时依赖 requirements/runtime.txt CLI 框架 主代码及测试均无实际依赖 Py: 0 / C++: 0(小) 建议消除 可安全移除
accelerate >=0.19.0 运行时依赖 requirements/runtime.txt 模型加速/外部运行链路 被测试 mock 暗示可能被下游间接使用;在 swebench/oneig 任务运行时可能被外部 agent/sandbox 间接调用 Py: 待确认 / C++: 0 建议保留 先确认 swebench_prooneig 数据集实际运行流程后再决定
gradio-client 未锁定 运行时依赖 requirements/runtime.txt 外部服务/agent 交互可能使用 被测试 mock 暗示可能被下游间接使用;在 swebench/oneig 任务运行时可能被外部 agent/sandbox 间接调用 Py: 待确认 / C++: 0 建议保留 先确认 swebench_prooneig 数据集实际运行流程后再决定
httpx 未锁定 运行时依赖 requirements/runtime.txt HTTP 客户端 被测试 mock 暗示可能被下游间接使用;在 swebench/oneig 任务运行时可能被外部 agent/sandbox 间接调用 Py: 待确认 / C++: 0 建议保留 先确认 swebench_prooneig 数据集实际运行流程后再决定
immutabledict 未锁定 运行时依赖 requirements/runtime.txt 不可变字典 被测试 mock 暗示可能被下游间接使用;在 swebench/oneig 任务运行时可能被外部 agent/sandbox 间接调用 Py: 待确认 / C++: 0 建议保留 先确认 swebench_prooneig 数据集实际运行流程后再决定
seaborn 未锁定 运行时依赖 requirements/runtime.txt 生成图表代码执行环境 CIBench 数据集评估模型生成 seaborn 代码的能力时,可能需要实际执行生成的代码 Py: 待确认 / C++: 0 建议保留 业务上建议保留
absl-py 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
datasets >=2.12.0,<=3.6.0 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
einops >=0.5.0 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
evaluate >=0.3.0 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
func_timeout 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
fuzzywuzzy 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
jieba 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
jsonlines 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
mmengine-lite 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
nltk >=3.7 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
numpy >=1.23.4,<2.0.0 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
openai 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
opencv-python-headless 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
orjson 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
pandas 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
Pillow ==11.2.1 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
plotly 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
pyext ==0.5 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
python-Levenshtein 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
rapidfuzz 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
requests >=2.31.0 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
rich 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
rouge 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
rouge_chinese 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
rouge_score 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
sacrebleu 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
scikit_learn >=1.5.0 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
scipy 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
tabulate 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
tiktoken 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
torch 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
tqdm >=4.64.1 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
transformers 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
janus 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
cpm_kernels 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
tree-sitter ==0.21.3 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
tree_sitter_languages >=1.10.2 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
importlib-metadata 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
protobuf 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
tokenizers 未锁定 运行时依赖 requirements/runtime.txt 实际被使用 主代码或测试存在实际依赖 Py: >0 / C++: 0 建议保留 保留
python3 未锁定 构建工具 用户安装,构建时依赖 Python 运行和构建环境 项目基础工具 不适用 建议保留 保留
setuptools/pip 未锁定 构建工具 用户安装,构建时依赖 Python 包安装和构建 项目基础工具 不适用 建议保留 保留
docker/docker compose 未锁定 构建工具 用户安装,构建时依赖 容器化任务运行 swebench/swebench_pro/agent/sandbox 等流程可能依赖 不适用 建议保留 保留

可消减依赖

可安全移除(主代码及测试均无实际依赖)

  1. h5py
  2. json5
  3. prettytable
  4. rank_bm25
  5. retrying
  6. timeout_decorator
  7. typer

建议保留(被测试 mock 暗示可能被下游间接使用)

  • accelerategradio-clienthttpximmutabledict:这些在 swebench/oneig 任务运行时可能被外部 agent/sandbox 间接调用,建议先确认 swebench_prooneig 数据集的实际运行流程后再决定。

业务上建议保留

  • seaborn:CIBench 数据集评估模型生成 seaborn 代码的能力时,可能需要实际执行生成的代码。

实际被使用的依赖

  • absl-pydatasetseinopsevaluatefunc_timeoutfuzzywuzzyjiebajsonlinesmmengine-litenltknumpyopenaiopencv-python-headlessorjsonpandasPillowplotlypyextpython-Levenshteinrapidfuzzrequestsrichrougerouge_chineserouge_scoresacrebleuscikit_learnscipytabulatetiktokentorchtqdmtransformersjanuscpm_kernelstree-sittertree_sitter_languagesimportlib-metadataprotobuftokenizers

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions