@ruvector/ruvllm 3.0.0 → 4.0.1

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.
Files changed (151) hide show
  1. package/GPU-LOOP.md +229 -0
  2. package/LICENSE +201 -0
  3. package/NOTICE +9 -0
  4. package/README.md +159 -360
  5. package/examples/gpu-loop.example.json +26 -0
  6. package/package.json +50 -121
  7. package/src/adapters-cli.mjs +23 -0
  8. package/src/adapters.mjs +91 -0
  9. package/src/cli.mjs +30 -0
  10. package/src/engine.mjs +238 -0
  11. package/src/fixture.mjs +38 -0
  12. package/src/gpu-host.mjs +47 -0
  13. package/src/gpu-loop-cli.mjs +67 -0
  14. package/src/gpu-loop.mjs +184 -0
  15. package/src/gpu-spool-adapter.mjs +80 -0
  16. package/src/vast-host-adapter.mjs +274 -0
  17. package/bin/cli.js +0 -1040
  18. package/dist/cjs/benchmarks/embedding-benchmark.d.ts +0 -102
  19. package/dist/cjs/benchmarks/embedding-benchmark.d.ts.map +0 -1
  20. package/dist/cjs/benchmarks/embedding-benchmark.js +0 -436
  21. package/dist/cjs/benchmarks/index.d.ts +0 -34
  22. package/dist/cjs/benchmarks/index.d.ts.map +0 -1
  23. package/dist/cjs/benchmarks/index.js +0 -132
  24. package/dist/cjs/benchmarks/model-comparison.d.ts +0 -71
  25. package/dist/cjs/benchmarks/model-comparison.d.ts.map +0 -1
  26. package/dist/cjs/benchmarks/model-comparison.js +0 -476
  27. package/dist/cjs/benchmarks/routing-benchmark.d.ts +0 -70
  28. package/dist/cjs/benchmarks/routing-benchmark.d.ts.map +0 -1
  29. package/dist/cjs/benchmarks/routing-benchmark.js +0 -289
  30. package/dist/cjs/contrastive.d.ts +0 -229
  31. package/dist/cjs/contrastive.d.ts.map +0 -1
  32. package/dist/cjs/contrastive.js +0 -589
  33. package/dist/cjs/engine.d.ts +0 -160
  34. package/dist/cjs/engine.d.ts.map +0 -1
  35. package/dist/cjs/engine.js +0 -552
  36. package/dist/cjs/export.d.ts +0 -182
  37. package/dist/cjs/export.d.ts.map +0 -1
  38. package/dist/cjs/export.js +0 -422
  39. package/dist/cjs/federated.d.ts +0 -233
  40. package/dist/cjs/federated.d.ts.map +0 -1
  41. package/dist/cjs/federated.js +0 -525
  42. package/dist/cjs/index.d.ts +0 -68
  43. package/dist/cjs/index.d.ts.map +0 -1
  44. package/dist/cjs/index.js +0 -104
  45. package/dist/cjs/intelligence.d.ts +0 -136
  46. package/dist/cjs/intelligence.d.ts.map +0 -1
  47. package/dist/cjs/intelligence.js +0 -226
  48. package/dist/cjs/lora.d.ts +0 -251
  49. package/dist/cjs/lora.d.ts.map +0 -1
  50. package/dist/cjs/lora.js +0 -509
  51. package/dist/cjs/models.d.ts +0 -129
  52. package/dist/cjs/models.d.ts.map +0 -1
  53. package/dist/cjs/models.js +0 -323
  54. package/dist/cjs/native.d.ts +0 -140
  55. package/dist/cjs/native.d.ts.map +0 -1
  56. package/dist/cjs/native.js +0 -98
  57. package/dist/cjs/session.d.ts +0 -80
  58. package/dist/cjs/session.d.ts.map +0 -1
  59. package/dist/cjs/session.js +0 -203
  60. package/dist/cjs/simd.d.ts +0 -90
  61. package/dist/cjs/simd.d.ts.map +0 -1
  62. package/dist/cjs/simd.js +0 -209
  63. package/dist/cjs/sona.d.ts +0 -223
  64. package/dist/cjs/sona.d.ts.map +0 -1
  65. package/dist/cjs/sona.js +0 -562
  66. package/dist/cjs/streaming.d.ts +0 -55
  67. package/dist/cjs/streaming.d.ts.map +0 -1
  68. package/dist/cjs/streaming.js +0 -131
  69. package/dist/cjs/training.d.ts +0 -312
  70. package/dist/cjs/training.d.ts.map +0 -1
  71. package/dist/cjs/training.js +0 -610
  72. package/dist/cjs/types.d.ts +0 -696
  73. package/dist/cjs/types.d.ts.map +0 -1
  74. package/dist/cjs/types.js +0 -6
  75. package/dist/esm/benchmarks/embedding-benchmark.d.ts +0 -102
  76. package/dist/esm/benchmarks/embedding-benchmark.d.ts.map +0 -1
  77. package/dist/esm/benchmarks/embedding-benchmark.js +0 -427
  78. package/dist/esm/benchmarks/index.d.ts +0 -34
  79. package/dist/esm/benchmarks/index.d.ts.map +0 -1
  80. package/dist/esm/benchmarks/index.js +0 -110
  81. package/dist/esm/benchmarks/model-comparison.d.ts +0 -71
  82. package/dist/esm/benchmarks/model-comparison.d.ts.map +0 -1
  83. package/dist/esm/benchmarks/model-comparison.js +0 -434
  84. package/dist/esm/benchmarks/routing-benchmark.d.ts +0 -70
  85. package/dist/esm/benchmarks/routing-benchmark.d.ts.map +0 -1
  86. package/dist/esm/benchmarks/routing-benchmark.js +0 -283
  87. package/dist/esm/contrastive.d.ts +0 -229
  88. package/dist/esm/contrastive.d.ts.map +0 -1
  89. package/dist/esm/contrastive.js +0 -578
  90. package/dist/esm/engine.d.ts +0 -160
  91. package/dist/esm/engine.d.ts.map +0 -1
  92. package/dist/esm/engine.js +0 -548
  93. package/dist/esm/export.d.ts +0 -182
  94. package/dist/esm/export.d.ts.map +0 -1
  95. package/dist/esm/export.js +0 -414
  96. package/dist/esm/federated.d.ts +0 -233
  97. package/dist/esm/federated.d.ts.map +0 -1
  98. package/dist/esm/federated.js +0 -520
  99. package/dist/esm/index.d.ts +0 -68
  100. package/dist/esm/index.d.ts.map +0 -1
  101. package/dist/esm/index.js +0 -84
  102. package/dist/esm/intelligence.d.ts +0 -136
  103. package/dist/esm/intelligence.d.ts.map +0 -1
  104. package/dist/esm/intelligence.js +0 -188
  105. package/dist/esm/lora.d.ts +0 -251
  106. package/dist/esm/lora.d.ts.map +0 -1
  107. package/dist/esm/lora.js +0 -504
  108. package/dist/esm/models.d.ts +0 -129
  109. package/dist/esm/models.d.ts.map +0 -1
  110. package/dist/esm/models.js +0 -282
  111. package/dist/esm/native.d.ts +0 -140
  112. package/dist/esm/native.d.ts.map +0 -1
  113. package/dist/esm/native.js +0 -93
  114. package/dist/esm/session.d.ts +0 -80
  115. package/dist/esm/session.d.ts.map +0 -1
  116. package/dist/esm/session.js +0 -199
  117. package/dist/esm/simd.d.ts +0 -90
  118. package/dist/esm/simd.d.ts.map +0 -1
  119. package/dist/esm/simd.js +0 -205
  120. package/dist/esm/sona.d.ts +0 -223
  121. package/dist/esm/sona.d.ts.map +0 -1
  122. package/dist/esm/sona.js +0 -556
  123. package/dist/esm/streaming.d.ts +0 -55
  124. package/dist/esm/streaming.d.ts.map +0 -1
  125. package/dist/esm/streaming.js +0 -126
  126. package/dist/esm/training.d.ts +0 -312
  127. package/dist/esm/training.d.ts.map +0 -1
  128. package/dist/esm/training.js +0 -603
  129. package/dist/esm/types.d.ts +0 -696
  130. package/dist/esm/types.d.ts.map +0 -1
  131. package/dist/esm/types.js +0 -5
  132. package/scripts/ensemble-model-compare.js +0 -287
  133. package/scripts/fix-esm-extensions.mjs +0 -181
  134. package/scripts/huggingface/README.md +0 -537
  135. package/scripts/huggingface/publish.sh +0 -112
  136. package/scripts/hybrid-model-compare.js +0 -373
  137. package/scripts/improved-model-compare.js +0 -288
  138. package/scripts/optimized-model-compare.js +0 -364
  139. package/scripts/real-model-compare.js +0 -280
  140. package/scripts/smoke-esm.mjs +0 -82
  141. package/scripts/training/agentic-flow-capabilities.json +0 -329
  142. package/scripts/training/claude-code-synth.js +0 -505
  143. package/scripts/training/claude-flow-capabilities.json +0 -1322
  144. package/scripts/training/claude-hard-negatives.js +0 -222
  145. package/scripts/training/contrastive-finetune.js +0 -517
  146. package/scripts/training/ecosystem-triplets.jsonl +0 -1467
  147. package/scripts/training/generate-ecosystem-triplets.js +0 -1324
  148. package/scripts/training/routing-dataset.js +0 -634
  149. package/scripts/training/ruvector-capabilities.json +0 -798
  150. package/scripts/training/validate-ecosystem.js +0 -381
  151. package/scripts/training/validation-results.json +0 -23
@@ -1,537 +0,0 @@
1
- ---
2
- license: apache-2.0
3
- language:
4
- - en
5
- tags:
6
- - llm
7
- - code-generation
8
- - claude-code
9
- - sona
10
- - swarm
11
- - multi-agent
12
- - gguf
13
- - quantized
14
- - edge-ai
15
- - self-learning
16
- - ruvector
17
- - embeddings
18
- - routing
19
- - cost-optimization
20
- - contrastive-learning
21
- - triplet-loss
22
- - infonce
23
- - agent-routing
24
- - sota
25
- - task-routing
26
- - semantic-search
27
- library_name: ruvllm
28
- pipeline_tag: text-classification
29
- base_model: Qwen/Qwen2.5-0.5B-Instruct
30
- datasets:
31
- - custom
32
- model-index:
33
- - name: RuvLTRA Claude Code 0.5B
34
- results:
35
- - task:
36
- type: text-classification
37
- name: Agent Routing
38
- dataset:
39
- type: custom
40
- name: Claude Flow Routing Triplets
41
- metrics:
42
- - type: accuracy
43
- value: 0.882
44
- name: Embedding-Only Accuracy
45
- - type: accuracy
46
- value: 1.0
47
- name: Hybrid Routing Accuracy
48
- - type: accuracy
49
- value: 0.812
50
- name: Hard Negative Accuracy
51
- widget:
52
- - text: "Route: Implement authentication\nAgent:"
53
- example_title: Code Task
54
- - text: "Route: Review the pull request\nAgent:"
55
- example_title: Review Task
56
- - text: "Route: Fix the null pointer bug\nAgent:"
57
- example_title: Debug Task
58
- - text: "Route: Design database schema\nAgent:"
59
- example_title: Architecture Task
60
- ---
61
-
62
- # RuvLTRA
63
-
64
- <p align="center">
65
- <img src="https://img.shields.io/badge/Hybrid_Routing-100%25-brightgreen" alt="Hybrid Accuracy">
66
- <img src="https://img.shields.io/badge/Embedding-88.2%25-green" alt="Embedding Accuracy">
67
- <img src="https://img.shields.io/badge/GGUF-Q4__K__M-blue" alt="GGUF">
68
- <img src="https://img.shields.io/badge/Latency-<10ms-orange" alt="Latency">
69
- <img src="https://img.shields.io/badge/Capabilities-388-cyan" alt="Capabilities">
70
- <img src="https://img.shields.io/badge/License-Apache%202.0-green" alt="License">
71
- </p>
72
-
73
- **RuvLTRA** is a collection of optimized models designed for **local routing, embeddings, and task classification** in Claude Code workflows—not for general code generation.
74
-
75
- ## 🎯 Key Philosophy
76
-
77
- > **Benchmark Note:** HumanEval/MBPP don't apply here. RuvLTRA isn't designed to compete with Claude for code generation from scratch.
78
-
79
- ### Use Case Comparison
80
-
81
- | Task | RuvLTRA | Claude API |
82
- |------|---------|------------|
83
- | Route task to correct agent | ✅ Local, fast, **100% accuracy** | Overkill |
84
- | Generate embeddings for HNSW | ✅ Purpose-built | No embedding API |
85
- | Quick classification/routing | ✅ <10ms local | ~500ms+ API |
86
- | Memory retrieval scoring | ✅ Integrated | Not designed for |
87
- | Complex code generation | ❌ Use Claude | ✅ |
88
- | Multi-step reasoning | ❌ Use Claude | ✅ |
89
-
90
- ---
91
-
92
- ## 🚀 SOTA: 100% Routing Accuracy + Enhanced Embeddings
93
-
94
- Using **hybrid keyword+embedding strategy** plus **contrastive fine-tuning**, RuvLTRA now achieves:
95
-
96
- ### SOTA Benchmark Results
97
-
98
- | Metric | Before | After | Method |
99
- |--------|--------|-------|--------|
100
- | **Hybrid Routing** | 95% | **100%** | Keyword-First + Embedding Fallback |
101
- | **Embedding-Only** | 45% | **88.2%** | Contrastive Learning (Triplet + InfoNCE) |
102
- | **Hard Negatives** | N/A | **81.2%** | Claude Opus 4.5 Generated Pairs |
103
-
104
- ### Strategy Comparison (20 test cases)
105
-
106
- | Strategy | RuvLTRA | Qwen Base | Improvement |
107
- |----------|---------|-----------|-------------|
108
- | Embedding Only | 88.2% | 40.0% | +48.2 pts |
109
- | **Keyword-First Hybrid** | **100.0%** | 95.0% | +5 pts |
110
-
111
- ### Training Enhancements (v2.4 - Ecosystem Edition)
112
-
113
- - **2,545 training triplets** (1,078 SOTA + 1,467 ecosystem)
114
- - **Full ecosystem coverage**: claude-flow, agentic-flow, ruvector
115
- - **388 total capabilities** across all tools
116
- - **62 validation tests** with 100% accuracy
117
- - **Claude Opus 4.5** used for generating confusing pairs
118
- - **Triplet + InfoNCE loss** for contrastive learning
119
- - **Real Candle training** with gradient-based weight updates
120
-
121
- ### Ecosystem Coverage (v2.4)
122
-
123
- | Tool | CLI Commands | Agents | Special Features |
124
- |------|--------------|--------|------------------|
125
- | **claude-flow** | 26 (179 subcommands) | 58 types | 27 hooks, 12 workers, 29 skills |
126
- | **agentic-flow** | 17 commands | 33 types | 32 MCP tools, 9 RL algorithms |
127
- | **ruvector** | 6 CLI, 22 Rust crates | 12 NPM | 6 attention, 4 graph algorithms |
128
-
129
- ### Supported Agent Types (58+)
130
-
131
- | Agent | Keywords | Use Cases |
132
- |-------|----------|-----------|
133
- | `coder` | implement, build, create | Code implementation |
134
- | `researcher` | research, investigate, explore | Information gathering |
135
- | `reviewer` | review, pull request, quality | Code review |
136
- | `tester` | test, unit, integration | Testing |
137
- | `architect` | design, architecture, schema | System design |
138
- | `security-architect` | security, vulnerability, xss | Security analysis |
139
- | `debugger` | debug, fix, bug, error | Bug fixing |
140
- | `documenter` | jsdoc, comment, readme | Documentation |
141
- | `refactorer` | refactor, async/await | Code refactoring |
142
- | `optimizer` | optimize, cache, performance | Performance |
143
- | `devops` | deploy, ci/cd, kubernetes | DevOps |
144
- | `api-docs` | openapi, swagger, api spec | API documentation |
145
- | `planner` | sprint, plan, roadmap | Project planning |
146
-
147
- ### Extended Capabilities (v2.4)
148
-
149
- | Category | Examples |
150
- |----------|----------|
151
- | **MCP Tools** | memory_store, agent_spawn, swarm_init, hooks_pre-task |
152
- | **Swarm Topologies** | hierarchical, mesh, ring, star, adaptive |
153
- | **Consensus** | byzantine, raft, gossip, crdt, quorum |
154
- | **Learning** | SONA train, LoRA finetune, EWC++ consolidate, GRPO optimize |
155
- | **Attention** | flash, multi-head, linear, hyperbolic, MoE |
156
- | **Graph** | mincut, GNN embed, spectral, pagerank |
157
- | **Hardware** | Metal GPU, NEON SIMD, ANE neural engine |
158
-
159
- ---
160
-
161
- ## 💰 Cost Savings
162
-
163
- | Operation | Claude API | RuvLTRA Local | Savings |
164
- |-----------|------------|---------------|---------|
165
- | Task routing | $0.003 / call | $0 | **100%** |
166
- | Embedding generation | $0.0001 / call | $0 | **100%** |
167
- | Latency | ~500ms | <10ms | **50x faster** |
168
-
169
- **Monthly example:** ~$250/month savings (50K routing calls + 100K embeddings)
170
-
171
- ---
172
-
173
- ## 📦 Available Models
174
-
175
- | Model | Size | RAM | Latency |
176
- |-------|------|-----|---------|
177
- | `ruvltra-claude-code-0.5b-q4_k_m.gguf` | 398 MB | ~500 MB | <10ms |
178
- | `ruvltra-small-0.5b-q4_k_m.gguf` | 398 MB | ~500 MB | <10ms |
179
- | `ruvltra-medium-1.1b-q4_k_m.gguf` | 800 MB | ~1 GB | <20ms |
180
-
181
- ---
182
-
183
- ## 🛠️ Quick Start
184
-
185
- ### Installation
186
- ```bash
187
- npx ruvector install
188
- ```
189
-
190
- ### Download Models
191
- ```bash
192
- wget https://huggingface.co/ruv/ruvltra/resolve/main/ruvltra-claude-code-0.5b-q4_k_m.gguf
193
- ```
194
-
195
- ### Python Example
196
- ```python
197
- from llama_cpp import Llama
198
-
199
- router = Llama(model_path="ruvltra-claude-code-0.5b-q4_k_m.gguf", n_ctx=512)
200
- result = router("Route: Add validation\nAgent:", max_tokens=8)
201
- print(result['choices'][0]['text']) # -> "coder"
202
- ```
203
-
204
- ### Rust Example
205
- ```rust
206
- use ruvllm::backends::{create_backend, GenerateParams};
207
-
208
- let mut llm = create_backend();
209
- llm.load_model("ruvltra-claude-code-0.5b-q4_k_m.gguf", Default::default())?;
210
-
211
- let agent = llm.generate("Route: fix bug\nAgent:", GenerateParams::default().with_max_tokens(8))?;
212
- ```
213
-
214
- ### Node.js Example (Hybrid Routing)
215
- ```javascript
216
- const { SemanticRouter } = require('@ruvector/ruvllm');
217
-
218
- const router = new SemanticRouter({
219
- modelPath: 'ruvltra-claude-code-0.5b-q4_k_m.gguf',
220
- strategy: 'keyword-first' // 100% accuracy
221
- });
222
-
223
- const result = await router.route('Implement authentication system');
224
- // { agent: 'coder', confidence: 0.92 }
225
- ```
226
-
227
- ---
228
-
229
- ## 🔧 Hybrid Routing Algorithm
230
-
231
- The model achieves 100% accuracy using a two-stage routing strategy:
232
-
233
- ```
234
- 1. KEYWORD MATCHING (Primary)
235
- - Check task for trigger keywords
236
- - Priority ordering resolves conflicts
237
- - "investigate" → researcher (priority)
238
- - "optimize queries" → optimizer
239
-
240
- 2. EMBEDDING FALLBACK (Secondary)
241
- - If no keywords match, use embeddings
242
- - Compare task embedding vs agent descriptions
243
- - Cosine similarity for ranking
244
- ```
245
-
246
- ---
247
-
248
- ## 📊 Technical Specifications
249
-
250
- | Specification | Value |
251
- |--------------|-------|
252
- | Base Model | Qwen2.5-0.5B-Instruct |
253
- | Parameters | 494M |
254
- | Embedding Dimensions | 896 |
255
- | Quantization | Q4_K_M |
256
- | File Size | 398 MB |
257
- | Context Length | 32768 tokens |
258
-
259
- ---
260
-
261
- ## 📦 Rust Crates
262
-
263
- | Crate | Description |
264
- |-------|-------------|
265
- | **ruvllm** | LLM runtime with SONA learning |
266
- | **ruvector-core** | HNSW vector database |
267
- | **ruvector-sona** | Self-optimizing neural architecture |
268
- | **ruvector-attention** | Attention mechanisms |
269
- | **ruvector-gnn** | Graph neural network on HNSW |
270
- | **ruvector-graph** | Distributed hypergraph database |
271
-
272
- ```toml
273
- [dependencies]
274
- ruvllm = "0.1"
275
- ruvector-core = { version = "0.1", features = ["hnsw", "simd"] }
276
- ruvector-sona = { version = "0.1", features = ["serde-support"] }
277
- ```
278
-
279
- ---
280
-
281
- ## 💻 Requirements
282
-
283
- | Component | Minimum |
284
- |-----------|---------|
285
- | RAM | 500 MB |
286
- | Storage | 400 MB |
287
- | Rust | 1.70+ |
288
- | Node | 18+ |
289
-
290
- ---
291
-
292
- ## 🏗️ Architecture
293
-
294
- ```
295
- Task ──► RuvLTRA ──► Agent Type ──► Claude API
296
- (free) (100% acc) (pay here)
297
-
298
- Query ──► RuvLTRA ──► Embedding ──► HNSW ──► Context
299
- (free) (free) (free) (free)
300
- ```
301
-
302
- **Philosophy:** Simple, frequent decisions → RuvLTRA (free, <10ms, 100% accurate). Complex reasoning → Claude API (worth the cost).
303
-
304
- ---
305
-
306
- ---
307
-
308
- <details>
309
- <summary><b>📋 Training Details</b></summary>
310
-
311
- ### Training Data
312
-
313
- | Dataset | Count | Description |
314
- |---------|-------|-------------|
315
- | Base Triplets | 578 | Claude Code routing examples |
316
- | Claude Hard Negatives (Batch 1) | 100 | Opus 4.5 generated confusing pairs |
317
- | Claude Hard Negatives (Batch 2) | 400 | Additional confusing pairs |
318
- | **Total** | **1,078** | Combined training set |
319
-
320
- ### Training Procedure
321
-
322
- ```
323
- Pipeline: Hard Negative Generation → Contrastive Training → GRPO Feedback → GGUF Export
324
-
325
- 1. Generate confusing agent pairs using Claude Opus 4.5
326
- 2. Train with Triplet Loss + InfoNCE Loss
327
- 3. Apply GRPO reward scaling from Claude judgments
328
- 4. Export adapter weights for GGUF merging
329
- ```
330
-
331
- ### Hyperparameters
332
-
333
- | Parameter | Value |
334
- |-----------|-------|
335
- | Learning Rate | 2e-5 |
336
- | Batch Size | 32 |
337
- | Epochs | 30 |
338
- | Triplet Margin | 0.5 |
339
- | InfoNCE Temperature | 0.07 |
340
- | Weight Decay | 0.01 |
341
- | Optimizer | AdamW |
342
-
343
- ### Training Infrastructure
344
-
345
- - **Hardware**: Apple Silicon (Metal GPU)
346
- - **Framework**: Candle (Rust ML)
347
- - **Training Time**: ~30 seconds for 30 epochs
348
- - **Final Loss**: 0.168
349
-
350
- </details>
351
-
352
- <details>
353
- <summary><b>📊 Evaluation Results</b></summary>
354
-
355
- ### Benchmark: Claude Flow Agent Routing (20 test cases)
356
-
357
- | Strategy | RuvLTRA | Qwen Base | Improvement |
358
- |----------|---------|-----------|-------------|
359
- | Embedding Only | 88.2% | 40.0% | **+48.2 pts** |
360
- | Keyword Only | 100.0% | 100.0% | same |
361
- | Hybrid 60/40 | 100.0% | 95.0% | +5.0 pts |
362
- | **Keyword-First** | **100.0%** | 95.0% | **+5.0 pts** |
363
-
364
- ### Per-Agent Accuracy
365
-
366
- | Agent | Accuracy | Test Cases |
367
- |-------|----------|------------|
368
- | coder | 100% | 3 |
369
- | researcher | 100% | 2 |
370
- | reviewer | 100% | 2 |
371
- | tester | 100% | 2 |
372
- | architect | 100% | 2 |
373
- | security-architect | 100% | 2 |
374
- | debugger | 100% | 2 |
375
- | documenter | 100% | 1 |
376
- | refactorer | 100% | 1 |
377
- | optimizer | 100% | 1 |
378
- | devops | 100% | 1 |
379
- | api-docs | 100% | 1 |
380
-
381
- ### Hard Negative Performance
382
-
383
- | Confusing Pair | Accuracy |
384
- |----------------|----------|
385
- | coder vs refactorer | 82% |
386
- | researcher vs architect | 79% |
387
- | reviewer vs tester | 84% |
388
- | debugger vs optimizer | 78% |
389
- | documenter vs api-docs | 85% |
390
-
391
- </details>
392
-
393
- <details>
394
- <summary><b>⚠️ Limitations & Intended Use</b></summary>
395
-
396
- ### Intended Use
397
-
398
- ✅ **Designed For:**
399
- - Task routing in Claude Code workflows
400
- - Agent classification (13 types)
401
- - Semantic embedding for HNSW search
402
- - Local inference (<10ms latency)
403
- - Cost optimization (avoid API calls for routing)
404
-
405
- ❌ **NOT Designed For:**
406
- - General code generation
407
- - Multi-step reasoning
408
- - Chat/conversation
409
- - Languages other than English
410
- - Agent types beyond the 13 supported
411
-
412
- ### Known Limitations
413
-
414
- 1. **Fixed Agent Types**: Only routes to 13 predefined agents
415
- 2. **English Only**: Training data is English-only
416
- 3. **Domain Specific**: Optimized for software development tasks
417
- 4. **Embedding Fallback**: 88.2% accuracy when keywords don't match
418
- 5. **Context Length**: Optimal for short task descriptions (<100 tokens)
419
-
420
- ### Bias Considerations
421
-
422
- - Training data generated from Claude Opus 4.5 may inherit biases
423
- - Agent keywords favor common software terminology
424
- - Security-related tasks may be over-classified to security-architect
425
-
426
- </details>
427
-
428
- <details>
429
- <summary><b>🔧 Model Files & Checksums</b></summary>
430
-
431
- ### Available Files
432
-
433
- | File | Size | Format | Use Case |
434
- |------|------|--------|----------|
435
- | `ruvltra-claude-code-0.5b-q4_k_m.gguf` | 398 MB | GGUF Q4_K_M | Production routing |
436
- | `ruvltra-small-0.5b-q4_k_m.gguf` | 398 MB | GGUF Q4_K_M | General embeddings |
437
- | `ruvltra-medium-1.1b-q4_k_m.gguf` | 800 MB | GGUF Q4_K_M | Higher accuracy |
438
- | `training/v2.3-sota-stats.json` | 1 KB | JSON | Training metrics |
439
- | `training/v2.3-info.json` | 2 KB | JSON | Training config |
440
-
441
- ### Version History
442
-
443
- | Version | Date | Changes |
444
- |---------|------|---------|
445
- | v2.3 | 2025-01-20 | 500+ hard negatives, 48% ratio, GRPO feedback |
446
- | v2.2 | 2025-01-15 | 100 hard negatives, 18% ratio |
447
- | v2.1 | 2025-01-10 | Contrastive learning, triplet loss |
448
- | v2.0 | 2025-01-05 | Hybrid routing strategy |
449
- | v1.0 | 2024-12-20 | Initial release |
450
-
451
- </details>
452
-
453
- <details>
454
- <summary><b>📖 Citation</b></summary>
455
-
456
- ### BibTeX
457
-
458
- ```bibtex
459
- @software{ruvltra2025,
460
- title = {RuvLTRA: Local Task Routing for Claude Code Workflows},
461
- author = {ruv},
462
- year = {2025},
463
- url = {https://huggingface.co/ruv/ruvltra},
464
- version = {2.3},
465
- license = {Apache-2.0},
466
- keywords = {agent-routing, embeddings, claude-code, contrastive-learning}
467
- }
468
- ```
469
-
470
- ### Plain Text
471
-
472
- ```
473
- ruv. (2025). RuvLTRA: Local Task Routing for Claude Code Workflows (Version 2.3).
474
- https://huggingface.co/ruv/ruvltra
475
- ```
476
-
477
- </details>
478
-
479
- <details>
480
- <summary><b>❓ FAQ & Troubleshooting</b></summary>
481
-
482
- ### Common Questions
483
-
484
- **Q: Why use this instead of Claude API for routing?**
485
- A: RuvLTRA is free, runs locally in <10ms, and achieves 100% accuracy with hybrid strategy. Claude API adds latency (~500ms) and costs ~$0.003 per call.
486
-
487
- **Q: Can I add custom agent types?**
488
- A: Not with the current model. You'd need to fine-tune with triplets including your custom agents.
489
-
490
- **Q: Does it work offline?**
491
- A: Yes, fully offline after downloading the GGUF model.
492
-
493
- **Q: What's the difference between embedding-only and hybrid?**
494
- A: Embedding-only uses semantic similarity (88.2% accuracy). Hybrid checks keywords first, then falls back to embeddings (100% accuracy).
495
-
496
- ### Troubleshooting
497
-
498
- **Model loading fails:**
499
- ```bash
500
- # Ensure you have enough RAM (500MB+)
501
- # Check file integrity
502
- sha256sum ruvltra-claude-code-0.5b-q4_k_m.gguf
503
- ```
504
-
505
- **Low accuracy:**
506
- ```javascript
507
- // Use keyword-first strategy for 100% accuracy
508
- const router = new SemanticRouter({
509
- strategy: 'keyword-first' // Not 'embedding-only'
510
- });
511
- ```
512
-
513
- **Slow inference:**
514
- ```bash
515
- # Enable Metal GPU on Apple Silicon
516
- export GGML_METAL=1
517
- ```
518
-
519
- </details>
520
-
521
- ---
522
-
523
- ## 📄 License
524
-
525
- Apache 2.0 - Free for commercial and personal use.
526
-
527
- ## 🔗 Links
528
-
529
- - [GitHub Repository](https://github.com/ruvnet/ruvector)
530
- - [Claude Flow](https://github.com/ruvnet/claude-flow)
531
- - [Documentation](https://github.com/ruvnet/ruvector/tree/main/docs)
532
- - [Training Code](https://github.com/ruvnet/ruvector/tree/main/crates/ruvllm/src/training)
533
- - [NPM Package](https://www.npmjs.com/package/@ruvector/ruvllm)
534
-
535
- ## 🏷️ Keywords
536
-
537
- `agent-routing` `task-classification` `claude-code` `embeddings` `semantic-search` `gguf` `quantized` `edge-ai` `local-inference` `contrastive-learning` `triplet-loss` `infonce` `qwen` `llm` `mlops` `cost-optimization` `multi-agent` `swarm` `ruvector` `sona`
@@ -1,112 +0,0 @@
1
- #!/bin/bash
2
- # RuvLTRA HuggingFace Publishing Script
3
- #
4
- # Prerequisites:
5
- # pip install huggingface_hub
6
- # huggingface-cli login
7
- #
8
- # Environment:
9
- # HF_TOKEN or HUGGING_FACE_HUB_TOKEN must be set
10
-
11
- set -e
12
-
13
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
14
- MODELS_DIR="${HOME}/.ruvllm/models"
15
- REPO_ID="ruv/ruvltra"
16
-
17
- # Colors
18
- RED='\033[0;31m'
19
- GREEN='\033[0;32m'
20
- YELLOW='\033[1;33m'
21
- NC='\033[0m'
22
-
23
- echo "╔═══════════════════════════════════════════════════════════════════════════════════╗"
24
- echo "║ RuvLTRA HuggingFace Publishing ║"
25
- echo "╚═══════════════════════════════════════════════════════════════════════════════════╝"
26
- echo ""
27
-
28
- # Check for HuggingFace token
29
- HF_TOKEN="${HF_TOKEN:-${HUGGING_FACE_HUB_TOKEN:-${HUGGINGFACE_API_KEY:-}}}"
30
- if [ -z "$HF_TOKEN" ]; then
31
- echo -e "${RED}Error: No HuggingFace token found.${NC}"
32
- echo "Set one of: HF_TOKEN, HUGGING_FACE_HUB_TOKEN, or HUGGINGFACE_API_KEY"
33
- exit 1
34
- fi
35
-
36
- echo -e "${GREEN}✓ HuggingFace token found${NC}"
37
-
38
- # Check for huggingface-cli
39
- if ! command -v huggingface-cli &> /dev/null; then
40
- echo -e "${YELLOW}Installing huggingface_hub...${NC}"
41
- pip install huggingface_hub
42
- fi
43
-
44
- echo -e "${GREEN}✓ huggingface-cli available${NC}"
45
-
46
- # List available models
47
- echo ""
48
- echo "Available models in ${MODELS_DIR}:"
49
- ls -lh "${MODELS_DIR}"/*.gguf 2>/dev/null || echo " (no models found)"
50
- echo ""
51
-
52
- # Define models to upload
53
- MODELS=(
54
- "ruvltra-claude-code-0.5b-q4_k_m.gguf:Claude Code Router - 100% routing accuracy"
55
- "ruvltra-0.5b-q4_k_m.gguf:General embeddings model"
56
- )
57
-
58
- # Upload README first
59
- echo "─────────────────────────────────────────────────────────────────"
60
- echo " Uploading README.md"
61
- echo "─────────────────────────────────────────────────────────────────"
62
-
63
- if [ -f "${SCRIPT_DIR}/README.md" ]; then
64
- echo "Uploading model card..."
65
- huggingface-cli upload "${REPO_ID}" "${SCRIPT_DIR}/README.md" README.md \
66
- --token "${HF_TOKEN}" \
67
- --commit-message "Update model card with 100% routing accuracy benchmarks"
68
- echo -e "${GREEN}✓ README.md uploaded${NC}"
69
- else
70
- echo -e "${YELLOW}Warning: README.md not found at ${SCRIPT_DIR}/README.md${NC}"
71
- fi
72
-
73
- # Upload each model
74
- echo ""
75
- echo "─────────────────────────────────────────────────────────────────"
76
- echo " Uploading Models"
77
- echo "─────────────────────────────────────────────────────────────────"
78
-
79
- for model_entry in "${MODELS[@]}"; do
80
- model_file="${model_entry%%:*}"
81
- model_desc="${model_entry#*:}"
82
- model_path="${MODELS_DIR}/${model_file}"
83
-
84
- if [ -f "${model_path}" ]; then
85
- echo ""
86
- echo "Uploading: ${model_file}"
87
- echo " Description: ${model_desc}"
88
- echo " Size: $(du -h "${model_path}" | cut -f1)"
89
-
90
- huggingface-cli upload "${REPO_ID}" "${model_path}" "${model_file}" \
91
- --token "${HF_TOKEN}" \
92
- --commit-message "Update ${model_file} - ${model_desc}"
93
-
94
- echo -e "${GREEN}✓ ${model_file} uploaded${NC}"
95
- else
96
- echo -e "${YELLOW}Skipping ${model_file} (not found)${NC}"
97
- fi
98
- done
99
-
100
- echo ""
101
- echo "═══════════════════════════════════════════════════════════════════════════════════"
102
- echo " PUBLISHING COMPLETE"
103
- echo "═══════════════════════════════════════════════════════════════════════════════════"
104
- echo ""
105
- echo "Repository: https://huggingface.co/${REPO_ID}"
106
- echo ""
107
- echo "Models available:"
108
- echo " - ruvltra-claude-code-0.5b-q4_k_m.gguf (Claude Code Router)"
109
- echo " - ruvltra-0.5b-q4_k_m.gguf (General Embeddings)"
110
- echo ""
111
- echo "Key benchmark: 100% routing accuracy with hybrid keyword+embedding strategy"
112
- echo ""