Skip to content

Releases: adventists-ai/duplexjev

duplexjev 0.2.2

Choose a tag to compare

@BKtensor BKtensor released this 27 Sep 02:47

duplexjev 0.2.2

  • LLMs with recurrent or convolutional layers (Falcon-H1 and other Mamba-style hybrids, LFM2) cannot use prefix packing; the Decider now detects them and uses mode="batch" automatically.
  • Needed for the new Falcon-H1 connectors on Hugging Face.

pip install -U "duplexjev[speech]>=0.2.2"

duplexjev 0.2.1 + released weights

Choose a tag to compare

@BKtensor BKtensor released this 24 Sep 12:54

Weights (Hugging Face, adventists-ai): 7 connectors for Qwen3-ASR-0.6B → Qwen3-32B (A: cross-attention fusion, B: last layer; content, gender, emotion and the mixed-objective A-Para) and 2 encoder repositories. Emotion connectors are CC BY-NC 4.0 (ESD is research-only); the rest Apache-2.0.

duplexjev 0.2.1 (PyPI):

  • Audio is padded to whole audio tokens at the end instead of the start. Start padding shifted every stack group against the frames the connector was trained on and cost up to 6 points on emotion.
  • text_model / audio_model overrides are applied before the config is built, so local copies work offline.

Through the package with default prompts, every released connector is within 0–5 points of the paper's numbers (see the model cards).

duplexjev 0.2.0

Choose a tag to compare

@BKtensor BKtensor released this 23 Sep 14:24

Speech-only API.

  • Decider.decide(audio, groups): one clip, one or more Jev-style option groups -> {group_id: {answer, confidence, probs}}.
  • Decider.decide_batch(audios, groups): many clips; each group names its clip(s) with audio=<id> | [ids] | "*"; one batched pass -> {clip_id: {group_id: ...}}.
  • Server: POST /v1/decide, POST /v1/decide_batch, tick batching across requests.
  • Text-only models are no longer accepted (0.1.0 allowed transcripts).
  • Checked on an A800 with Ultravox v0.6 (Qwen3-32B): qa100 0.89 for 100 clips in one decide_batch pass (5.9 s), 0 decode steps.

Install: pip install "duplexjev[speech]" (PyPI)

duplexjev 0.1.0

Choose a tag to compare

@BKtensor BKtensor released this 23 Sep 14:02

First release of the duplexjev package: batched typed decisions from speech or text with zero decode steps.

  • Decider / Question: any open causal LM (transcripts) or Ultravox-format speech checkpoints (audio).
  • Packed prefix sharing (one row per item, block-diagonal mask); token-budget batching; device="auto" sharding.
  • duplexjev serve: HTTP server that answers every request of a tick in one pass.
  • Verified on an A800: qa100 0.88–0.90 (Ultravox v0.6, audio) and 0.92 (Qwen3-32B, text); fp32 packed vs per-question max diff 2e-5.

Install: pip install "duplexjev[all]" (PyPI)