mcpField
H
hugging-science

hugging-science

github.com/crazymsn数据与数据库2337 次安装22 周前更新
代码仓库

关于 hugging-science

Hugging Science 是面向 ML 研究者的精选科学资源索引,收录数据集、模型、文章和交互演示。目录按领域组织以便发现资源,实际使用通过标准 Hugging Face 工具完成。

主要功能

  1. 01精选科学资源目录
  2. 02覆盖 17 个科学领域
  3. 03按主题获取目录或搜索
  4. 04链接至 Hugging Face 数据集和模型
  5. 05提供数据集、模型及 Spaces 使用指南

适用场景

  1. 01查找科学 ML 任务的数据集
  2. 02寻找特定科学领域的模型
  3. 03定位交互式科学演示
  4. 04为微调或评测筛选资源

安装

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

$npx skills add https://github.com/crazymsn/academic-skills --skill hugging-science

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
flagship-resources.md
topics-and-slugs.md
using-datasets.md
using-models.md
using-spaces.md
scripts/
fetch_catalog.py

详细介绍

Hugging Science

Hugging Science 是一个经过精选、适合大模型使用的科学数据集、模型、博客文章和交互式演示索引,面向机器学习研究人员。当你遇到科学机器学习问题时,可以使用它——相比通用搜索,它能提供更高信噪比的结果,而且条目都经过质量和开放性筛选。

它有两个相关入口,应当同时使用:

  • huggingscience.co 上的目录——一个静态、可解析的索引,涵盖 17 个科学领域。它提供 llms.txt(精简版)、llms-full.txt(完整内容)和 topics/<slug>.md(按领域划分)。这些都是专为获取和阅读而设计的 Markdown 文件。
  • hugging-science Hugging 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 以及许多基因组学/材料科学模型)都附带自定义建模代码。这在该生态中很常见。请传入此标志并告知用户。

科学数据集通常体量很大,结构也可能很特别。 基因组学语料可能包含数十亿个 token;宇宙学图像可能达到数百 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 — 用户需要合适默认选项时,各领域首选的数据集/模型。

评论

支持 Markdown