dsh-llm-sampling
其他 活跃维护

dsh-llm-sampling

kuma-loong/dsh-llm-sampling

为大型语言模型推理提供多类精确采样策略集合,覆盖温度调节、top-p截断、top-k筛选等常用采样逻辑,支持灵活配置适配不同生成需求,开箱即用无需额外适配工作。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
TypeScript
主要语言
MIT
开源协议
22 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:kuma-loong/dsh-llm-sampling
git clone https://github.com/kuma-loong/dsh-llm-sampling.git
git clone git@github.com:kuma-loong/dsh-llm-sampling.git
README.md main

dsh-llm-sampling

English | 中文

Installable DeepSeek Harness bundle that enforces sampling policy for exact provider/model routes through the agent/request waterfall. The Harness core owns the provider-neutral request fields and durable request header; adapters own wire translation. This plugin owns deployment policy only.

The plugin is dormant until llm-sampling.providers names a route. A configured model's default profile replaces all sampling values on every request. When reasoningEffort is explicitly off, off overlays that complete profile. Unconfigured routes pass through unchanged.

Compatibility

The plugin requires a DeepSeek Harness build whose LlmCallConfig and GenerateOptions include topP, topK, minP, presencePenalty, and repetitionPenalty. Until that core change reaches an npm release, install the plugin only with a matching Harness source checkout.

Adapters must map the configured fields. @deepseek-ai/dsh-llm-pi-ai supports the extended fields for OpenAI Chat Completions and rejects them for other protocols.

Install

Pin the reviewed commit when installing from GitHub:

dsh plugin --profile web add github:kuma-loong/dsh-llm-sampling#<commit>

Git installs run this package's prepare script. pnpm 10 and later require an explicit build allowance in the profile's pnpm-workspace.yaml:

allowBuilds:
  dsh-llm-sampling@https://codeload.github.com/kuma-loong/dsh-llm-sampling/tar.gz/<commit>: true

Copy the exact key printed by pnpm, then re-run the dsh plugin add command. Grant this permission only after reviewing the pinned source because prepare executes on the host during installation.

Configure

Add an llm-sampling section to $DSH_HOME/settings.yaml:

llm-sampling:
  providers:
    sparse-vllm:
      models:
        Qwen3.8-27B:
          default:
            temperature: 1
            topP: 0.95
            topK: 20
            minP: 0
            presencePenalty: 0
            repetitionPenalty: 1
          off:
            temperature: 0.7
            topP: 0.8
            presencePenalty: 1.5

Supported fields are temperature, topP, topK, minP, presencePenalty, and repetitionPenalty. Profiles are policy, not caller defaults: configured values win over earlier agent/request proposals. A later request policy may deliberately replace them through the normal waterfall order.

Model Experience

Exact-model sampling policy

What the model sees

No prompt text or tool schema is added. The model receives the configured sampling values in its provider request, and the effective values are recorded in the session's request/header before dispatch.

Token effect

The plugin adds no tokens. Sampling changes generation distribution and may change output length.

KV Cache effect

No prompt prefix changes. Providers may include sampling controls in request-cache identity, so a policy or reasoning-mode change can affect provider-side reuse even with identical input tokens.

Known Limitations and Deferred Work

  • The off profile is selected only for an explicit reasoningEffort: off; an omitted effort preserves the default profile because provider-owned implicit reasoning state is not guessed.
  • Extended fields require adapter support; the plugin cannot determine wire compatibility before dispatch.