livekit-plugins-duplexjev 0.3.1__tar.gz → 0.3.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/CHANGELOG.md +8 -0
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/PKG-INFO +5 -4
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/README.md +4 -3
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/livekit/plugins/duplexjev/turn_detector.py +5 -3
- livekit_plugins_duplexjev-0.3.3/livekit/plugins/duplexjev/version.py +1 -0
- livekit_plugins_duplexjev-0.3.1/livekit/plugins/duplexjev/version.py +0 -1
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/.gitignore +0 -0
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/LICENSE +0 -0
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/examples/agent.py +0 -0
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/livekit/plugins/duplexjev/__init__.py +0 -0
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/livekit/plugins/duplexjev/log.py +0 -0
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/livekit/plugins/duplexjev/py.typed +0 -0
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/pyproject.toml +0 -0
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/tests/conftest.py +0 -0
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/tests/test_live.py +0 -0
- {livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/tests/test_turn_detector.py +0 -0
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.3 (2026-10-13)
|
|
4
|
+
|
|
5
|
+
- The free trial API now serves DuplexJev-32B-Para v1.2; the startup hint and README say so.
|
|
6
|
+
|
|
7
|
+
## 0.3.2 (2026-10-13)
|
|
8
|
+
|
|
9
|
+
- Sends an `X-DuplexJev-Client: livekit-plugins-duplexjev/<version>` header (no personal data), so trial-API usage can be counted per integration.
|
|
10
|
+
|
|
3
11
|
## 0.3.1 (2026-10-13)
|
|
4
12
|
|
|
5
13
|
- Logs a one-time hint when the free trial API is used: it runs DuplexJev-4B-Para, so
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: livekit-plugins-duplexjev
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.3
|
|
4
4
|
Summary: Audio end-of-turn detection for LiveKit Agents with DuplexJev: turn state, emotion and non-verbal sounds from one request, no transcript needed.
|
|
5
5
|
Project-URL: Homepage, https://github.com/adventists-ai/duplexjev/tree/main/integrations/livekit
|
|
6
6
|
Project-URL: Models, https://huggingface.co/adventists-ai/DuplexJev-4B-Para
|
|
@@ -46,8 +46,9 @@ Tested with `livekit-agents` 1.8.6. Maintained by Adventists.ai (AI降临派).
|
|
|
46
46
|
> **Getting the published turn-taking numbers.** LiveKit eot-bench (English, false cut-offs at 300 ms): **20.0%** for
|
|
47
47
|
> DuplexJev-32B-Para v1.2 with the agent's previous message, 23.5% audio only, vs 35.2% for Smart Turn v3.2. That needs
|
|
48
48
|
> DuplexJev-32B-Para **v1.2 on your own GPU** behind `duplexjev gateway` >= 0.6 (see *Run the model yourself*), the
|
|
49
|
-
> default `readout="turn"`, and the agent's previous message (below).
|
|
50
|
-
>
|
|
49
|
+
> default `readout="turn"`, and the agent's previous message (below). Since 2026-10-13 the free trial API serves the same
|
|
50
|
+
> DuplexJev-32B-Para v1.2, but it is rate limited (30 requests per minute) and served from mainland China: fine for trying
|
|
51
|
+
> the plugin, self-host for a live agent or a benchmark run.
|
|
51
52
|
|
|
52
53
|
## Install
|
|
53
54
|
|
|
@@ -98,7 +99,7 @@ commits the turn, as with any turn detector, because the LLM needs the text.
|
|
|
98
99
|
|
|
99
100
|
## Run the model yourself (recommended for real-time)
|
|
100
101
|
|
|
101
|
-
The default URL is our free trial API (rate limited to 30 requests per minute; the round trip from outside mainland China adds network latency;
|
|
102
|
+
The default URL is our free trial API (rate limited to 30 requests per minute; the round trip from outside mainland China adds network latency; since 2026-10-13 it serves DuplexJev-32B-Para v1.2). For a live agent, serve the model next to it. For turn-taking, use DuplexJev-32B-Para v1.2 on one 80 GB GPU (the eot-bench numbers above):
|
|
102
103
|
|
|
103
104
|
```bash
|
|
104
105
|
pip install "vllm[audio]>=0.29" duplexjev-vllm "duplexjev[server]>=0.6"
|
|
@@ -20,8 +20,9 @@ Tested with `livekit-agents` 1.8.6. Maintained by Adventists.ai (AI降临派).
|
|
|
20
20
|
> **Getting the published turn-taking numbers.** LiveKit eot-bench (English, false cut-offs at 300 ms): **20.0%** for
|
|
21
21
|
> DuplexJev-32B-Para v1.2 with the agent's previous message, 23.5% audio only, vs 35.2% for Smart Turn v3.2. That needs
|
|
22
22
|
> DuplexJev-32B-Para **v1.2 on your own GPU** behind `duplexjev gateway` >= 0.6 (see *Run the model yourself*), the
|
|
23
|
-
> default `readout="turn"`, and the agent's previous message (below).
|
|
24
|
-
>
|
|
23
|
+
> default `readout="turn"`, and the agent's previous message (below). Since 2026-10-13 the free trial API serves the same
|
|
24
|
+
> DuplexJev-32B-Para v1.2, but it is rate limited (30 requests per minute) and served from mainland China: fine for trying
|
|
25
|
+
> the plugin, self-host for a live agent or a benchmark run.
|
|
25
26
|
|
|
26
27
|
## Install
|
|
27
28
|
|
|
@@ -72,7 +73,7 @@ commits the turn, as with any turn detector, because the LLM needs the text.
|
|
|
72
73
|
|
|
73
74
|
## Run the model yourself (recommended for real-time)
|
|
74
75
|
|
|
75
|
-
The default URL is our free trial API (rate limited to 30 requests per minute; the round trip from outside mainland China adds network latency;
|
|
76
|
+
The default URL is our free trial API (rate limited to 30 requests per minute; the round trip from outside mainland China adds network latency; since 2026-10-13 it serves DuplexJev-32B-Para v1.2). For a live agent, serve the model next to it. For turn-taking, use DuplexJev-32B-Para v1.2 on one 80 GB GPU (the eot-bench numbers above):
|
|
76
77
|
|
|
77
78
|
```bash
|
|
78
79
|
pip install "vllm[audio]>=0.29" duplexjev-vllm "duplexjev[server]>=0.6"
|
|
@@ -158,6 +158,8 @@ class TurnDetector:
|
|
|
158
158
|
self._decide_url = self._base_url + "/v1/decide"
|
|
159
159
|
api_key = api_key or os.environ.get("DUPLEXJEV_API_KEY")
|
|
160
160
|
self._headers = {"Authorization": f"Bearer {api_key}"} if api_key else {}
|
|
161
|
+
from .version import __version__ as _v
|
|
162
|
+
self._headers["X-DuplexJev-Client"] = f"livekit-plugins-duplexjev/{_v}" # usage stats on the trial API
|
|
161
163
|
self._lang = lang
|
|
162
164
|
self._unlikely_threshold = unlikely_threshold
|
|
163
165
|
self._backchannel_threshold = backchannel_threshold
|
|
@@ -170,9 +172,9 @@ class TurnDetector:
|
|
|
170
172
|
)
|
|
171
173
|
self._prediction_timeout = prediction_timeout
|
|
172
174
|
if self._base_url == DEFAULT_URL:
|
|
173
|
-
logger.info("Using the free DuplexJev trial API (DuplexJev-
|
|
174
|
-
"
|
|
175
|
-
"
|
|
175
|
+
logger.info("Using the free DuplexJev trial API (DuplexJev-32B-Para v1.2, 30 requests per minute, served "
|
|
176
|
+
"from mainland China). For a live agent, serve the model yourself behind `duplexjev gateway` "
|
|
177
|
+
">= 0.6 and pass its URL; see the README.")
|
|
176
178
|
self._fallback_probability = fallback_probability
|
|
177
179
|
self._http_session = http_session
|
|
178
180
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.3.3"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.3.1"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/livekit/plugins/duplexjev/log.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{livekit_plugins_duplexjev-0.3.1 → livekit_plugins_duplexjev-0.3.3}/tests/test_turn_detector.py
RENAMED
|
File without changes
|