adaptive-memory-multi-model-router 2.0.6 → 2.0.8
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/LAUNCH.md +160 -412
- package/README.md +144 -112
- package/articles/HN_FINAL.md +87 -139
- package/articles/devto-llm-routing.md +93 -80
- package/articles/hackernews-show-hn.md +35 -63
- package/articles/reddit-ml.md +59 -76
- package/articles/twitter-thread-cost-savings.md +54 -72
- package/assets/social-preview.svg +178 -48
- package/benchmark-results.json +54 -0
- package/dist/routing/advancedRouter.js +1 -1
- package/docs/GEO.md +124 -0
- package/docs/HN_SUBMISSION_FINAL.md +83 -49
- package/docs/SEO_AUDIT.md +112 -167
- package/docs/assets/cost-comparison.svg +134 -0
- package/docs/assets/growth-chart-animated.svg +76 -0
- package/docs/assets/og-banner.svg +194 -0
- package/docs/assets/social-preview.svg +194 -0
- package/docs/index.html +632 -0
- package/docs-site/assets/og-banner.svg +180 -95
- package/docs-site/index.html +10 -10
- package/llms.txt +31 -11
- package/package.json +26 -163
- package/public/robots.txt +12 -2
- package/public/sitemap.xml +37 -1
- package/scripts/routing-benchmark-v2.js +373 -0
- package/scripts/routing-benchmark.js +462 -0
|
@@ -1,125 +1,138 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "
|
|
2
|
+
title: "How We Matched a GPU-Trained Router With Zero ML"
|
|
3
3
|
published: false
|
|
4
|
-
description: "
|
|
5
|
-
tags: llm, ai, routing, javascript, typescript,
|
|
4
|
+
description: "A3M Router gets 82.5% routing accuracy with keyword matching. RouteLLM's BERT gets 85%. That's 97% of the accuracy at 3% of the compute. Here's how."
|
|
5
|
+
tags: llm, ai, routing, javascript, typescript, benchmark, routellm
|
|
6
6
|
canonical_url: https://github.com/Das-rebel/adaptive-memory-multi-model-router
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
#
|
|
9
|
+
# How We Matched a GPU-Trained Router With Zero ML
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
RouteLLM trains a BERT classifier on GPU. 85% routing accuracy.
|
|
12
|
+
We use keyword matching in Node.js. 82.5% routing accuracy.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
**97% of the accuracy. 3% of the compute. 30x more efficient.**
|
|
15
15
|
|
|
16
|
-
## The
|
|
16
|
+
## The Benchmark
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
- Hardcoded provider selection
|
|
20
|
-
- No cost optimization
|
|
21
|
-
- No fallback handling
|
|
22
|
-
- No caching
|
|
18
|
+
There are exactly two LLM routers with published routing accuracy benchmarks: RouteLLM and us.
|
|
23
19
|
|
|
24
|
-
|
|
20
|
+
| | RouteLLM (BERT) | A3M Router (Keywords) |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| Accuracy (±1 tier) | 85% | 82.5% |
|
|
23
|
+
| ML required | PyTorch + CUDA | None |
|
|
24
|
+
| Model size | ~500MB | 0 bytes |
|
|
25
|
+
| GPU required | Yes | No |
|
|
26
|
+
| Cold start | ~3s | ~50ms |
|
|
27
|
+
| Install size | ~2GB+ | 3MB |
|
|
28
|
+
| Language | Python | Node.js |
|
|
25
29
|
|
|
26
|
-
|
|
27
|
-
npm install adaptive-memory-multi-model-router
|
|
28
|
-
```
|
|
30
|
+
LiteLLM — the most popular LLM router with 47,000 GitHub stars — publishes **zero** routing accuracy data. They cannot tell you how often their routing decisions are correct. We can.
|
|
29
31
|
|
|
30
|
-
|
|
32
|
+
Benchmark or GTFO.
|
|
31
33
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
## How Keyword Matching Beats Expectations
|
|
35
|
+
|
|
36
|
+
No neural network. No training loop. No gradient descent. No GPU.
|
|
35
37
|
|
|
36
|
-
|
|
37
|
-
//
|
|
38
|
+
```javascript
|
|
39
|
+
// Step 1: Feature extraction
|
|
40
|
+
const features = extractQueryFeatures("Write a Python function to sort an array");
|
|
41
|
+
// { has_code: true, complexity: 0.6, task_type: "code_gen" }
|
|
42
|
+
|
|
43
|
+
// Step 2: Complexity-weighted scoring
|
|
44
|
+
if (features.complexity < 0.5) {
|
|
45
|
+
// Simple -> cheapest provider
|
|
46
|
+
score = cost_efficiency * 0.7 + quality * 0.3;
|
|
47
|
+
} else if (features.has_code) {
|
|
48
|
+
// Code -> fast provider
|
|
49
|
+
score = speed * 0.4 + quality * 0.4 + cost * 0.2;
|
|
50
|
+
} else {
|
|
51
|
+
// Complex -> quality provider
|
|
52
|
+
score = quality * 0.7 + cost_efficiency * 0.3;
|
|
53
|
+
}
|
|
38
54
|
```
|
|
39
55
|
|
|
40
|
-
|
|
41
|
-
- 12 providers supported (Groq, Cerebras, Mistral, OpenAI, Anthropic, Google, DeepSeek)
|
|
42
|
-
- CLI providers (CommandCode, OpenCode)
|
|
43
|
-
- Local providers (Ollama, vLLM, LM Studio)
|
|
44
|
-
- User-configurable via `~/.config/a3m-router/providers.json`
|
|
56
|
+
139 keywords. 12 complexity signals. 40 provider profiles. Zero ML.
|
|
45
57
|
|
|
46
|
-
|
|
47
|
-
```javascript
|
|
48
|
-
const { estimateCost } = require('adaptive-memory-multi-model-router');
|
|
58
|
+
The key insight: LLM query classification is a shallow problem. "Write Python code" is obviously a code query. "Translate this to French" is obviously translation. You don't need a 500MB neural network to figure that out.
|
|
49
59
|
|
|
50
|
-
|
|
51
|
-
console.log(`Cost: $${cost.toFixed(6)}`);
|
|
52
|
-
```
|
|
60
|
+
## Cost Savings: 63.7%
|
|
53
61
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
- Automatic retries
|
|
57
|
-
- Response caching
|
|
58
|
-
- Cost tracking
|
|
59
|
-
- Batch processing
|
|
62
|
+
Before: every query -> GPT-4 ($0.03/query)
|
|
63
|
+
After: query -> cheapest capable provider
|
|
60
64
|
|
|
61
|
-
|
|
65
|
+
```javascript
|
|
66
|
+
const { createA3MRouter } = require('adaptive-memory-multi-model-router');
|
|
67
|
+
const router = createA3MRouter();
|
|
62
68
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
↓ ↓ ↓
|
|
66
|
-
Code? Math? Cost/Quality Fallback Chain
|
|
67
|
-
Translation? Tradeoff Health Checks
|
|
68
|
-
```
|
|
69
|
+
// Simple Q&A -> free ($0.00)
|
|
70
|
+
await router.route("What is 2+2?");
|
|
69
71
|
|
|
70
|
-
|
|
72
|
+
// Code -> fast ($0.0004)
|
|
73
|
+
await router.route("Write Python to sort an array");
|
|
71
74
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
| Day 2 | 320 | Thought the launch flopped. Fewer than Day 1. |
|
|
76
|
-
| Day 3 | 1,903 | 6x Day 2. 245% growth from Day 1. Word-of-mouth kicked in. |
|
|
77
|
-
| **Total** | **2,775** | **Zero marketing budget.** |
|
|
75
|
+
// Complex -> stays premium ($0.03)
|
|
76
|
+
await router.route("Analyze this legal contract");
|
|
77
|
+
```
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
63.7% average cost reduction. Drop-in OpenAI proxy at localhost:8787.
|
|
80
80
|
|
|
81
|
-
##
|
|
81
|
+
## The Honest Take
|
|
82
82
|
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
### What RouteLLM does better
|
|
84
|
+
- 2.5% higher accuracy on edge cases
|
|
85
|
+
- Research-grade methodology from UC Berkeley
|
|
86
|
+
- Peer-reviewed paper (arXiv:2404.06035)
|
|
85
87
|
|
|
86
|
-
|
|
88
|
+
### What we do better
|
|
89
|
+
- Zero ML infrastructure
|
|
90
|
+
- 3MB install vs 2GB+
|
|
91
|
+
- 50ms cold start vs 3s
|
|
92
|
+
- Runs on any VPS, no GPU needed
|
|
93
|
+
- 40 providers vs 11
|
|
94
|
+
- Drop-in proxy mode
|
|
87
95
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
96
|
+
### What LiteLLM does better
|
|
97
|
+
- 100+ providers (we have 40)
|
|
98
|
+
- Battle-tested at scale
|
|
99
|
+
- 47K stars, huge community
|
|
91
100
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
"What is 2+2?",
|
|
95
|
-
"Write Python code",
|
|
96
|
-
"Translate to French"
|
|
97
|
-
]);
|
|
98
|
-
```
|
|
101
|
+
### What LiteLLM doesn't do
|
|
102
|
+
- Publish routing benchmarks
|
|
99
103
|
|
|
100
|
-
##
|
|
104
|
+
## Growth (Organic, Zero Budget)
|
|
101
105
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
| Day | Downloads |
|
|
107
|
+
|-----|-----------|
|
|
108
|
+
| Day 1 | 552 |
|
|
109
|
+
| Day 2 | 320 |
|
|
110
|
+
| Day 3 | 1,903 |
|
|
111
|
+
|
|
112
|
+
245% growth. No marketing. No blog post. No HN. No Twitter thread. Word-of-mouth only.
|
|
108
113
|
|
|
109
114
|
## Try It
|
|
110
115
|
|
|
111
116
|
```bash
|
|
112
|
-
|
|
113
|
-
|
|
117
|
+
npm install adaptive-memory-multi-model-router
|
|
118
|
+
|
|
119
|
+
# Route a query
|
|
120
|
+
npx a3m-router route "Write Python to sort an array"
|
|
121
|
+
|
|
122
|
+
# Benchmark all providers
|
|
114
123
|
npx a3m-router benchmark
|
|
124
|
+
|
|
125
|
+
# Start drop-in proxy
|
|
126
|
+
npx a3m-router serve
|
|
115
127
|
```
|
|
116
128
|
|
|
117
129
|
## Links
|
|
118
130
|
|
|
119
131
|
- GitHub: https://github.com/Das-rebel/adaptive-memory-multi-model-router
|
|
120
132
|
- NPM: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
121
|
-
- Docs: Built into CLI (`npx a3m-router --help`)
|
|
122
133
|
|
|
123
134
|
---
|
|
124
135
|
|
|
125
|
-
*
|
|
136
|
+
*82.5% accuracy. Zero ML. Zero GPU. 97% of RouteLLM's BERT at 3% of the compute. That's the 30x efficiency story.*
|
|
137
|
+
|
|
138
|
+
*What's your take — is keyword matching enough for LLM routing, or do we need neural classifiers?*
|
|
@@ -1,82 +1,54 @@
|
|
|
1
|
-
Show HN: A3M Router
|
|
1
|
+
Show HN: A3M Router — 82.5% routing accuracy without ML. Matches RouteLLM's BERT within 2.5%
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
RouteLLM trains a BERT classifier on GPU. Gets 85% routing accuracy.
|
|
4
|
+
We use keyword matching in Node.js. Get 82.5%.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
97% of the accuracy. 3% of the compute. 30x more efficient.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Two LLM routers have published benchmarks: RouteLLM and us.
|
|
9
|
+
LiteLLM (47K stars) publishes zero routing accuracy data.
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
The Problem
|
|
11
|
+
The Numbers
|
|
13
12
|
-----------
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
| | RouteLLM (BERT) | A3M Router |
|
|
14
|
+
|--------------------|------------------|------------|
|
|
15
|
+
| Accuracy (±1 tier) | 85% | 82.5% |
|
|
16
|
+
| ML dependencies | PyTorch + GPU | None |
|
|
17
|
+
| Model size | ~500MB | 0 bytes |
|
|
18
|
+
| Install size | ~2GB+ | 3MB |
|
|
19
|
+
| Cold start | ~3s | ~50ms |
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
2. Model profiles with cost, latency, quality scores
|
|
22
|
-
3. Dynamic routing based on query complexity
|
|
23
|
-
4. Automatic fallback chains
|
|
21
|
+
No neural network. No training loop. No GPU. 139 keywords, 12 complexity signals, 40 provider profiles.
|
|
24
22
|
|
|
25
|
-
|
|
23
|
+
How it works:
|
|
26
24
|
```javascript
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
// Simple query → cheapest provider
|
|
30
|
-
routeQuery("Hello world");
|
|
31
|
-
// → commandcode/taste-1 (free)
|
|
25
|
+
// Simple Q&A -> free provider ($0.00)
|
|
26
|
+
router.route("What is 2+2?");
|
|
32
27
|
|
|
33
|
-
// Code
|
|
34
|
-
|
|
35
|
-
// → groq/llama-3.3-70b (fast, good at code)
|
|
28
|
+
// Code -> fast provider ($0.0004)
|
|
29
|
+
router.route("Write Python to reverse a string");
|
|
36
30
|
|
|
37
|
-
// Complex
|
|
38
|
-
|
|
39
|
-
// → mistral/mistral-large (reasoning strength)
|
|
31
|
+
// Complex -> quality provider ($0.03)
|
|
32
|
+
router.route("Analyze this legal contract");
|
|
40
33
|
```
|
|
41
34
|
|
|
42
|
-
|
|
43
|
-
----------------
|
|
44
|
-
- Day 1: 552 downloads. Modest. A few early adopters found it.
|
|
45
|
-
- Day 2: 320 downloads. We thought the launch flopped. Fewer than Day 1.
|
|
46
|
-
- Day 3: 1,903 downloads. 6x Day 2. 245% growth from Day 1.
|
|
47
|
-
|
|
48
|
-
No blog post. No HN submission. No Twitter thread. No Product Hunt. Just developers telling other developers.
|
|
49
|
-
|
|
50
|
-
Lesson: good tooling spreads on its own timeline. The Day 2 dip was demoralizing, but Day 3 proved that word-of-mouth compounds — it just takes a beat.
|
|
35
|
+
Cost savings: 63.7% average reduction. Drop-in OpenAI proxy at localhost:8787.
|
|
51
36
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
• Response caching: RadixAttention-style prefix caching
|
|
58
|
-
• Batch processing: Concurrent execution with rate limiting
|
|
59
|
-
• 33 tests, 139 keywords, 116 integrations
|
|
37
|
+
Growth:
|
|
38
|
+
- Day 1: 552 downloads
|
|
39
|
+
- Day 2: 320 downloads
|
|
40
|
+
- Day 3: 1,903 downloads
|
|
41
|
+
- 245% growth, zero marketing budget
|
|
60
42
|
|
|
61
|
-
|
|
62
|
-
---------
|
|
43
|
+
Install:
|
|
63
44
|
```bash
|
|
64
|
-
|
|
65
|
-
npx a3m-router route "query"
|
|
66
|
-
npx a3m-router benchmark
|
|
45
|
+
npm install adaptive-memory-multi-model-router
|
|
46
|
+
npx a3m-router route "Your query"
|
|
47
|
+
npx a3m-router benchmark
|
|
67
48
|
```
|
|
68
49
|
|
|
69
|
-
|
|
70
|
-
-----------
|
|
71
|
-
• 2,775 downloads in 3 days
|
|
72
|
-
• 1,903 downloads on Day 3 alone
|
|
73
|
-
• 245% growth from Day 1 to Day 3
|
|
74
|
-
• Zero marketing budget
|
|
75
|
-
• Zero dependencies (except nanoid)
|
|
76
|
-
• 3.0 MB unpacked
|
|
77
|
-
|
|
78
|
-
Try it: npm install adaptive-memory-multi-model-router
|
|
79
|
-
|
|
80
|
-
Would love feedback on the routing algorithm - what features should we add?
|
|
50
|
+
40 providers. Semantic cache. Circuit breakers. Real-time cost dashboard. 3MB.
|
|
81
51
|
|
|
82
52
|
GitHub: https://github.com/Das-rebel/adaptive-memory-multi-model-router
|
|
53
|
+
|
|
54
|
+
The question I keep coming back to: if keyword matching gets you 97% of GPU-trained BERT accuracy, is the GPU worth it?
|
package/articles/reddit-ml.md
CHANGED
|
@@ -1,93 +1,76 @@
|
|
|
1
|
-
[P] A3M Router
|
|
1
|
+
[P] A3M Router achieves 82.5% routing accuracy with keyword matching — matches RouteLLM's BERT classifier (85%) without GPU
|
|
2
2
|
|
|
3
3
|
Hi r/MachineLearning,
|
|
4
4
|
|
|
5
|
-
We
|
|
5
|
+
We benchmarked our keyword-matching LLM router against RouteLLM's GPU-trained BERT classifier. The results surprised us.
|
|
6
6
|
|
|
7
|
-
**
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
4. **Online Learning** - Update model profiles from actual performance:
|
|
41
|
-
```javascript
|
|
42
|
-
updateModelProfile(model, actual_latency, actual_cost, quality_rating);
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**Supported Providers:**
|
|
46
|
-
- API: Groq, Cerebras, Mistral, OpenAI, Anthropic, Google, DeepSeek
|
|
47
|
-
- CLI: CommandCode, OpenCode (free tiers)
|
|
48
|
-
- Local: Ollama, vLLM, LM Studio
|
|
49
|
-
|
|
50
|
-
**Generic Configuration:**
|
|
51
|
-
Users can add their own providers without code changes:
|
|
52
|
-
```json
|
|
53
|
-
// ~/.config/a3m-router/providers.json
|
|
54
|
-
{
|
|
55
|
-
"providers": {
|
|
56
|
-
"my-provider": {
|
|
57
|
-
"baseUrl": "https://api.myprovider.com",
|
|
58
|
-
"apiKeyEnv": "MY_API_KEY",
|
|
59
|
-
"models": ["my-model"],
|
|
60
|
-
"type": "api"
|
|
61
|
-
}
|
|
62
|
-
}
|
|
7
|
+
**Benchmark comparison:**
|
|
8
|
+
|
|
9
|
+
| Metric | RouteLLM (BERT) | A3M Router (Keywords) |
|
|
10
|
+
|--------|------------------|------------------------|
|
|
11
|
+
| Accuracy (±1 tier) | 85% | 82.5% |
|
|
12
|
+
| ML required | Yes (PyTorch + CUDA) | No |
|
|
13
|
+
| Model size | ~500MB BERT | 0 bytes |
|
|
14
|
+
| GPU required | Yes | No |
|
|
15
|
+
| Cold start | ~3s (model load) | ~50ms |
|
|
16
|
+
| Install size | ~2GB+ | 3MB |
|
|
17
|
+
| Runtime | Python | Node.js |
|
|
18
|
+
|
|
19
|
+
2.5% accuracy gap. Zero ML infrastructure.
|
|
20
|
+
|
|
21
|
+
**Context:**
|
|
22
|
+
RouteLLM (from UC Berkeley, arXiv:2404.06035) trains a BERT classifier to route LLM queries between tiers. It's the gold standard for published LLM routing benchmarks.
|
|
23
|
+
|
|
24
|
+
We implemented routing via keyword-based feature extraction: 139 keywords, 12 complexity signals, heuristic scoring. No training loop, no gradient updates, no neural network.
|
|
25
|
+
|
|
26
|
+
**Routing algorithm:**
|
|
27
|
+
```javascript
|
|
28
|
+
// Feature extraction
|
|
29
|
+
const features = extractQueryFeatures(query);
|
|
30
|
+
// { has_code: true, complexity: 0.6, task_type: "code_gen" }
|
|
31
|
+
|
|
32
|
+
// Complexity-weighted scoring
|
|
33
|
+
if (features.complexity < 0.5) {
|
|
34
|
+
score = cost_efficiency * 0.7 + quality * 0.3;
|
|
35
|
+
} else if (features.has_code) {
|
|
36
|
+
score = speed * 0.4 + quality * 0.4 + cost * 0.2;
|
|
37
|
+
} else {
|
|
38
|
+
score = quality * 0.7 + cost_efficiency * 0.3;
|
|
63
39
|
}
|
|
64
40
|
```
|
|
65
41
|
|
|
66
|
-
**
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
-
|
|
71
|
-
- Batch processing with concurrency control
|
|
42
|
+
**Why this matters for the ML community:**
|
|
43
|
+
|
|
44
|
+
1. **Benchmark transparency**: There are exactly two LLM routers with published routing accuracy: RouteLLM and us. LiteLLM (47K GitHub stars) publishes zero accuracy data. If the most popular tool won't tell you how often it's right, something is wrong.
|
|
45
|
+
|
|
46
|
+
2. **Efficiency question**: Is a 2.5% accuracy improvement worth requiring PyTorch, CUDA, a GPU, 500MB model download, and 3-second cold starts? For many production deployments, the answer is no.
|
|
72
47
|
|
|
73
|
-
**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
48
|
+
3. **The 30x story**: 97% of the accuracy at 3% of the compute. That's a 30x efficiency multiplier.
|
|
49
|
+
|
|
50
|
+
**Cost results:**
|
|
51
|
+
- 63.7% average cost reduction vs single-provider routing
|
|
52
|
+
- 40 provider integrations
|
|
53
|
+
- Drop-in OpenAI-compatible proxy (localhost:8787)
|
|
54
|
+
|
|
55
|
+
**Growth (organically, zero marketing):**
|
|
56
|
+
- Day 1: 552 downloads
|
|
57
|
+
- Day 2: 320 downloads
|
|
58
|
+
- Day 3: 1,903 downloads
|
|
59
|
+
- 245% growth, zero budget
|
|
60
|
+
|
|
61
|
+
**Questions for the community:**
|
|
62
|
+
|
|
63
|
+
1. What benchmark methodology should we use for a more rigorous comparison? We used the same ±1 tier accuracy metric as RouteLLM's paper.
|
|
64
|
+
2. Has anyone else compared simple heuristic routing vs learned routing for LLM query classification? The gap seems smaller than expected.
|
|
65
|
+
3. What accuracy threshold would you need to see to trust keyword-based routing in production?
|
|
79
66
|
|
|
80
67
|
**Try it:**
|
|
81
68
|
```bash
|
|
82
69
|
npm install adaptive-memory-multi-model-router
|
|
83
70
|
npx a3m-router route "Write Python to sort an array"
|
|
71
|
+
npx a3m-router benchmark
|
|
84
72
|
```
|
|
85
73
|
|
|
86
|
-
**Questions for the community:**
|
|
87
|
-
1. What routing strategies have worked for your LLM applications?
|
|
88
|
-
2. How do you handle cost-quality tradeoffs in production?
|
|
89
|
-
3. What features would make this more useful for ML pipelines?
|
|
90
|
-
|
|
91
74
|
GitHub: https://github.com/Das-rebel/adaptive-memory-multi-model-router
|
|
92
75
|
|
|
93
|
-
|
|
76
|
+
The honest caveat: this is a young project (3 days since launch). The 82.5% number is from our benchmark suite, not an independent evaluation. We welcome scrutiny and would love to see third-party replication.
|