Skip to content

Served-backend (llama_server) engine: capability-parity follow-ups #420

Description

@ttupper92618

Summary

The served-backend engine (llama_server, added in #419) covers the core path — placement routing, native MTP (--spec-type draft-mtp), streaming, reasoning split, tool calls, cancellation, teardown — and is proven live on kite4 (2.19x). A few capability-parity items were deliberately deferred from #419 to keep it scoped; tracking them here.

Items

  1. Forward thinking / reasoning-effort controls to llama-server. A thinking-toggle card (e.g. Qwen3.6) plus task_params.enable_thinking / reasoning_effort from the API adapters are not currently forwarded in the served request body (only sampling kwargs + messages are). Map them onto the right llama-server fields (e.g. chat_template_kwargs.enable_thinking, reasoning-effort/budget) and validate on kite4 that toggling thinking off is honored. (Codex P2 on feat(engine): served-backend llama_server engine for native MTP #419.)

  2. Logprobs over the proxy. The served runner currently fails loud on a logprobs request (matching the llama.cpp engine returns no per-token logprobs in the streaming path (all GGUF models) #385 no-silent-empty contract). Parse the server's logprob payload and surface it on the emitted TokenChunks so served models reach logprobs parity with the in-process runner.

  3. CPU-served local fit guard. When a node resolves to llama_server-cpu, the runner correctly starts with -ngl 0 and the master admits against system RAM, but the worker's pre-spawn/load fit guard (footprint_exceeds_usable) may still size that placement against local VRAM. Make the local guard aware of a served -cpu resolution so it sizes against RAM, matching the master. Narrow edge (served on CPU is uncommon; served is primarily a GPU/MTP feature). (Codex P2 on feat(engine): served-backend llama_server engine for native MTP #419.)

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions