Spaces:
Paused
Paused
Restore two-context interactive topology
Browse filesExact source: ttracx/thoxroute@49d114b14ba5f1a43fcb93d2f5a2b86a2e6e5e0c
- Dockerfile +1 -1
- README.md +4 -2
- app.py +1 -1
Dockerfile
CHANGED
|
@@ -23,7 +23,7 @@ ENV HF_HOME=/home/mambauser/.cache/huggingface \
|
|
| 23 |
THOX_FAST_MODEL_REPO=Qwen/Qwen2.5-0.5B-Instruct-GGUF \
|
| 24 |
THOX_FAST_MODEL_REVISION=9217f5db79a29953eb74d5343926648285ec7e67 \
|
| 25 |
THOX_FAST_MODEL_FILE=qwen2.5-0.5b-instruct-q4_k_m.gguf \
|
| 26 |
-
THOX_FAST_POOL_SIZE=
|
| 27 |
THOX_FAST_QUEUE_TIMEOUT_S=6 \
|
| 28 |
THOX_FAST_MAX_OUTPUT_TOKENS=16 \
|
| 29 |
THOX_STREAM_HEARTBEAT_S=2 \
|
|
|
|
| 23 |
THOX_FAST_MODEL_REPO=Qwen/Qwen2.5-0.5B-Instruct-GGUF \
|
| 24 |
THOX_FAST_MODEL_REVISION=9217f5db79a29953eb74d5343926648285ec7e67 \
|
| 25 |
THOX_FAST_MODEL_FILE=qwen2.5-0.5b-instruct-q4_k_m.gguf \
|
| 26 |
+
THOX_FAST_POOL_SIZE=2 \
|
| 27 |
THOX_FAST_QUEUE_TIMEOUT_S=6 \
|
| 28 |
THOX_FAST_MAX_OUTPUT_TOKENS=16 \
|
| 29 |
THOX_STREAM_HEARTBEAT_S=2 \
|
README.md
CHANGED
|
@@ -16,8 +16,10 @@ This Space exposes one OpenAI-compatible endpoint:
|
|
| 16 |
a six-second queue ceiling;
|
| 17 |
- `thox-rust-coder`: lazily loaded 25B/3B-active Rust-specialist target.
|
| 18 |
|
| 19 |
-
`GET /healthz` is ready only after
|
| 20 |
-
completed a one-token startup warmup.
|
|
|
|
|
|
|
| 21 |
evaluation so upstream time-to-first-byte watchdogs do not abandon healthy CPU
|
| 22 |
work; two-second SSE comments keep the stream live during synchronous prompt
|
| 23 |
evaluation. The interactive provider itself caps every request at 16 output
|
|
|
|
| 16 |
a six-second queue ceiling;
|
| 17 |
- `thox-rust-coder`: lazily loaded 25B/3B-active Rust-specialist target.
|
| 18 |
|
| 19 |
+
`GET /healthz` is ready only after both interactive contexts are loaded and have
|
| 20 |
+
completed a one-token startup warmup. Each receives half the container CPU
|
| 21 |
+
quota; this topology avoids the severe oversubscription regression observed
|
| 22 |
+
with one eight-thread llama context. Streaming sends a role chunk before model
|
| 23 |
evaluation so upstream time-to-first-byte watchdogs do not abandon healthy CPU
|
| 24 |
work; two-second SSE comments keep the stream live during synchronous prompt
|
| 25 |
evaluation. The interactive provider itself caps every request at 16 output
|
app.py
CHANGED
|
@@ -43,7 +43,7 @@ CODER_MODEL_FILE = os.environ.get(
|
|
| 43 |
"THOX_CODER_MODEL_FILE", "Qwen3-Coder-REAP-25B-A3B-Rust-Q4_K_M.gguf"
|
| 44 |
)
|
| 45 |
N_CTX = int(os.environ.get("THOX_N_CTX", "4096"))
|
| 46 |
-
FAST_POOL_SIZE = max(1, min(int(os.environ.get("THOX_FAST_POOL_SIZE", "
|
| 47 |
FAST_QUEUE_TIMEOUT_S = max(
|
| 48 |
0.1, min(float(os.environ.get("THOX_FAST_QUEUE_TIMEOUT_S", "6")), 10.0)
|
| 49 |
)
|
|
|
|
| 43 |
"THOX_CODER_MODEL_FILE", "Qwen3-Coder-REAP-25B-A3B-Rust-Q4_K_M.gguf"
|
| 44 |
)
|
| 45 |
N_CTX = int(os.environ.get("THOX_N_CTX", "4096"))
|
| 46 |
+
FAST_POOL_SIZE = max(1, min(int(os.environ.get("THOX_FAST_POOL_SIZE", "2")), 2))
|
| 47 |
FAST_QUEUE_TIMEOUT_S = max(
|
| 48 |
0.1, min(float(os.environ.get("THOX_FAST_QUEUE_TIMEOUT_S", "6")), 10.0)
|
| 49 |
)
|