mcpField
K
kernel-metadata

kernel-metadata

github.com/josiahsiegel数据与数据库5955 次安装19 周前更新
代码仓库

关于 kernel-metadata

kernel-metadata 是用于创建、校验和修复 Kaggle notebook/kernel 的 kernel-metadata.json 的技能,面向推送或管理 Kaggle 内核的用户。它涵盖字段、数据源附件及隐私和网络设置等校验要点。

主要功能

  1. 01创建和修复 kernel-metadata.json
  2. 02校验 ID、代码文件与语言字段
  3. 03检查内核类型和隐私、网络设置
  4. 04配置 Kaggle 数据集及内核来源
  5. 05识别不支持的元数据字段

适用场景

  1. 01准备 Kaggle notebook 的推送元数据
  2. 02排查元数据与本地代码文件不匹配
  3. 03检查数据源附件及隐私设置

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/josiahsiegel/claude-plugin-marketplace --skill kernel-metadata

安装后在 Claude Code 中输入/kernel-metadata确认已加载。

详细介绍

Kernel 元数据

概述

使用此技能为 Kaggle 笔记本/内核推送创建、验证或修复 kernel-metadata.json。保持元数据精简、明确,并与本地代码文件一致。

必需字段和常用字段

字段用途
id完整的内核 ID,通常为 <owner>/<slug>
id_no可用时填写数字 ID
title易于理解的笔记本标题
code_file要运行的本地源文件
languagepython、r 或 rmarkdown
kernel_typescript 或 notebook
is_private默认为 true
enable_gpu默认为 false
enable_internet默认为 false
dataset_sources附加的数据集引用
competition_sources附加的竞赛引用
kernel_sources附加的笔记本/内核引用
model_sources附加的模型引用

验证流程

  1. 确认 kernel-metadata.json 是有效的 JSON。
  2. 确认 id 使用预期的 owner/slug,并与目标 Kaggle 笔记本一致。
  3. 确认 code_file 存在于传递给 kaggle kernels push -p <folder> 的同一文件夹中。
  4. 确认 language 是 python、r 或 rmarkdown 之一。
  5. 确认 kernel_type 与文件和执行模式相符:.ipynb 对应 notebook,脚本对应 script。
  6. 确认隐私和网络设置是经过考虑的。默认设为私有且不启用网络更安全。
  7. 确认来源数组包含有效的 Kaggle 公开引用,且不包含本地文件系统路径。
  8. 在推送或拉取工作流之前加载 notebook-lifecycle。

来源附件

使用 dataset_sources、competition_sources、kernel_sources 和 model_sources 附加 Kaggle 资源。尽可能优先使用准确的 owner/slug 引用。对于竞赛笔记本,确保已附加竞赛来源,且竞赛规则允许使用所有相关数据/模型来源。

id 和浏览器 URL 构造

id 字段使用文档规定的后缀格式 owner/kernel-slug 标识 Kaggle 笔记本/内核。当 id 存在且有效时,Agent 可以据此构造浏览器友好的 URL:

https://www.kaggle.com/code/<owner>/<kernel-slug>

构造 URL 前请验证:id 中恰好包含一个 /,owner 和 slug 均非空,id 不是完整 URL,并且 slug 来自实际的 id,而不是根据生成的标题猜测得出。如果还存在 id_no,则在支持的 API 操作中将其视为稳定的数字标识符,但不要仅使用 id_no 构造浏览器 URL。

派生出的 URL 是基于文档规定的标识符后缀构造的实用浏览器路径,并非另行记录的 CLI 返回值。私有笔记本可能需要登录或相应权限;重命名或 slug 更改也可能导致旧的派生 URL 失效。

加速器和元数据

enable_gpu 是用于启用 GPU 的旧式/简单布尔字段,而 CLI 推送可以使用 --accelerator <ID> 指定加速器 ID。有效的加速器 ID 包括 NvidiaTeslaP100、NvidiaTeslaT4、NvidiaTeslaT4Highmem、NvidiaTeslaA100、NvidiaL4、NvidiaL4X1、NvidiaH100、NvidiaRtxPro6000、TpuV38、Tpu1VmV38、TpuV5E8 和 TpuV6E8。使用高端加速器或设置较长超时时间前请先提醒用户,因为这些设置可能消耗配额。

安全默认值

除非用户明确要求公开,否则保持 is_private: true。对于竞赛笔记本,保持 enable_internet: false,除非竞赛规则和可复现性需求允许联网。避免在元数据或笔记本源代码中嵌入密钥;对于敏感值,建议使用 Kaggle Secrets。

不受支持的元数据字段

Kaggle 的 kernel-metadata.json 不支持密钥或任意环境变量。不要添加 secrets、environment 或 env 等虚假字段。对于需要网络/GPU 隧道的工作负载,请改为验证受支持的字段:

{
  "enable_gpu": true,
  "enable_internet": true
}

不得将密钥作为元数据建模。如果 CLI 推送的已提交运行需要无需身份验证的连接,请重新设计工作流以避免使用密钥。

修复模式

  • 缺少 code_file:确定预期的 .ipynb、.py、.R 或 .Rmd 文件,并明确设置该字段。
  • 语言错误:仅在有歧义时,先向用户确认,再根据扩展名推断。
  • 源数组损坏:移除本地路径,并替换为 Kaggle 数据集、竞赛、内核或模型引用。
  • 可见性变更:将私有改为公开之前,必须获得明确确认。

来源

评论

支持 Markdown