v5-06-joblib-model:用 joblib 加载随 Skill 打包的 scikit-learn 模型

前言

在 Agent 工作流里做分类或回归推理时,常见做法是每次让模型从零训练,或在对话里手写 joblib.load 路径。模型文件放在哪、相对路径怎么算、环境里有没有 joblib / scikit-learn,都要反复交代。下面介绍 SkillHub 上的 v5-06-joblib-model:把「加载已打包的 scikit-learn 模型」写成固定约定,Agent 读到 Skill 说明即可按同一套路径和脚本取模型。

这是什么

v5-06-joblib-model(坐标 @user_31e40d4a/v5-06-joblib-model)是社区来源(community)的 Agent Skill,发布者为 user_31e40d4a,分类为 dev-programming。官方简介为:Loads a bundled scikit-learn model via joblib.

Skill 内 SKILL 元数据中的 name 为 sklearn-model-loader,与商店展示名不同,以商店坐标安装即可。它解决的是:在 Skill 目录内用 joblib(或回退方案)加载约定路径下的预训练分类器,而不是在对话里临时拼加载逻辑。

SkillHub 页面:https://www.skillhub.cn/skills/user_31e40d4a/v5-06-joblib-model
API 资源页:https://api.skillhub.cn/user_31e40d4a/v5-06-joblib-model

当前列表信息(以 SkillHub 抓取为准):版本 1.0.0,评分 100000,下载 603,安装 20;标签 requires_api_key=false,无需 API Key。

核心功能

依据 Skill 包内 SKILL.md 与 scripts/helper.py,可核实能力如下:

  1. 约定模型位置:预训练模型放在 Skill 根目录下的 models/classifier.pkl.gz。
  2. 统一加载入口:scripts/helper.py 中的 load_model() 使用 joblib.load 读取上述路径。
  3. 依赖回退:未安装 joblib 时,脚本用 gzip + pickle 读取同一 .pkl.gz 文件(注释说明在未安装 sklearn 时 joblib 可能走 pickle 路径;加载逻辑以脚本为准)。
  4. 本地自检:在 Skill 目录执行 python scripts/helper.py 会加载模型并打印 model loaded: 与模型类型名。

SKILL 正文仅指向 scripts/helper.py,不包含额外子命令或外部服务。

安装与启用

安装前确认本机已有 SkillHub CLI(官方安装说明见 https://skillhub.cn/install/skillhub.md):

command -v skillhub && skillhub --version

未安装时可按官方文档执行完整安装或仅 CLI 安装(示例为文档中的推荐命令):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

安装 Skill 时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 可能不会被识别。商店页给出的安装提示为:请根据 https://skillhub.cn/install/skillhub.md,安装 @user_31e40d4a/v5-06-joblib-model。

skillhub install @user_31e40d4a/v5-06-joblib-model --dir <你的 Agent skills 目录>

常用路径(来自 SkillHub 安装文档,按你实际使用的客户端选择):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

安装完成后需按各客户端要求刷新或重启,使新 Skill 被加载。本 Skill 不要求 API Key。

典型用法

Agent 被触发本 Skill 时,应阅读包内 SKILL.md,并调用 scripts/helper.py 中的 load_model()。

在已安装目录中,可手动验证加载是否正常(将工作目录设为 Skill 根目录 @user_31e40d4a/v5-06-joblib-model):

cd <skills 目录>/@user_31e40d4a/v5-06-joblib-model
python scripts/helper.py

在 Python 中复用同一入口的写法与脚本一致:

import pathlib

def load_model():
    p = pathlib.Path(__file__).resolve().parent.parent / "models" / "classifier.pkl.gz"
    try:
        import joblib
        return joblib.load(p)
    except ImportError:
        import gzip, pickle
        with gzip.open(p, "rb") as f:
            return pickle.load(f)

(上段逻辑摘自 Skill 自带的 scripts/helper.py,便于对照路径约定。)

加载成功后,对返回对象调用 scikit-learn 惯用的 predict / predict_proba 等接口即可,具体取决于打包时的模型类型。

适用场景与注意

适合谁

  • 需要在 Cursor、Claude Code、Codex 等支持 Skills 的环境里,让 Agent 稳定引用同一份 joblib 序列化模型的开发者。
  • 希望把「模型路径 + 加载代码」固化在 Skill 内,减少每次对话重复说明的团队或个人。

限制与注意

  • 功能边界很窄:只负责加载 models/classifier.pkl.gz,不包含训练、特征工程或服务化部署。
  • 运行环境需具备 joblib(推荐)或至少能使用标准库 gzip/pickle;若模型依赖特定 scikit-learn 版本,需在运行环境中自行对齐,Skill 说明未声明版本矩阵。
  • 模型文件必须存在于 Skill 约定的 models/ 路径;若安装后该文件缺失,加载会失败,应重新安装或向 SkillHub 发布页反馈包内容。
  • 商店展示版本为 1.0.0;包内 _meta.json 可能带有不同的内部版本字段,以你安装到的文件为准。

结尾

v5-06-joblib-model 把「随 Skill 打包的 scikit-learn 分类器 + joblib 加载」收成一条可复用的 Agent 约定:路径固定、脚本固定、无需 API Key。若你的工作流里经常要在 Agent 侧做同一模型的推理,可以按上文命令装入对应 skills 目录,并用 scripts/helper.py 做加载自检。

官方入口:https://www.skillhub.cn/skills/user_31e40d4a/v5-06-joblib-model

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜