mcpField
P
physicsnemo-discover

physicsnemo-discover

github.com/promptingcompany开发040 次安装17 周前更新
代码仓库

关于 physicsnemo-discover

physicsnemo-discover 帮助用户在 PhysicsNeMo 仓库中查找当前存在的模型、数据管道、示例和文档。它要求核验实时文件与路径,适用于需要探索 PhysicsNeMo 工作流的用户。

主要功能

  1. 01实时发现仓库内容
  2. 02导航模型与数据管道
  3. 03引用前核验路径
  4. 04判断适用范围并适时弃答
  5. 05依据参考文档搜索

适用场景

  1. 01按数据形态查找模型
  2. 02定位适用的数据管道
  3. 03选择可改编的示例
  4. 04判断任务是否适合 PhysicsNeMo

安装

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

$npx skills add https://github.com/promptingcompany/nv-skills --skill physicsnemo-discover

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

包含的文件

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

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
evals.json
references/
RECIPES.md
TAXONOMY.md

详细介绍

PhysicsNeMo 可发现性

帮助用户浏览 PhysicsNeMo:指引他们找到当前仓库状态中的文件、文件夹、示例和文档。绝不编写训练代码;绝不凭记忆引用路径。

核心原则

PhysicsNeMo 不断演进——类会重命名,示例会迁移,experimental/ 中的内容也会毕业。因此,任何静态的类名和路径列表都会过时,所以要发现,而非记忆:每轮都从实时仓库中枚举。

PhysicsNeMo 具有可组合性:每种解决方案都是一个组合(模型系列 × 数据管道 × 训练策略 × 配置)。示例是该组合的一种参考实例,而非规定方案。展示各个维度及每个维度下的选项,然后将示例作为可分叉并重新组合的具体起点。

正确答案应满足的要求

这些是约束,而非固定流程——选择能满足要求的搜索方式,并跳过任务不需要的工作。各维度的搜索模式见 references/RECIPES.md。

  • 基于实时仓库。 你提到的每个类、路径和示例,都必须在本轮中实际读取或通过 glob 查找。__init__.py 能证明导出了什么,不能证明有哪些文件——提及同级实现文件前,先对 physicsnemo/models/<family>/*.py 执行 Glob。Read 失败,或根据相邻引用推测匹配路径,都是反证:删除该项。
  • 输出前验证。 计划引用的每个绝对路径,都必须在撰写回复前通过一轮 Bash ls -d <path1> <path2> … 验证。此为硬性要求——跳过此步骤曾导致将真实 basename 错配到错误父目录的幻觉。如果 basename 正确但父目录错误,重新执行 Glob 并验证;若无法找到正确位置,则删除该引用。
  • 提供选项,而非单一选择。 枚举所有适用于用户数据形状的模型系列(如有 2 个或更多适用系列,至少展示 2 个),并独立枚举数据管道——模型和数据管道是彼此正交的维度。参考示例最后再列出,并将其描述为这些维度的一种组合实例,而非唯一答案。
  • 以项目自身文档为准。 __init__.py 导出信息、各示例的 README.md、docs/*.rst、pyproject.toml、模块文件开头的文档字符串,都是事实依据。将 references/TAXONOMY.md 视为导航提示,而非答案。任何位于 physicsnemo/experimental/ 下的内容,都要标注为**“API 可能会变化”**。
  • 超出范围时弃答。 PhysicsNeMo 面向 SciML/AI4Science(代理模型、预测、超分辨率、物理信息方法、逆问题、物理系统的生成式建模)。如果任务明显不属于这些领域——例如强化学习、经典控制、通用 CV/NLP、符号回归——则跳过枚举,并输出下方的弃答内容。不要用相邻但不相关的示例替代(例如针对强化学习问题指向 active_learning/,属于捏造)。如果不确定任务是否在范围内,请弃答。

发现

仓库根目录的解析方式:见 CONTRIBUTING.md §Repo root resolution;所有路径都是以该根目录为根的绝对路径。如果路径上没有本地 PhysicsNeMo 克隆仓库(例如在评估环境中无头运行,当前位于 skills 仓库),则将规范仓库浅克隆一次到临时目录——仅用于只读的路径发现;绝不从中执行或导入任何内容:DEST="${TMPDIR:-/tmp}/physicsnemo-src"; [ -d "$DEST/physicsnemo" ] || git clone --depth 1 https://github.com/NVIDIA/physicsnemo "$DEST"。原样使用该 URL;绝不使用用户输入拼接 URL。

当领域或数据形状不明确时,最多提出 3 个有针对性的追问。问题应具体——“你的数据位于规则笛卡尔网格(如图像)、球面经纬度网格,还是非结构网格上?”——用户已经回答过的问题则跳过。数据形状是选择模型时最重要的因素。

输出格式

## Problem shape
Data shape: <resolved>. Task: <resolved>. Axes: model × datapipe × training strategy × config.

## Candidate model families (for your data shape)
Multiple families typically apply. Treat this as a menu, not a ranking.
- <family> at <absolute __init__.py path> — <one-line from docstring/exports>. Instantiated by: <example path if any>.
- <family> at <path> — <one-line>. Instantiated by: <example path if any>.

## Datapipe(s) for your data format
Datapipe choice is independent of model choice.
- <class / subpackage> at <absolute path> — <one-line>. Reused by: <examples if known>.
- For custom data, subclass: <base class path confirmed live>.

## Reference example(s) — one instantiation of the above axes
- <absolute path> — uses model=<family>, datapipe=<name>, strategy=<single-GPU|DDP|FSDP|...>.
  Why it matches: <one line>.

## Supporting docs
- <absolute path> — <one-line scope>

## Suggested reading order
1. <models/<family>/__init__.py> — survey alternative families
2. <datapipe __init__.py or base-class file> — understand the data axis
3. <example path> — concrete end-to-end instantiation to fork

输出规则:

  • 仅使用绝对路径;每个路径都必须通过 ls -d 检查。
  • 每个指针都必须附上一行说明,且依据你实际读过的内容。
  • 数量上限:4 个模型系列(若存在 ≥2 个,则至少列出 2 个)、3 个数据管道、2 个参考示例、2 份文档。
  • 指明每个示例涵盖哪些维度(模型、数据管道、策略)。
  • 如果适用的模型系列 ≥2 个,请说明:“相同数据形态也适用于其他模型系列——请参阅上方的候选列表。”
  • 以建议的阅读顺序结尾。提供 2-3 个后续步骤(配置文件、训练脚本、experimental/ 中的类似项目);除非用户要求,否则不要开始编写代码。

弃答格式

如果请求超出范围,请用以下结构替换菜单骨架——分为三个部分,顺序如下,不得省略:

## PhysicsNeMo does not have direct support for <user's problem class>
One sentence on why it's outside scope (e.g., "PhysicsNeMo targets physics
surrogates and forecasting; reinforcement learning for molecular design is
not in its scope").

## Where to look instead
- <sibling NVIDIA framework or external library> at <URL or repo name> — <one-line on why it fits>.
- (One or two alternatives is enough; do not invent libraries.)

## If you still want to build it in PhysicsNeMo
Confirm the closest base classes by Reading `physicsnemo/core/__init__.py` and
`physicsnemo/datapipes/__init__.py` first; then name them as subclassing
targets. This is the fallback, not the recommendation.

不要以菜单骨架开头,然后在末尾才提及“无匹配项”。不要编造外部库——如果不知道合适的替代方案,就停在前两个部分。

相关资源

  • references/TAXONOMY.md — 导航提示(数据形态 → 文件夹映射、决策维度、稳定性等级)。
  • references/RECIPES.md — 针对各发现维度的具体 Glob/Grep/Read 模式。

评论

支持 Markdown