NeMo Relay 类型包装器与编解码器
为 NeMo Relay 集成提供类型安全边界,同时保持 JSON 中间件语义和调用方行为稳定。
技能仅提供类型编解码指导,未声明执行命令、访问外部系统或处理凭据,且明确 JSON 边界;因此无明显红线风险。扣分原因是缺少用户确认、回滚、敏感数据流说明和可验证的技术来源,且部分框架行为无法由所给文件独立确认。
SKILL.md 的模型、规则和检查清单基本一致,且 BENCHMARK.md 报告了外部评估结果。扣分原因是没有可执行示例、依赖版本、异常输入处理或诊断失败反馈;静态审查按校准上限不超过 10 分。
目标场景、Python/Node.js/Rust 区分、应用类型编解码器与 provider codec 的边界,以及不相关 Kubernetes 任务的负向评测均较清楚。扣分原因是没有明确的输入输出模板、触发排除条件、版本兼容范围或中文使用指导;核心功能不依赖明确不可达的海外服务。
文档结构清晰,包含默认指导、模型、规则、选择建议、检查清单、相关技能、许可证、所有者、版本提交信息和评估报告。扣分原因是缺少推荐的 Instructions 和 Examples 章节,作者格式校验失败,依赖、FAQ、变更记录和明确维护更新路径不完整。
内容足以支持选择 DataclassCodec、PydanticCodec、custom Codec 和 provider codec,并说明 middleware 的 JSON 语义;基准报告显示正向任务表现较好。扣分原因是没有直接可用的代码或配置输出,设置细节和替代方案不足,且静态审查不能确认实际结果;按校准不超过 7 分。
提交了包含任务、预期行为和指标的 BENCHMARK.md/evals.json,提供有限可审计材料。扣分原因是没有原始运行日志、CI 工作流或覆盖关键路径的提交测试,报告本身不能构成独立复现;按静态校准不超过 5 分。
- 不要将 BENCHMARK.md 中的评估百分比视为已独立复现的证据。
- 使用前应核对当前 NeMo Relay 版本中的 codec API、字段保留语义和异常处理行为。
- 技能未提供完整代码示例;应在隔离环境中验证 JSON 序列化、middleware 修改回写和 provider payload 兼容性。
这个 Skill 能做什么,适合哪些场景?
该技能指导应用在 NeMo Relay 工具或 LLM 集成中使用领域类型、类型值编解码器和提供商编解码器。它强调在进入事件处理和中间件前将类型值转换为 JSON,并在回调或调用方边界恢复类型。内容涵盖 Python、Node.js 和 Rust 的编解码方式,以及请求、响应和中间件之间的字段保留规则。适合已有稳定领域模型、又需要保持可预测 JSON 中间件行为的团队。
指导选择 JsonPassthrough、DataclassCodec、PydanticCodec、BestEffortAnyCodec 或自定义 Codec<T>;说明如何在 NeMo Relay 发送事件或运行中间件前将应用值转换为 JSON,并在回调边界解码;指导使用 OpenAI Chat、OpenAI Responses 和 Anthropic Messages 提供商编解码器;说明请求编解码器如何合并拦截器修改,以及响应编解码器如何添加 id、model、message、tool_calls、finish_reason、usage 等注释字段。
- NeMo Relay 应用已有 Python dataclass 或 Pydantic 模型,需要将其接入工具或 LLM 调用。
- Node.js 应用需要为稳定的领域线格式实现显式 Codec<T>。
- 团队需要让中间件和订阅者检查标准化的 OpenAI 或 Anthropic 请求、响应和生成参数。
- 开发者需要确认请求字段、响应注释和中间件修改能在编码与解码过程中保留。
这个 Skill 有哪些优点和局限?
- 覆盖 Python、Node.js 和 Rust 的类型或编解码路径。
- 明确区分应用值编解码器与 LLM 提供商编解码器。
- 强调中间件可见 JSON 形状、字段保留和调用方响应稳定性。
- 提供可执行的编解码器选择和验证清单。
- 提供内容是设计与实现指导,不是可直接运行的代码包。
- 给定材料未提供脚本、测试套件或平台验证结果。
- 未说明 NeMo Relay 本身的安装步骤、版本要求或依赖。
- BestEffortAnyCodec 的严格性较弱,仅适合没有稳定模式的边界。
如何安装这个 Skill?
使用仓库 README 中的 skills CLI:npx skills add nvidia/skills --skill nemo-relay-instrument-typed-wrappers --yes。README 说明 CLI 会选择安装位置;未提供手动复制到特定目录的步骤。
如何使用这个 Skill?
在已安装该技能的 Agent Skills 客户端中提出与 NeMo Relay 类型包装器、领域类型或提供商编解码器相关的任务,例如:“为 NeMo Relay 的现有 Pydantic 模型添加类型包装器,并确保 JSON 中间件仍能看到预期序列化结构。”
这个 Skill 与同类方案有什么区别?
与直接使用原始 JSON 相比,类型包装器适合已有稳定领域模型的应用;技能建议初次采用时优先使用 plain JSON,并仅在需要更强领域类型时引入编解码器。