MCPcopy Create free account
hub / github.com/QodeXcli/QodeX / buildSpecDecodeExtras

Function buildSpecDecodeExtras

src/llm/speculative.ts:262–291  ·  view source on GitHub ↗
(
  draftModel: string | undefined,
  lookahead: number,
  serverHint: SpecServerKind = 'auto',
)

Source from the content-addressed store, hash-verified

260export type SpecServerKind = 'lmstudio' | 'llamacpp' | 'vllm' | 'auto';
261
262export function buildSpecDecodeExtras(
263 draftModel: string | undefined,
264 lookahead: number,
265 serverHint: SpecServerKind = 'auto',
266): Record<string, unknown> {
267 const extras: Record<string, unknown> = {};
268 switch (serverHint) {
269 case 'lmstudio':
270 if (draftModel) extras.draft_model = draftModel;
271 break;
272 case 'llamacpp':
273 if (draftModel) extras.model_draft = draftModel;
274 extras.n_draft = lookahead;
275 break;
276 case 'vllm':
277 extras.num_speculative_tokens = lookahead;
278 break;
279 case 'auto':
280 default:
281 // Union of harmless fields — each server reads its own, ignores the rest.
282 if (draftModel) {
283 extras.draft_model = draftModel; // LM Studio
284 extras.model_draft = draftModel; // llama.cpp
285 }
286 extras.n_draft = lookahead; // llama.cpp
287 extras.num_speculative_tokens = lookahead; // vLLM
288 break;
289 }
290 return extras;
291}

Callers 2

completeMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected