@basenative/evals

中文文档
3.0.0发布于 2026/10/31Apache-2.0TypeScriptES Module构建来源已验证

Eval线束测量模型是否实际产生正确的基线

中文使用文档
文档目录5 节
  1. 语料库是手工创作的
  2. 管道
  3. 标题号码
  4. 多提供者按设计
  5. 许可证

@basenative /测评

衡量模型是否实际生产 正确 基本转换 人工智能易读性声明从营销变成任何人都可以检查的数字。

bn-evals --models anthropic:claude-opus-5,openai:gpt-5,google:gemini-2.5-pro --out results.md

语料库是手工创作的

prompts/ 和 fixtures/ 是由回购所有者手写的。没有技能,没有 子代理,任何层的模型都不能生成它们。

如果模型写入提示,则引用实现, 和 断言, eval衡量的是模型的自洽性,仅此而已, 高,无意义的数字。因此,线束 拒绝对抗一个空的 语料库 而不是退回到生成的任何东西。

断言 类型 是基础设施和生活在 src/assertions.js。断言 值 -什么是正确的-是你的。

管道

prompts/ (hand-authored) → model runner → generated template
    → @basenative/validate   does it parse?
    → @basenative/server     does it render?
    → @basenative/runtime    (stateful cases only) does it hydrate and react?
    → behavioural assertions does it do the thing?
    → score

水合物阶段只在声明的情况下运行 state 或水合物家族 断言 (hydrated_contains/hydrated_excludes/after_set ——看 prompts/README.md)-大多数病例仅由SSR输出完全评分。当它 运行时,它将生成的模板-指令完整-安装到同一个DOM中 垫片 @basenative/runtime的自己的测试使用,并运行真实的客户端 hydrate() 在真实信号的背景下,这是对信号进行评分的唯一方法, 计算,或效果,而不仅仅是模板的静态形状。

阶段短路: 不解析的模板不能有意义 呈现,所以 failedAt 告诉你 哪里 一个模型出了问题,而不仅仅是模型出了问题。

标题号码

该套件对每个模型运行两次——一次使用提供的BaseNative MCP工具,另一次 没有。增量是产品声明: 实际上给模型一个验证器 让它写正确的BaseNative?

这两个提示不同 只有 用一句话来命名工具。任何更多的 会混淆 “有工具” 与 “被告知更多关于语言”。

除了通过率,报告还追踪了 漂移率 -一个模型多久到达一次 对于另一个框架的语法,而不是仅仅得到错误的逻辑。那是 这是检验论文的数字,即使它使论文难堪,也要报道出来。

多提供者按设计

排行榜只是在测试克劳德,而不是证据。 resolveCredentials 列表 每一个 缺少密钥且拒绝启动的提供程序,而不是 安静地制作一张桌子,三个模特默默地缺席。

提供者: anthropic, openai, google, openaiCompatible (任何OpenAI-shaped 端点,对于开放权重模型), ollama (本地模型通过 奥拉玛,不需要API密钥)。

本地模型是排行榜非人类方面的预期路径。 云模型api单独收费,该项目在所有者的硬件上运行 已经拥有而不是购买钥匙。使用Ollama在本地运行开重模型:

ollama pull llama3.2
ollama pull qwen2.5-coder
bn-evals --models anthropic:claude-opus-5,ollama:llama3.2,ollama:qwen2.5-coder

ollama 模型默认为 http://localhost:11434; 重写为 --ollama-url 如果 奥拉玛跑到别处去了。在运行之前, bn-evals 支票 /api/tags 在那个端点上 并大声失败-打印确切的 ollama pull <model> 命令-用于任何请求 尚未拉出的模型,而不是在错字上燃烧运行。

resolveCredentials 从不将本地模型视为缺少的凭据: ollama 需要 根本没有钥匙,只有指向 openaiCompatible 在 localhost baseUrl (Ollama OpenAI-compatible /v1 端点、LM工作室等) 也放弃了关键要求。云 提供商不受影响-缺少的云密钥仍然拒绝运行。

注意: 针对云提供商运行套件需要一个API密钥。一个 Claude Max/Pro订阅不包括API访问-这些是单独收费的。

许可证

apache - 2.0

版本与发布记录

@basenative/evals 共发布 11 个版本,首次发布于 2026/10/18;过去 12 个月发布了 11 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.0.0latest2026/10/312 天前
2.4.02026/10/268 天前
2.3.22026/10/2212 天前
2.3.12026/10/2212 天前
2.3.02026/10/2212 天前
2.2.02026/10/2113 天前

关于 @basenative/evals 的常见问题

@basenative/evals 是什么?

Eval线束测量模型是否实际产生正确的基线

如何安装 @basenative/evals?

在项目目录运行 npm install @basenative/evals,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 bn-evals,可以用 npx bn-evals 直接运行。

@basenative/evals 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@basenative/evals 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@basenative/evals 可以商用吗?

@basenative/evals 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@basenative/evals 还在维护吗?

最新版本 3.0.0 发布于 2026/10/31(2 天前);至今共发布 11 个版本,其中过去 12 个月发布了 11 个;首次发布于 2026/10/18。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。