turbollm 0.6.2 โ†’ 0.7.0

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.
package/README.md CHANGED
@@ -83,14 +83,15 @@ TurboLLM does the opposite:
83
83
  Python**. It downloads only the engine your GPU actually needs (Vulkan โ‰ˆ 38 MB).
84
84
  - **๐Ÿ”Œ Drop-in APIs.** OpenAI **and** Anthropic-compatible โ€” so Claude Code and every existing
85
85
  tool work unchanged.
86
+ - **๐Ÿ”€ A gateway that loads models for you.** Name any model in your API request and TurboLLM
87
+ loads it on demand, keeping your favorites hot in a small pool โ€” so an agent that hops between
88
+ models just works, with nothing to pre-wire.
86
89
  - **๐Ÿ”’ Offline-first & private.** No account, no backend, no internet, **no telemetry.**
87
90
 
88
91
  ---
89
92
 
90
93
  ## Features
91
94
 
92
- The current capability list (kept in sync with [CHANGELOG.md](CHANGELOG.md)):
93
-
94
95
  **Engines**
95
96
  - Bring any `llama-server`-compatible engine โ€” stock builds or community forks โ€” with real capability probing
96
97
  - Auto-provision a GPU-matched `llama-server` build on first run (CUDA / ROCm / Metal / SYCL / Vulkan, CPU fallback)
@@ -100,15 +101,26 @@ The current capability list (kept in sync with [CHANGELOG.md](CHANGELOG.md)):
100
101
  **Models**
101
102
  - Use your own local GGUF / safetensors, or browse & download from Hugging Face in-app
102
103
  - Per-model load profiles (context, GPU offload, KV-cache quant, flash-attn, draft models)
104
+ - **Configurable multi-GPU per model** โ€” tensor split / main-GPU pick (llama.cpp), tensor-parallel (vLLM)
103
105
  - Auto-tune on load with a **VRAM-fit verdict before you load**
104
106
  - Measured tokens/sec per model โ€” never faked โ€” live while you chat and remembered
105
107
 
106
108
  **Chat**
107
109
  - Streaming chat with live t/s, TTFT, context meter, and reasoning/thinking support
110
+ - **Persona picker** (8 styles, including Research) + per-chat system prompt and full sampling controls
111
+ - **Inline Unicode charts** when a comparison or trend genuinely warrants a visual
108
112
  - Image and document attachments โ€” including **send an image or file with no text**
109
113
 
114
+ **Agentic tools**
115
+ - **Built-in tools** โ€” `web_search` (Tavily, advanced depth), `fetch_url`, and sandboxed `run_code`
116
+ - **MCP server support** โ€” connect any MCP server (stdio or SSE) from the Customize screen; tools appear automatically in every chat
117
+ - **Research persona** โ€” forces multi-step web search before every reply, cites sources inline
118
+ - Agentic tool loop with live tool-call cards (pending โ†’ done/error) streamed in the UI
119
+
110
120
  **Integrations**
111
121
  - OpenAI- **and** Anthropic-compatible APIs โ€” run Claude Code on your own GPU
122
+ - **Smart gateway** โ€” name a model in any request and it auto-loads; keep up to 4 models hot (LRU)
123
+ - **Embeddings** (`/v1/embeddings`) and **structured output** (GBNF grammar / JSON-constrained)
112
124
  - LAN sharing with optional API-key auth
113
125
  - **Share the GPU with ComfyUI** โ€” auto-unload the model while ComfyUI renders, reload when it's done
114
126
 
@@ -212,6 +224,9 @@ the UI when something fails to load.
212
224
  - **Fast by default:** flash attention on, NextN self-speculative decoding on for models that
213
225
  carry a draft head, threads auto โ€” best speed out of the box, safely gated to what your
214
226
  engine actually accepts.
227
+ - **Multi-GPU, per model** โ€” split a model across cards (layer/row split + main-GPU pick on
228
+ llama.cpp, tensor-parallel on vLLM). Defaults are no-ops, so single-GPU rigs are untouched and
229
+ the VRAM verdict budgets across the GPUs the split actually uses.
215
230
  - **Saved per-model profiles** โ€” tune once, and it loads that way every time.
216
231
 
217
232
  ---
@@ -225,10 +240,14 @@ A genuinely good chat UI, not an afterthought:
225
240
  **context-usage meter** (filled / max) on every reply.
226
241
  - **Thinking control** โ€” toggle reasoning **off** to get a direct answer (saves time and
227
242
  tokens), or leave it **on** with collapsible, timed "thought for N s" blocks.
228
- - **Markdown + syntax-highlighted code** with one-click copy.
243
+ - **Markdown + syntax-highlighted code** with one-click copy โ€” plus **inline Unicode charts**
244
+ the model draws when a comparison, trend, or hierarchy is genuinely worth a visual.
245
+ - **Personas** โ€” pick a style (Concise ยท Detailed ยท Blunt ยท Formal ยท Tutor ยท Creative ยท Default)
246
+ per conversation, no prompt-wrangling required.
229
247
  - **Edit, regenerate, delete, copy** any message; **persistent, searchable conversations**
230
248
  with rename, delete, and **auto-generated titles**.
231
- - **Per-chat system prompt** and **per-chat sampling** overrides (temperature, top-p/k, min-p).
249
+ - **Per-chat system prompt** and **per-chat sampling** overrides โ€” the full set: temperature,
250
+ top-p/k, min-p, repeat/presence/frequency penalties, and **stop strings**.
232
251
  - **Image input** for vision models.
233
252
  - **TurboLLM Expert** โ€” a built-in assistant that knows the app and your hardware, for
234
253
  onboarding and troubleshooting without leaving the UI.
@@ -247,11 +266,23 @@ curl http://127.0.0.1:6996/v1/chat/completions \
247
266
  ```
248
267
 
249
268
  - **OpenAI-compatible** `/v1/chat/completions`, `/v1/embeddings`, โ€ฆ โ€” point any OpenAI client
250
- or tool at it.
269
+ or tool at it. Embedding models are auto-detected and pooled separately, so a RAG pipeline and
270
+ a chat model can stay loaded side by side.
251
271
  - **Anthropic-compatible** `/v1/messages` โ€” including **tool use and streaming** โ€” which is
252
272
  what powers Claude Code below. No other local host offers this.
273
+ - **Structured output** โ€” constrain any response to a **GBNF grammar** (or JSON shape) for
274
+ reliable machine-readable results.
253
275
  - **API-key auth** you can require when sharing over a LAN (Settings โ†’ Network).
254
276
 
277
+ ### The gateway loads models for you
278
+
279
+ Most local hosts make you load a model first, then call it. TurboLLM's gateway reads the
280
+ `model` field of any incoming request, **fuzzy-matches it to your library, and loads it on the
281
+ fly** if it isn't already running โ€” then keeps up to **four models hot** in an LRU pool so the
282
+ next switch is instant. An agent (or Claude Code) that hops between a coding model, a vision
283
+ model, and an embedder just names each one and it works โ€” no pre-wiring, no manual swaps. Tune
284
+ it in Settings โ†’ Gateway (`autoSwap`, `keepN`).
285
+
255
286
  ---
256
287
 
257
288
  ## Run Claude Code on your own GPU
@@ -364,6 +395,7 @@ Focused on the differences that matter โ€” all four are good tools.
364
395
  | **Measured** t/s in the model list | โœ… | โ— | โ— | โŒ |
365
396
  | **Anthropic** API (tool use) โ†’ Claude Code | โœ… | โŒ | โŒ | โŒ |
366
397
  | OpenAI-compatible API | โœ… | โœ… | โœ… | โ— proxy |
398
+ | **Auto-load the requested model** (hot-swap pool) | โœ… | โŒ | โ— | โŒ |
367
399
  | Use existing model folders (no re-download) | โœ… | โ— | โŒ | โŒ |
368
400
  | Speculative decoding (NextN / MTP / draft) | โœ… | โ— draft | โŒ | โŒ |
369
401
  | Web UI from any LAN device | โœ… | โŒ | โŒ | โœ… |
@@ -426,6 +458,6 @@ turbollm/
426
458
  Source-available under the **Functional Source License 1.1 (Apache-2.0 future grant)** โ€” SPDX
427
459
  **`FSL-1.1-ALv2`**. Free for personal use, internal business use, education, and research; the
428
460
  only restriction is shipping a competing product. Each release converts to Apache-2.0 two
429
- years after it's published. Full text: [LICENSE.md](LICENSE.md).
461
+ years after it's published. Full text: [LICENSE.md](https://github.com/mohitsoni48/Turbo-LLM/blob/main/turbollm/LICENSE.md).
430
462
 
431
463
  <p align="center"><sub>Built for people who refuse to wait for the mainstream to bless the fast path. โšก</sub></p>