🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

细粒度答案验证器 TaurenMountain/dsh-llm-as-a-verifier

DeepSeek Harnessv0.1.1
TaurenMountain71 天前有提交已提供中文文档扫描:含敏感能力

用概率分布给候选答案打分并选出最优

31.1/100
综合分
5
GitHub 星标
186
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-llm-as-a-verifier
npm 源 · dsh-llm-as-a-verifier 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 71 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-llm-as-a-verifier @ 0.1.1
✓Node 引擎要求 >=18.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 04:19:10

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 读取密钥环境变量
    lib/backend.js:98
    const envKey = process.env.OPENAI_API_KEY ?? process.env.DEEPSEEK_API_KEY;
  • 读取密钥环境变量
    lib/backend.js:99
    const baseUrl = config.baseUrl ?? envBaseUrl ?? (process.env.DEEPSEEK_API_KEY ? DEEPSEEK_BASE_URL : undefined);
  • 读取密钥环境变量
    lib/backend.js:103
    (!envBaseUrl && !config.baseUrl && Boolean(process.env.DEEPSEEK_API_KEY)));
  • 读取密钥环境变量
    lib/backend.js:119
    const maxTokens = Number.parseInt(process.env.DEEPSEEK_MAX_TOKENS ?? '', 10) || DEEPSEEK_MAX_TOKENS;
  • 发起网络请求
    lib/backend.js:136
    const res = await fetch(`${this.config.baseUrl}/models`, {
  • 发起网络请求
    lib/backend.js:159
    const res = await fetch(url, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 概率分布打分
  • 最优答案选择
  • 按步进度追踪

把 LLM 当验证器用于 DeepSeek Harness:细粒度奖励、概率枢轴锦标赛 best-of-N 选择,以及按步进度追踪,都做成智能体工具。

README

由 DeepSeek 最新模型翻译生成
dsh-llm-as-a-verifier 把 LLM-as-a-Verifier(arXiv 上的统一验证框架)魔改进 DeepSeek Harness(dsh):让智能体在干活时能对自己的候选答案做细粒度概率化验证——不再是「好/坏」一锤子判断,而是读取验证模型在 20 级评分字母上的完整 logprob 分布并取期望。 你会得到 三个模型可直接调用的工具(安装后自动注册,无需重启即可用): | 工具 | 能力 | 复杂度 | | verify_compare | 对两个候选(代码/方案/轨迹)按评价标准打分,返回 [0,1] 的细粒度奖励 (scoreA, scoreB) | 1 次验证调用 / 标准 / 次 | | verify_select | N 选一:Probabilistic Pivot Tournament(概率枢纽锦标赛),O(Nk) 次比较替代 O(N²) 全循环 | 线性于 N | | verify_track | 逐步进度追踪:验证器以 A(0%)..T(100%) 为每个 checkpoint 打分,画出进度曲线 | O(K) 次调用 | 为什么比「LLM-as-a-Judge」更细?
展开完整文档(README 剩余 1 节)
dsh-llm-as-a-verifier

把 LLM-as-a-Verifier(arXiv 上的统一验证框架)魔改进 DeepSeek Harness(dsh):让智能体在干活时能对自己的候选答案做细粒度概率化验证——不再是「好/坏」一锤子判断,而是读取验证模型在 20 级评分字母上的完整 logprob 分布并取期望。

你会得到

三个模型可直接调用的工具(安装后自动注册,无需重启即可用):

| 工具 | 能力 | 复杂度 |
| verify_compare | 对两个候选(代码/方案/轨迹)按评价标准打分,返回 [0,1] 的细粒度奖励 (scoreA, scoreB) | 1 次验证调用 / 标准 / 次 |
| verify_select | N 选一:Probabilistic Pivot Tournament(概率枢纽锦标赛),O(Nk) 次比较替代 O(N²) 全循环 | 线性于 N |
| verify_track | 逐步进度追踪:验证器以 A(0%)..T(100%) 为每个 checkpoint 打分,画出进度曲线 | O(K) 次调用 |

为什么比「LLM-as-a-Judge」更细? 上游框架的核心思想是:① 用细粒度评分(20 级字母尺度);② 对评分 token 的完整 logprob 分布取期望(而不是只取 argmax);③ 用重复评估 + 标准分解缩放可靠性。本插件基于其开源实现适配了打分提取、成对提示词、锦标赛与进度追踪,并接入 logprob 后端和 token 计量,封装为 DSH 的 Cordis 工具插件。

安装

dsh plugin --profile web add dsh-llm-as-a-verifier

要求:dsh ≥ 0.1.0-rc.6、Node ≥ 18。安装完成后重启 dsh web(或等待 HMR 自动生效)。

配置验证后端

验证模型必须是能返回 token 级 logprobs 的 OpenAI 兼容服务:DeepSeek 官方 API、vLLM/SGLang 本地服务、OpenAI 等均可。

在你的 profile 配置(~/.dsh/profiles//cordis.patch.yml 或 ~/.dsh/cordis.patch.yml)里写:

- id: llm-verifier
config:
baseUrl: https://api.deepseek.com # 或 vLLM: http://localhost:8000/v1 apiKey: '${DEEPSEEK_API_KEY}' # 推荐用环境变量,见下 model: deepseek-v4-flash # 不填时:DeepSeek 默认 deepseek-v4-flash,其余自动探测 /models maxConcurrency: 8

凭证解析顺序(与上游一致):插件 config → OPENAI_BASE_URL + OPENAI_API_KEY → DEEPSEEK_API_KEY(自动启用 DeepSeek 端点与 thinking 参数)。什么都不配时,工具注册不受影响,调用时才报 MissingAPIKeyError。

export DEEPSEEK_API_KEY=sk-... # 最省事的配置方式

使用示例

装好后直接在对话里让智能体用(无需额外命令):

我写了三个候选实现,帮我用 verify_select 按「正确性、性能」标准选出最好的,然后对选中的实现用 verify_track 检查我之前的修复步骤是否有进展。

或者手动指定:

verify_compare: problem="写一个反转字符串的函数", candidateA="def rev(s): return s[::-1]",
candidateB="def rev(s): return s", criteria={"Correctness": "代码是否真的反转了字符串?"}

配置项

| 配置 | 默认 | 说明 |
| model | DeepSeek: deepseek-v4-flash;其余自动探测 | 验证模型名 |
| baseUrl | 按凭证推断 | OpenAI 兼容端点 |
| apiKey | 按环境推断 | 建议走环境变量 |
| timeoutMs | 60000 | 单次请求超时(毫秒) |
| maxConcurrency | 8 | 最大并发验证调用 |
| deepseek | 按 baseUrl 推断 | 强制 DeepSeek 调用路径(thinking 开启) |
| prefill | true | 非 DeepSeek 服务器上对评分标签做 prefill(vLLM/SGLang 读取字母分布更稳) |
| compare / select / track | true | 是否注册对应工具 |

工具参数(nEvaluations 重复评估次数、pivots 枢纽数、seed 环赛种子、groundTruthNote 基准提示等)与上游 llm_verifier Python 包一一对应,详见 使用手册。

作为库使用

import { Verifier } from 'dsh-llm-as-a-verifier'

const verifier = new Verifier({ baseUrl: 'http://localhost:8000/v1' })
const { scoreA, scoreB } = await verifier.compare(problem, a, b, { Correctness: '...' })
const result = await verifier.select(problem, candidates, { Correctness: '...' }, { pivots: 2 })
const curve = await verifier.track(problem, steps, { checkpoints: [1, 3] })
开发与测试

npm ci
npm run check # typecheck + vitest(76 个用例,含本地 mock logprobs 服务器端到端测试)
npm run build

TDD 过程与全流程 SOP 见 docs/SOP.md。

许可证

本项目采用 MIT License。

致谢

本项目的部分评分与验证实现基于 LLM-as-a-Verifier 适配。感谢上游作者与贡献者;相关版权与许可声明见 LICENSE。
预览分享卡片长什么样 ↓TaurenMountain/dsh-llm-as-a-verifier
分享 · DeepSeek Harness Hub
TaurenMountain/dsh-llm-as-a-verifier

用概率分布给候选答案打分并选出最优

这是你的仓库?认领条目

回到顶部