Repository navigation
server: expose per-request Drama speech sampling controls - #1277
Closed
krunkosaurus wants to merge 2 commits into
Closed
krunkosaurus wants to merge 2 commits into
krunkosaurus wants to merge 2 commits into
Conversation
9 tasks done
Owner
|
Landed on main in e19b807 and 9008255, thanks @krunkosaurus. We added 4a55624 on top: Device check on an M3 Ultra with Drama 3, main against this stack: default requests give the same PCM byte for byte, every repeat equal (6/6) and concurrent equal to solo on both builds. Host suites pass. Per-request fields only change behaviour when a request sets them. |
ashhart
added a commit
that referenced
this pull request
Oct 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this changes
POST /v1/audio/speechaccepts request-localtemperature,top_p,top_kand exact unsigned 64-bitseed, including streamed and reference-conditioned speech. Omitted/null fields retain the existing 1.0/0.9/30 values and prompt-derived seeds. Fixes #1273.Validation rejects wrong types, nonfinite/out-of-range values and positive parsed values that underflow when narrowed to f32.
top_kis 1..64 across native backends. Seeds are parsed from integer text, including values above 2^53. Explicit redraw seeds add the existing take ordinal with u64 wrap; controls survive reference rebuilding, stripped prompts and silence/register redraws.The public Sogni-AI/drama3-mlx API is the behavioral reference. This independently extends the native server; it does not copy Python implementation or change native sampling arithmetic.
Receipt
Base
2ff01910; Zig 0.17.0, macOS arm64. Scripted HTTP tests use synthetic PCM, not model inference.zig build test-server-cpu -j2 --summary all: server 742/745 passed, 3 skipped; JSON target passed/cached; 5/5 build steps.Repository-wide checks on speaker commit
945c797breached 499/502 build steps and 5,862/5,897 passed tests, 34 skipped and one crash: unchangedtest-pull-hostaborts with macOS ISCONN. The untouched base reproduces 20/21 passed and one crash. Plainzig buildreached 223/226 steps with one compilation failure: unchangedtf-flashnext-runassigns SharedEvent to Event; the untouched base reproduces it (50/53 steps). These are recorded failures, not passing whole-upstream receipts.Draft qualification limit: no real-model determinism/audio identity, CUDA/Metal device comparison, acoustic listening or performance study. The local launcher memory floor was not met and was not overridden. Equal fields/seeds do not promise identical audio across backends or legacy RAS behavior.
During final CPU replays, two unchanged recall tests failed while the volume had about 3.3 GiB free, below their existing 4 GiB admission floor. Removing only task-created compiler caches restored 5.043 GiB; the identical commands passed with no source, environment or admission-guard change. Original failure receipts were retained.
Integration
ATC issue/session coordination and independent review completed. Merge-tree checks against #1268 introduce README/CHANGELOG conflicts only; native code merges cleanly, and the Metal recipe backport retains its CFG behavior. The oversized #728 file list was inspected in full (446 files); its 163 conflict paths against the base remain the same with this contribution. Unchecked PR pairs are not claimed clean.
Pinned-engine packaging and user documentation: drama-tensorfold companion PR.