Repository navigation
Releases: adventists-ai/duplexjev
Releases · adventists-ai/duplexjev
Release list
duplexjev 0.2.2
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
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_modeloverrides 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
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) withaudio=<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_batchpass (5.9 s), 0 decode steps.
Install: pip install "duplexjev[speech]" (PyPI)
duplexjev 0.1.0
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)