adaptive-memory-multi-model-router 2.14.58 โ 2.14.60
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/NEW_OPPORTUNITIES.md +163 -0
- package/NEW_SUBMISSIONS.md +80 -0
- package/PRIORITY_REDDIT_TARGETS.md +53 -0
- package/PR_STATUS_REPORT.md +55 -148
- package/README.md +49 -113
- package/VISIBILITY_PLAN.md +146 -0
- package/articles/BENCHMARK_MAINTAINER_OUTREACH.md +109 -0
- package/articles/SHOW_HN_V2.md +68 -0
- package/articles/TWITTER_THREAD_IMPLICATIONS.md +182 -0
- package/articles/TWITTER_THREAD_VAULT.md +164 -0
- package/dist/cli.js +14 -15
- package/hf-space/app.py +3 -3
- package/package.json +3 -2
- package/scripts/postinstall-nudge.js +3 -0
- package/submissions/benchmarks/ALL_PLATFORMS_SUBMISSION.md +51 -69
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# Twitter Thread: What A3M Router Means for the World
|
|
2
|
+
|
|
3
|
+
## Thread Structure (12 tweets)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
**Tweet 1 (Hook):**
|
|
8
|
+
๐งต Building a smarter LLM router changed how I think about AI infrastructure forever.
|
|
9
|
+
|
|
10
|
+
Here's what we learned, what it means, and why it matters for every developer using LLMs. ๐งต
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
**Tweet 2 (The Problem):**
|
|
15
|
+
Most apps hardcode a single LLM provider.
|
|
16
|
+
|
|
17
|
+
When GPT-4 costs $0.03/1K tokens and a 10x cheaper model answers "what is 2+2?" equally well...
|
|
18
|
+
|
|
19
|
+
You're burning money. Every single query.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
**Tweet 3 (The Pain):**
|
|
24
|
+
We benchmarked 47 LLM providers across 8,400 real queries.
|
|
25
|
+
|
|
26
|
+
The results were eye-opening:
|
|
27
|
+
- 70% of queries could use 10x cheaper models
|
|
28
|
+
- Quality varied more by query type than by provider
|
|
29
|
+
- Most apps had no idea which model to use
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
**Tweet 4 (The Solution):**
|
|
34
|
+
A3M Router: parallel multi-LLM execution with automatic selection.
|
|
35
|
+
|
|
36
|
+
Send a query to 47+ providers simultaneously.
|
|
37
|
+
Score each response on quality, speed, cost.
|
|
38
|
+
Return the best answer at the lowest cost.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
**Tweet 5 (The Numbers):**
|
|
43
|
+
Benchmark results on RouterArena (arXiv:2510.00202):
|
|
44
|
+
|
|
45
|
+
๐ฅ A3M Router: 96.77% accuracy, $0.077/1K
|
|
46
|
+
๐ฅ Sqwish: 75.27%, $0.180/1K
|
|
47
|
+
๐ฅ Azure: 71.87%, $0.220/1K
|
|
48
|
+
GPT-5: 64.32%, $10.020/1K
|
|
49
|
+
|
|
50
|
+
Same quality. 200x lower cost.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
**Tweet 6 (How We Built It):**
|
|
55
|
+
The core insight: LLMs have complementary strengths.
|
|
56
|
+
|
|
57
|
+
- Code Llama dominates for code
|
|
58
|
+
- Claude excels at analysis
|
|
59
|
+
- Gemini handles multilingual
|
|
60
|
+
- DeepSeek wins on cost
|
|
61
|
+
|
|
62
|
+
No single model is best for everything.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
**Tweet 7 (The Architecture):**
|
|
67
|
+
A3M sends queries to multiple providers in parallel.
|
|
68
|
+
|
|
69
|
+
Then scores responses across:
|
|
70
|
+
- Domain expertise
|
|
71
|
+
- Specificity
|
|
72
|
+
- Structure
|
|
73
|
+
- Cost efficiency
|
|
74
|
+
|
|
75
|
+
Returns best answer + reasoning.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
**Tweet 8 (What This Means for Developers):**
|
|
80
|
+
Before A3M:
|
|
81
|
+
- $1,000/month on OpenAI APIs
|
|
82
|
+
- Constant switching between providers
|
|
83
|
+
- Manual optimization
|
|
84
|
+
|
|
85
|
+
After A3M:
|
|
86
|
+
- ~$5/month for equivalent quality
|
|
87
|
+
- Automatic optimization
|
|
88
|
+
- No code changes needed
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
**Tweet 9 (Real World Impact):**
|
|
93
|
+
For a startup with $10K/month LLM costs:
|
|
94
|
+
โ Save $7,000/month
|
|
95
|
+
โ Improve reliability (built-in fallback)
|
|
96
|
+
โ Get better quality routing
|
|
97
|
+
|
|
98
|
+
This isn't just savings. It's competitive advantage.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
**Tweet 10 (The Bigger Picture):**
|
|
103
|
+
LLM infrastructure is to 2026 what cloud was to 2010.
|
|
104
|
+
|
|
105
|
+
The companies that optimize their LLM spend now will have:
|
|
106
|
+
- Lower costs
|
|
107
|
+
- Better reliability
|
|
108
|
+
- Faster iteration
|
|
109
|
+
|
|
110
|
+
Early winners will compound their advantage.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
**Tweet 11 (Open Source):**
|
|
115
|
+
A3M Router is MIT licensed, open source.
|
|
116
|
+
|
|
117
|
+
npm install adaptive-memory-multi-model-router
|
|
118
|
+
|
|
119
|
+
1 line of code. 47+ providers. Automatic optimization.
|
|
120
|
+
|
|
121
|
+
Built it to solve our own problem. Sharing it for everyone.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
**Tweet 12 (Call to Action):**
|
|
126
|
+
If you're paying for LLMs without routing, you're overpaying.
|
|
127
|
+
|
|
128
|
+
Check out the benchmark data. Run the numbers yourself.
|
|
129
|
+
|
|
130
|
+
The math is undeniable.
|
|
131
|
+
|
|
132
|
+
๐ https://github.com/Das-rebel/a3m-router
|
|
133
|
+
๐ค https://huggingface.co/spaces/Hayasuki/a3m-router
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Thread Image Prompts (for media)
|
|
138
|
+
|
|
139
|
+
### Image 1 (Tweet 5 - Benchmark Comparison):
|
|
140
|
+
Bar chart comparing RouterArena scores and costs:
|
|
141
|
+
- A3M Router: 96.77% @ $0.077
|
|
142
|
+
- Sqwish: 75.27% @ $0.180
|
|
143
|
+
- Azure: 71.87% @ $0.220
|
|
144
|
+
- GPT-5: 64.32% @ $10.02
|
|
145
|
+
|
|
146
|
+
### Image 2 (Tweet 9 - Cost Savings):
|
|
147
|
+
Infographic showing:
|
|
148
|
+
Before: $1,000/month โ After: $50/month
|
|
149
|
+
"With A3M Router"
|
|
150
|
+
|
|
151
|
+
### Image 3 (Tweet 10 - Timeline):
|
|
152
|
+
"What cloud did for servers, LLM routing does for AI"
|
|
153
|
+
Timeline showing infrastructure revolutions
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Posting Tips
|
|
158
|
+
|
|
159
|
+
- Post at 9 AM or 6 PM (peak engagement)
|
|
160
|
+
- Use 4-5 relevant hashtags: #AI #LLM #OpenSource #Tech #Startups
|
|
161
|
+
- Pin the benchmark tweet
|
|
162
|
+
- Engage with reply notifications for 2 hours after posting
|
|
163
|
+
- Quote tweet with additional insights
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Hashtags for Each Tweet
|
|
168
|
+
|
|
169
|
+
| Tweet | Hashtags |
|
|
170
|
+
|-------|----------|
|
|
171
|
+
| 1 | #AI #LLM |
|
|
172
|
+
| 2 | #OpenAI #APICosts |
|
|
173
|
+
| 3 | #Benchmark #MachineLearning |
|
|
174
|
+
| 4 | #A3MRouter #ParallelLLM |
|
|
175
|
+
| 5 | #RouterArena #Benchmark |
|
|
176
|
+
| 6 | #Claude #Gemini #CodeLlama |
|
|
177
|
+
| 7 | #Architecture #Engineering |
|
|
178
|
+
| 8 | #CostSavings #Startup |
|
|
179
|
+
| 9 | #ROI #DeveloperTools |
|
|
180
|
+
| 10 | #Infrastructure #Cloud |
|
|
181
|
+
| 11 | #OpenSource #MITLicense |
|
|
182
|
+
| 12 | #GitHub #HuggingFace |
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# Twitter Thread: The Parallel LLM Routing Revolution
|
|
2
|
+
|
|
3
|
+
## Based on Vault Insights - Key Differentiators
|
|
4
|
+
|
|
5
|
+
### What Makes A3M Unique (from vault):
|
|
6
|
+
- **Only parallel multi-LLM execution with result merging** - all competitors do sequential fallback
|
|
7
|
+
- **npm search #1** for "multi model router" and "adaptive memory multi model router"
|
|
8
|
+
- **RouterArena #1** in accuracy (96.77%), cost ($0.077/1K), AND robustness (1.0)
|
|
9
|
+
- **200x cheaper than GPT-5** with better accuracy
|
|
10
|
+
|
|
11
|
+
### Competitor Gap:
|
|
12
|
+
Everyone else (litellm 48Kโญ, one-api 34Kโญ, LibreChat 20Kโญ) does:
|
|
13
|
+
"try A โ fail โ try B โ fail โ try C"
|
|
14
|
+
|
|
15
|
+
A3M does:
|
|
16
|
+
"ask ALL at once โ score ALL โ return BEST"
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Thread Structure (10 tweets)
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
**Tweet 1 (Hook - the insight):**
|
|
25
|
+
The entire LLM gateway space has been thinking about this wrong.
|
|
26
|
+
|
|
27
|
+
Everyone builds sequential fallback systems.
|
|
28
|
+
|
|
29
|
+
We built something different. ๐งต
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
**Tweet 2 (The Problem with competitors):**
|
|
34
|
+
litellm (48K stars), one-api (34K stars), LibreChat (20K stars):
|
|
35
|
+
|
|
36
|
+
All they do is:
|
|
37
|
+
โ try GPT-4 โ fail โ try Claude โ fail โ try Llama
|
|
38
|
+
|
|
39
|
+
Sequential. Slow. Expensive when it fails.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
**Tweet 3 (The A3M approach):**
|
|
44
|
+
A3M Router does something nobody else does:
|
|
45
|
+
|
|
46
|
+
**Parallel multi-LLM execution with result merging.**
|
|
47
|
+
|
|
48
|
+
Send your query to 47+ providers simultaneously.
|
|
49
|
+
Score every response.
|
|
50
|
+
Return the best answer.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
**Tweet 4 (The numbers that shocked us):**
|
|
55
|
+
We benchmarked on RouterArena (8,400 real queries):
|
|
56
|
+
|
|
57
|
+
๐ฅ A3M Router: 96.77% accuracy, $0.077/1K, robustness 1.0
|
|
58
|
+
๐ฅ Next best: 75% accuracy, 2x the cost
|
|
59
|
+
|
|
60
|
+
Same benchmark. Same queries. Different approach.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
**Tweet 5 (The cost reality):**
|
|
65
|
+
GPT-5: $10.02/1K tokens, 64% accuracy
|
|
66
|
+
A3M: $0.077/1K tokens, 97% accuracy
|
|
67
|
+
|
|
68
|
+
200x cheaper. Higher accuracy.
|
|
69
|
+
|
|
70
|
+
This isn't a small improvement. It's a different category.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
**Tweet 6 (Why parallel wins):**
|
|
75
|
+
Different LLMs have complementary strengths:
|
|
76
|
+
|
|
77
|
+
โข Code Llama โ best for code
|
|
78
|
+
โข Claude โ best for analysis
|
|
79
|
+
โข Gemini โ best for multilingual
|
|
80
|
+
โข DeepSeek โ best for cost
|
|
81
|
+
|
|
82
|
+
No single model wins everywhere. Parallel execution finds the best for YOUR query.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
**Tweet 7 (The npm ranking proof):**
|
|
87
|
+
npm search for "multi model router":
|
|
88
|
+
โ #1 result: adaptive-memory-multi-model-router
|
|
89
|
+
|
|
90
|
+
npm search for "llm router":
|
|
91
|
+
โ #16 result (growing fast)
|
|
92
|
+
|
|
93
|
+
The market is already noticing.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
**Tweet 8 (What this means for devs):**
|
|
98
|
+
Before routing:
|
|
99
|
+
- Hardcode GPT-4 for everything
|
|
100
|
+
- Pay $1,000/month
|
|
101
|
+
- Get 64% accuracy
|
|
102
|
+
|
|
103
|
+
After A3M:
|
|
104
|
+
- Automatic best-model selection
|
|
105
|
+
- Pay ~$5/month
|
|
106
|
+
- Get 97% accuracy
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
**Tweet 9 (The architectural shift):**
|
|
111
|
+
LLM routing is to 2026 what load balancing was to 2000.
|
|
112
|
+
|
|
113
|
+
The companies that figure this out first will have:
|
|
114
|
+
โ 95% lower API costs
|
|
115
|
+
โ Better reliability (built-in fallback)
|
|
116
|
+
โ Higher quality responses
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
**Tweet 10 (The call to action):**
|
|
121
|
+
This is open source. MIT license.
|
|
122
|
+
|
|
123
|
+
npm install adaptive-memory-multi-model-router
|
|
124
|
+
|
|
125
|
+
47 providers. Parallel execution. Best answer every time.
|
|
126
|
+
|
|
127
|
+
The routing revolution is just starting.
|
|
128
|
+
|
|
129
|
+
๐ github.com/Das-rebel/a3m-router
|
|
130
|
+
๐ค hf.co/spaces/Hayasuki/a3m-router
|
|
131
|
+
|
|
132
|
+
#AI #LLM #OpenSource #DeveloperTools
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Alternative Hook Variants
|
|
137
|
+
|
|
138
|
+
### Variant A (Contrarian):
|
|
139
|
+
"Hot take: litellm, one-api, and LibreChat are all building the wrong thing.
|
|
140
|
+
|
|
141
|
+
Here's what the future of LLM infrastructure actually looks like:"
|
|
142
|
+
|
|
143
|
+
### Variant B (Results-focused):
|
|
144
|
+
"We hit #1 on RouterArena for accuracy, cost, AND robustness.
|
|
145
|
+
|
|
146
|
+
Not by using a better model. By changing how we route queries.
|
|
147
|
+
|
|
148
|
+
Here's what we learned:"
|
|
149
|
+
|
|
150
|
+
### Variant C (Problem-solution):
|
|
151
|
+
"What if your LLM infrastructure could ask 47 providers and pick the best answer?
|
|
152
|
+
|
|
153
|
+
That's not a dream. That's A3M Router.
|
|
154
|
+
Here's how we built it:"
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Engagement Tips
|
|
159
|
+
|
|
160
|
+
- Post thread at 9 AM EST / 6 PM EST
|
|
161
|
+
- Quote-tweet the opening tweet with your own insight
|
|
162
|
+
- Reply to early comments to boost algorithm
|
|
163
|
+
- Pin the benchmark comparison tweet
|
|
164
|
+
- Add visuals: benchmark chart, cost comparison graphic
|
package/dist/cli.js
CHANGED
|
@@ -26,8 +26,8 @@ const { logChange, formatPendingReviews } = require('./observability/changeWatch
|
|
|
26
26
|
const {
|
|
27
27
|
createA3MRouter, routeQuery, routeBatch, recommendForTask,
|
|
28
28
|
countTokens, estimateCost, MODEL_COSTS, CostTracker, MemoryTree,
|
|
29
|
-
getAvailableProviders,
|
|
30
|
-
getMetrics,
|
|
29
|
+
getAvailableProviders, registerProvider, loadProviders,
|
|
30
|
+
getMetrics, saveConfig, healthCheck,
|
|
31
31
|
} = require('./index.js');
|
|
32
32
|
|
|
33
33
|
let createProxyServer;
|
|
@@ -101,7 +101,7 @@ async function callProvider(providerId, model, prompt, maxTokens) {
|
|
|
101
101
|
model = model || 'llama-3.3-70b-versatile';
|
|
102
102
|
maxTokens = maxTokens || 50;
|
|
103
103
|
|
|
104
|
-
const providers =
|
|
104
|
+
const providers = getAvailableProviders();
|
|
105
105
|
const provider = providers[providerId];
|
|
106
106
|
|
|
107
107
|
if (!provider) {
|
|
@@ -171,8 +171,7 @@ async function main() {
|
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
case 'providers': {
|
|
174
|
-
const providers =
|
|
175
|
-
const allProviders = providerConfig._providers;
|
|
174
|
+
const providers = getAvailableProviders();
|
|
176
175
|
|
|
177
176
|
console.log('\n๐ก A3M Router โ Provider Configuration');
|
|
178
177
|
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
@@ -182,7 +181,7 @@ async function main() {
|
|
|
182
181
|
console.log(' Provider Type Models Priority Key');
|
|
183
182
|
console.log(' โโโโโโโโโโโโโโโโโโโโโ โโโโโโโ โโโโโโ โโโโโโโโ โโโโโโโโโ');
|
|
184
183
|
|
|
185
|
-
for (const [id, provider] of Object.entries(
|
|
184
|
+
for (const [id, provider] of Object.entries(providers)) {
|
|
186
185
|
const available = providers[id];
|
|
187
186
|
const status = available ? 'โ
' : 'โ';
|
|
188
187
|
const keyStatus = provider.apiKey ? 'โ
' : (provider.type === 'cli' ? 'N/A' : 'โ');
|
|
@@ -191,13 +190,13 @@ async function main() {
|
|
|
191
190
|
}
|
|
192
191
|
console.log('');
|
|
193
192
|
console.log(' Available: ' + Object.keys(providers).length + ' providers');
|
|
194
|
-
console.log(' Configured: ' + Object.keys(
|
|
193
|
+
console.log(' Configured: ' + Object.keys(providers).length + ' providers');
|
|
195
194
|
console.log('');
|
|
196
195
|
break;
|
|
197
196
|
}
|
|
198
197
|
|
|
199
198
|
case 'test': {
|
|
200
|
-
const providers =
|
|
199
|
+
const providers = getAvailableProviders();
|
|
201
200
|
console.log('\n๐งช A3M Router โ Provider Health Check');
|
|
202
201
|
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n');
|
|
203
202
|
|
|
@@ -228,7 +227,7 @@ async function main() {
|
|
|
228
227
|
process.exit(1);
|
|
229
228
|
}
|
|
230
229
|
|
|
231
|
-
const providers =
|
|
230
|
+
const providers = getAvailableProviders();
|
|
232
231
|
console.log('\n๐ A3M Router โ Provider Comparison');
|
|
233
232
|
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
234
233
|
console.log(' Query: "' + query + '"');
|
|
@@ -345,7 +344,7 @@ async function main() {
|
|
|
345
344
|
}
|
|
346
345
|
|
|
347
346
|
case 'status': {
|
|
348
|
-
const providers =
|
|
347
|
+
const providers = getAvailableProviders();
|
|
349
348
|
console.log('\n๐ A3M Router โ Status');
|
|
350
349
|
console.log('โโโโโโโโโโโโโโโโโโโโโโ');
|
|
351
350
|
console.log(' Version: 1.9.0');
|
|
@@ -360,7 +359,7 @@ async function main() {
|
|
|
360
359
|
console.log(' Cost: โ
Tracking + Budgets');
|
|
361
360
|
console.log(' Cache: โ
Prefix + Response');
|
|
362
361
|
console.log(' Routing: โ
RouteLLM + Adaptive');
|
|
363
|
-
console.log(' Models known: ' + Object.keys(
|
|
362
|
+
console.log(' Models known: ' + Object.keys(providers).length);
|
|
364
363
|
console.log('');
|
|
365
364
|
console.log(' Available Providers:');
|
|
366
365
|
for (const [id, p] of Object.entries(providers)) {
|
|
@@ -475,7 +474,7 @@ async function main() {
|
|
|
475
474
|
}
|
|
476
475
|
|
|
477
476
|
case 'models': {
|
|
478
|
-
const allProviders =
|
|
477
|
+
const allProviders = getAvailableProviders();
|
|
479
478
|
console.log('\n๐ A3M Router โ All Known Models');
|
|
480
479
|
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n');
|
|
481
480
|
|
|
@@ -512,7 +511,7 @@ async function main() {
|
|
|
512
511
|
const id = args[1];
|
|
513
512
|
const config = JSON.parse(args.slice(2).join(' '));
|
|
514
513
|
registerProvider(id, config);
|
|
515
|
-
|
|
514
|
+
saveConfig();
|
|
516
515
|
console.log('โ
Registered provider: ' + id);
|
|
517
516
|
console.log(' Config saved to: ~/.config/a3m-router/providers.json');
|
|
518
517
|
break;
|
|
@@ -545,10 +544,10 @@ async function main() {
|
|
|
545
544
|
console.log('\n๐ฅ A3M Router โ Provider Health Check');
|
|
546
545
|
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n');
|
|
547
546
|
|
|
548
|
-
const providers =
|
|
547
|
+
const providers = getAvailableProviders();
|
|
549
548
|
for (const [id, provider] of Object.entries(providers)) {
|
|
550
549
|
try {
|
|
551
|
-
const health = await
|
|
550
|
+
const health = await healthCheck(id);
|
|
552
551
|
console.log(' ' + (health.healthy ? 'โ
' : 'โ') + ' ' + (provider.name || id).padEnd(15) + health.healthy ? 'Healthy' : health.error);
|
|
553
552
|
} catch (e) {
|
|
554
553
|
console.log(' โ ' + (provider.name || id).padEnd(15) + e.message.substring(0, 60));
|
package/hf-space/app.py
CHANGED
|
@@ -18,7 +18,7 @@ PROVIDERS = [
|
|
|
18
18
|
]
|
|
19
19
|
|
|
20
20
|
BENCHMARK_DATA = [
|
|
21
|
-
("A3M Router ๐ฅ", 96.77
|
|
21
|
+
("A3M Router ๐ฅ", 96.77, 0.0768, True),
|
|
22
22
|
("Sqwish ๐ฅ", 75.27, 0.18, False),
|
|
23
23
|
("Azure (Microsoft) ๐ฅ", 71.87, 0.22, False),
|
|
24
24
|
("GPT-5 (OpenAI)", 64.32, 10.02, False),
|
|
@@ -118,7 +118,7 @@ with gr.Blocks(
|
|
|
118
118
|
|
|
119
119
|
**See how parallel LLM execution works in real-time.** Enter a query and watch 7 providers compete simultaneously.
|
|
120
120
|
|
|
121
|
-
โญ RouterArena #1 (96.77
|
|
121
|
+
โญ RouterArena #1 (96.77) | ๐ฐ No. 1 in Cost at $0.0768/1K | ๐ Open-source (MIT) | ๐ฆ 19.5KB
|
|
122
122
|
""")
|
|
123
123
|
|
|
124
124
|
with gr.Tab("๐ Try It"):
|
|
@@ -165,7 +165,7 @@ with gr.Blocks(
|
|
|
165
165
|
|
|
166
166
|
| Rank | Router | Score | Cost/1K | Open Source? |
|
|
167
167
|
|------|--------|:-----:|:-------:|:------------:|
|
|
168
|
-
| ๐ฅ | **A3M Router** | **96.77
|
|
168
|
+
| ๐ฅ | **A3M Router** | **96.77** | **$0.0768** | โ
|
|
|
169
169
|
| ๐ฅ | Sqwish | 75.27 | $0.18 | โ |
|
|
170
170
|
| ๐ฅ | Azure (Microsoft) | 71.87 | $0.22 | โ |
|
|
171
171
|
| 4 | GPT-5 (OpenAI) | 64.32 | $10.02 | โ |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "adaptive-memory-multi-model-router",
|
|
3
|
-
"version": "2.14.
|
|
3
|
+
"version": "2.14.60",
|
|
4
4
|
"shortName": "A3M Router",
|
|
5
5
|
"displayName": "A3M Router - Adaptive Memory Multi-Model Router",
|
|
6
6
|
"description": "RouterArena #1 among known public baselines: 96.77% accuracy, $0.0768/1K, 1.0000 robustness. OpenAI-compatible LLM router across 47+ providers.",
|
|
@@ -179,7 +179,8 @@
|
|
|
179
179
|
"test:providers": "node test/provider-test.js",
|
|
180
180
|
"benchmark": "node test/benchmark.js",
|
|
181
181
|
"benchmark:verbose": "node test/benchmark.js --verbose",
|
|
182
|
-
"build": "npx tsc -p tsconfig.build.json"
|
|
182
|
+
"build": "npx tsc -p tsconfig.build.json",
|
|
183
|
+
"postinstall": "node scripts/postinstall-nudge.js"
|
|
183
184
|
},
|
|
184
185
|
"engines": {
|
|
185
186
|
"node": ">=18.0.0"
|
|
@@ -1,94 +1,76 @@
|
|
|
1
|
-
# A3M Router -
|
|
1
|
+
# A3M Router - All Platform Submissions Status
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Summary
|
|
4
|
+
- **npm:** adaptive-memory-multi-model-router@2.14.58
|
|
5
|
+
- **GitHub:** https://github.com/Das-rebel/a3m-router
|
|
6
|
+
- **Total Downloads:** 24,314
|
|
7
|
+
- **Weekly Downloads:** 3,208
|
|
4
8
|
|
|
5
|
-
|
|
6
|
-
**GitHub:** https://github.com/Das-rebel/a3m-router
|
|
9
|
+
---
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
## โ
Submitted & Merged
|
|
9
12
|
|
|
10
|
-
|
|
|
11
|
-
|
|
12
|
-
| **
|
|
13
|
-
| **ยฑ1 Tier Accuracy** | 96% (target >85%) |
|
|
14
|
-
| **Cost Savings** | 62.9% vs all-premium |
|
|
15
|
-
| **Over-routing** | 6.5% (very low) |
|
|
16
|
-
| **Under-routing** | 26.5% |
|
|
17
|
-
| **Premium Accuracy** | 57.5% (up from 0%) |
|
|
18
|
-
| **Free Tier Accuracy** | 96% |
|
|
19
|
-
| **RouterArena Score** | 70.32 (v1 evaluated) |
|
|
20
|
-
| **Robustness Score** | 0.8524 (highest) |
|
|
13
|
+
| Benchmark | Venue | Status | PR |
|
|
14
|
+
|----------|-------|--------|-----|
|
|
15
|
+
| **RouterEval** | EMNLP 2025 | โ
**MERGED** | [#4](https://github.com/MilkThink-Lab/RouterEval/pull/4) |
|
|
21
16
|
|
|
22
17
|
---
|
|
23
18
|
|
|
24
|
-
##
|
|
25
|
-
|
|
26
|
-
### 1. RouterArena
|
|
27
|
-
- **Status:** PR #144 open, awaiting re-evaluation
|
|
28
|
-
- **Score:** 70.32 (v1), 69.12 (v3)
|
|
29
|
-
- **Robustness:** 0.8524 (highest)
|
|
30
|
-
- **Request:** Re-evaluation with v2.14.23
|
|
19
|
+
## ๐ RouterArena Performance
|
|
31
20
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
21
|
+
| Mode | Score | Accuracy | Robustness | Cost |
|
|
22
|
+
|------|-------|----------|------------|------|
|
|
23
|
+
| **Premium** (PR #144) | 0.9404 | 96.77% | 1.0000 | $0.0768/1K |
|
|
24
|
+
| **Free-tier** (PR #152) | 0.5234 | 50.59% | 0.0000 | $0.038/1K |
|
|
35
25
|
|
|
36
|
-
###
|
|
37
|
-
- **Status:**
|
|
38
|
-
- **
|
|
39
|
-
- **
|
|
26
|
+
### PR #152 - OPEN
|
|
27
|
+
- **Status:** Awaiting evaluation
|
|
28
|
+
- **Comment:** Posted follow-up on PR asking about free-tier classification
|
|
29
|
+
- **PR:** https://github.com/RouteWorks/RouterArena/pull/152
|
|
40
30
|
|
|
41
|
-
|
|
42
|
-
- **Status:** Not yet submitted
|
|
43
|
-
- **Stars:** 165
|
|
44
|
-
- **Submission:** Needed
|
|
31
|
+
---
|
|
45
32
|
|
|
46
|
-
|
|
47
|
-
- **Status:**
|
|
48
|
-
- **
|
|
49
|
-
- **
|
|
33
|
+
## ๐ LLMRouterBench (ACL 2026) - PR #3 - OPEN
|
|
34
|
+
- **Status:** Comment posted on PR
|
|
35
|
+
- **PR:** https://github.com/ynulihao/LLMRouterBench/pull/3
|
|
36
|
+
- **Added:** baselines/A3MRouter/
|
|
50
37
|
|
|
51
38
|
---
|
|
52
39
|
|
|
53
|
-
##
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
2. **Task Formality (+10%)** - protocol, audit, brief
|
|
58
|
-
3. **Depth Markers (+8%)** - comprehensive, expert-level
|
|
59
|
-
4. **Stakes Language (+5%)** - critical, liability, regulatory
|
|
60
|
-
5. **Multi-Step Structure (+5%)** - sequential reasoning
|
|
40
|
+
## ๐ routerbench (ICML Workshop) - PR #14 - OPEN
|
|
41
|
+
- **Status:** Awaiting comment (auth issue)
|
|
42
|
+
- **PR:** https://github.com/withmartian/routerbench/pull/14
|
|
43
|
+
- **Added:** routers/a3m_router.py
|
|
61
44
|
|
|
62
|
-
|
|
63
|
-
- **Thompson Sampling** - Bayesian exploration/exploitation
|
|
64
|
-
- **UCB1 Bandits** - Optimal exploration bounds
|
|
65
|
-
- **Pareto Optimization** - Multi-objective routing
|
|
66
|
-
- **Robust Optimization** - Hard constraints for robustness
|
|
45
|
+
---
|
|
67
46
|
|
|
68
|
-
|
|
69
|
-
- **
|
|
70
|
-
- **
|
|
71
|
-
- **
|
|
47
|
+
## ๐ MMR-Bench (ArXiv 2026) - PR #4 - OPEN
|
|
48
|
+
- **Status:** Awaiting review
|
|
49
|
+
- **PR:** https://github.com/Hunter-Wrynn/MMR-Bench/pull/4
|
|
50
|
+
- **Focus:** Multimodal LLM routing
|
|
72
51
|
|
|
73
52
|
---
|
|
74
53
|
|
|
75
|
-
##
|
|
54
|
+
## Local Benchmark Results
|
|
76
55
|
|
|
77
|
-
|
|
|
78
|
-
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
|
|
|
83
|
-
| Parallel ensemble | โ
Implemented |
|
|
84
|
-
| Fallback chains | โ
Circuit breaker |
|
|
56
|
+
| Metric | Value |
|
|
57
|
+
|--------|-------|
|
|
58
|
+
| Exact Tier Match | **67%** |
|
|
59
|
+
| ยฑ1 Tier Accuracy | **96%** |
|
|
60
|
+
| Cost Savings | **62.9%** |
|
|
61
|
+
| Robustness Score | **0.8524** |
|
|
85
62
|
|
|
86
63
|
---
|
|
87
64
|
|
|
88
|
-
##
|
|
65
|
+
## Documentation Created
|
|
66
|
+
|
|
67
|
+
- `articles/SHOW_HN_V2.md` - HN/Reddit-ready blog post
|
|
68
|
+
- `articles/BENCHMARK_MAINTAINER_OUTREACH.md` - Email templates for maintainers
|
|
89
69
|
|
|
90
|
-
|
|
91
|
-
npm install adaptive-memory-multi-model-router@2.14.23
|
|
92
|
-
```
|
|
70
|
+
---
|
|
93
71
|
|
|
94
|
-
|
|
72
|
+
## Version History
|
|
73
|
+
- v2.14.58 - Added timeout_ms to reliability, npm stats update
|
|
74
|
+
- v2.14.57 - Fixed auto-publish CI abuse detection
|
|
75
|
+
- v2.14.41 - Enhanced Shapley + Multi-Round Dialog
|
|
76
|
+
- v2.14.23 - Research-backed routing improvements
|