关于 hugging-science
Hugging Science 是面向机器学习研究者的科学数据集、模型、文章和交互式演示精选索引。它覆盖 17 个科学领域,并提供可解析的目录内容以辅助资源发现。
主要功能
- 01覆盖 17 个科学领域
- 02索引数据集、模型、文章和演示
- 03提供可解析的 Markdown 目录
- 04附带目录获取与筛选脚本
- 05资源通过标准 Hugging Face 工具使用
适用场景
- 01为科学机器学习任务寻找数据集
- 02筛选特定领域的模型资源
- 03查找科学任务的交互式演示
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kalarislabs/ research-agent-skills --skill hugging-science安装后在 Claude Code 中输入/hugging-science确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/flagship-resources.mdtopics-and-slugs.mdusing-datasets.mdusing-models.mdusing-spaces.mdscripts/fetch_catalog.py详细介绍
Hugging Science
Hugging Science 是一个经过精选、适合大模型使用的科学数据集、模型、博客文章和交互式演示索引,面向机器学习研究人员。当你遇到科学机器学习问题时,可以使用它——相比通用搜索,它能提供更高信噪比的结果,而且条目都经过质量和开放性筛选。
它有两个相关入口,应当同时使用:
huggingscience.co上的目录——一个静态、可解析的索引,涵盖 17 个科学领域。它提供llms.txt(精简版)、llms-full.txt(完整内容)和topics/<slug>.md(按领域划分)。这些都是专为获取和阅读而设计的 Markdown 文件。hugging-scienceHugging Face 组织——huggingface.co/hugging-science——包含社区提交的数据集、少量模型和约 27 个交互式 Spaces(特别是用于蛋白质/结合体设计的 BoltzGen、用于提交内容的 Dataset Quest,以及用于生态系统可视化的 Science Release Heatmap)。
目录会指向托管在更广泛的 Hugging Face Hub 上的资源。因此,像 arcinstitute/opengenome2 这样的条目是常规 HF 数据集,可通过 datasets 库加载;像 facebook/esm2_t33_650M_UR50D 这样的条目是常规 HF 模型,可通过 transformers 加载。目录的作用是精选和发现;资源的使用则通过标准 Hugging Face API 完成。
何时使用此技能
当用户的任务涉及将 AI/机器学习应用于科学领域时,请启用此技能。常见信号包括:
- 提到某个科学领域(蛋白质、基因组、分子、晶体、天气、气候、星系、脑电图、微生物组、病理学、等离子体等)
- 询问“有没有适用于 X 的数据集/模型”,且 X 属于科学领域
- 希望在科学数据上微调、在科学基准上评估,或复现科学机器学习论文
- 询问特定的知名科学模型(Evo-2、ESM2、BoltzGen、Nucleotide Transformer、AlphaFold 衍生模型等)
- 需要用于科学任务的交互式演示(结合体设计、定理证明等)
如果任务属于通用机器学习(推荐系统、聊天机器人 RAG、猫狗图像识别),则此技能并不适用——请改用通用 HF Hub 知识。
核心工作流
大多数调用都会遵循以下五步循环。不要跳过发现环节——Hugging Science 的价值在于,它已从数百种资源中筛选出各领域高信噪比的精选内容。
1. 确定领域
将用户的任务映射到 17 个主题 slug 中的一个或多个:
astronomy · benchmark · biology · biotechnology · chemistry · climate · conservation · earth-science · ecology · energy · engineering · genomics · materials-science · mathematics · medicine · physics · scientific-reasoning
有些任务会涉及多个主题(例如,药物发现 → chemistry + biology + medicine)。请获取每个相关主题的内容。
2. 获取相关目录内容
使用随附脚本,以便干净、结构化地访问:
python scripts/fetch_catalog.py topic biology
python scripts/fetch_catalog.py topic materials-science --filter models
python scripts/fetch_catalog.py search "protein language model"
python scripts/fetch_catalog.py all # full llms-full.txt
你也可以直接获取原始 Markdown:
https://huggingscience.co/llms.txt— 精简索引https://huggingscience.co/llms-full.txt— 所有领域的全部条目https://huggingscience.co/topics/<slug>.md— 单个领域(slug 使用连字符,例如materials-science.md、earth-science.md、scientific-reasoning.md)
每个条目都是一个 Markdown 区块,包含 Type、Tags、HuggingFace URL(博客则为 Link)以及一行描述。条目结构和 slug 列表请参见 references/topics-and-slugs.md。
3. 选择合适的资源
阅读描述和标签。根据用户的任务进行判断,而不是只看关键词是否重合。需要权衡以下因素:
- 规模匹配 — 对于在笔记本电脑上快速进行序列分类,Evo-2 40B 大材小用;ESM2 35M 可能恰到好处。
- 许可证和访问权限 — 大多数资源都是开放的,但请查看底层的 HF 模型卡。
- 模态匹配 — DNA、蛋白质、SMILES 和晶体结构各不相同;许多“生物学”模型不能互换。
- 时效性 / 替代关系 — 如果较旧和较新的条目都能处理同一任务,除非有理由,否则优先选较新的条目。
如果不确定该选哪项资源,简要向用户介绍排名靠前的 2–3 个候选项及其权衡,然后等用户选择后再继续。如果选择会实质性地改变工作内容,不要默默替用户决定。
领域专用的首选资源(即“拿不准时,从这里开始”的条目),请参阅 references/flagship-resources.md。
4. 使用资源
具体做法取决于资源类型。编写代码前,请先阅读对应的参考文件:
- 数据集 →
references/using-datasets.md— 通过datasets加载、超大语料的流式处理、常见列和拆分 - 模型 →
references/using-models.md— 本地transformers、Hugging Face Inference API、超大型模型的 Inference Providers、GPU 配置 - Spaces(交互式演示) →
references/using-spaces.md—gradio_client用法,并附有完整的 BoltzGen 示例
这些参考文件简短且重点明确。如果你已熟悉相关 API,可以快速浏览;否则,请在编写代码前完整阅读。与通用 HF 用法相比,其中有几处重要差异(例如 trust_remote_code 要求、科学数据的 dtype 易错点)。
5. 引用方法论
如果目录中有与任务匹配的博客文章(Type: blog 或主题文件的 Blog Posts 部分中的文章),请在向用户解释方案时附上其 URL。方法论博客由数据集 / 模型作者撰写,能解答模型卡通常不会提及的“为何采用这种设计”问题。请将它们视为引用——简短写一句“查看 ,了解 X 背后的方法论”即可。
身份验证:HF_TOKEN
许多目录资源需要授权访问(临床数据、大型基础模型、私有 Spaces)。请通过 HF_TOKEN 环境变量进行身份验证。
如果有 .env 文件,请从中加载 HF_TOKEN — 用户会在此保存密钥。任何调用 HF API 的脚本都应在开头使用 python-dotenv:
from dotenv import load_dotenv
load_dotenv() # picks up HF_TOKEN from .env in cwd or any parent dir
如果 .env 不存在或未定义 HF_TOKEN,请妥善回退——许多资源是公开的,无需令牌即可使用。不要将令牌硬编码、回显令牌,也不要优先建议使用 huggingface-cli login;用户更倾向于使用 .env。
.env 文件应包含如下内容的一行:
HF_TOKEN=hf_...
如果你在创建新项目,也请将 .env 添加到 .gitignore(如果尚未添加)。
需要记住的几件重要事项
目录经过精选,并非详尽无遗。 如果用户需要某项特定资源,而 Hugging Science 中没有列出,并不代表它在 HF Hub 上不存在。可以直接搜索 HF Hub 作为后备方案。但只要领域匹配,就始终要先从目录开始——精选内容正是它的价值所在。
条目只是指引。 不要把“使用 Hugging Science”当成调用 API。Hugging Science 没有推理端点。所有可操作的资源都位于 HF Hub 或以 HF Space 的形式提供,你可以通过标准 HF 工具使用它们。
许多科学模型需要 trust_remote_code=True。 自定义架构(Evo-2,以及许多基因组学/材料模型)会附带自定义建模代码。这在这一生态中很常见,但此标志会在用户的计算机上执行模型仓库中的任意 Python 代码,因此在设置此标志前,应告知用户具体仓库并征求同意,然后等待答复。出现在目录中并不代表经过审核:条目是从网络获取的指引,并非代码审查结果。通过 gradio_client 向 Space 发送文件或令牌时,也同样适用。
科学数据集通常很大,而且结构可能很特殊。 基因组学语料可能包含数十亿个令牌;宇宙学图像可能有数百 GB;材料数据集则包含非标准对象(晶体结构、图)。对于声称超过几 GB 的数据集,默认使用流式加载(在 load_dataset 上设置 streaming=True),并在假定列的内容前先检查架构。
Spaces 非常适合一次性的科学生成任务。 如果用户想为目标蛋白设计结合蛋白,或在托管模型演示中运行推理,通过 gradio_client 调用 Space,比在本地启动模型更快、更省钱。请先查看 references/using-spaces.md——huggingface.co/hugging-science 上有约 27 个这类 Space。
目录本身可能会变化。 条目会定期添加;偶尔也会更改 slug。如果 URL 返回 404,请重新获取主题文件或 llms.txt 以获取最新内容——不要掩盖这一问题。
附带资源
scripts/fetch_catalog.py— 获取并筛选目录内容。运行时使用--help查看完整用法。需要结构化访问时,优先使用此脚本,而不是临时调用 WebFetch。references/topics-and-slugs.md— 精确的主题 slug、各主题的涵盖内容及条目架构。references/using-datasets.md— 加载科学数据集的模式与注意事项。references/using-models.md— 在本地、通过 Inference API 或 Inference Providers 运行科学模型。references/using-spaces.md— 通过gradio_client以编程方式调用 HF Spaces(尤其是 BoltzGen)。references/flagship-resources.md— 用户需要合适的默认选项时,各领域首选的数据集/模型。
Agent 操作流程
- 检查环境。 确认 Python 环境和库版本(
python -c "import pkg; print(pkg.__version__)"),并检查数据的形状、类型和缺失值。 - 明确输入。 根据数据或用户确认格式、标识符和参数。对于任何会改变结果的值,应询问用户,而不是猜测。
- 先运行小规模版本。 先在样本或单个折上运行,并检查运行时间和内存。
- 按照上述说明和参考资料执行完整任务。
- 验证结果。 使用留出数据、固定随机种子和适当的指标;检查是否存在数据泄漏;报告不确定性(置信区间、不同随机种子下的标准差)。
- 报告。 说明运行的内容(版本、命令、参数)、检查的内容,以及仍不确定之处。
| 如果发生这种情况 | 请这样做 |
|---|---|
| 内存不足或执行速度很慢 | 使用子样本、分块或惰性计算,或缩小模型,并告知用户所做的更改。 |
| 这些说明中的函数、标志或端点在已安装版本中不存在 | 查阅已安装版本自己的文档(help()、--help、官方文档),调整做法,并告知用户。切勿虚构 API。 |
| 必需的输入、标识符或参数含糊不清 | 询问用户,或在运行前明确说明所作假设。 |
诚信规则
- 切勿捏造结果、参数、标识符、引文或统计数据。如果无法运行或验证某项内容,应如实说明。
- 切勿报告本次会话中未计算的指标;应展示生成每个数字的代码路径。
- 将此处与版本相关的细节视为可能已过时:请根据已安装版本的官方文档确认。
- 对于需要花费资金、占用共享 GPU 或云配额、涉及个人或患者数据,或无法撤销的操作,必须先征求同意。
相关技能
science-aaas:为 Science 及其系列期刊(Science、Science Advances、Science Translational Medicine、Science Robo…)准备稿件brainstorming-research-ideas:通过结构化构思框架,引导研究人员探索有重大影响力的研究方向。