adaptive-memory-multi-model-router 2.13.4 → 2.13.5
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/.github/ISSUE_TEMPLATE/config.yml +2 -2
- package/.well-known/ai-plugin.json +1 -1
- package/CONTRIBUTING.md +1 -1
- package/LAUNCH-PAIN-DRIVEN.md +3 -3
- package/LAUNCH.md +7 -7
- package/POPULARITY_BOOSTERS.md +6 -6
- package/README.md +34 -34
- package/README_ja.md +1 -1
- package/README_zh.md +1 -1
- package/SUBMISSIONS.md +2 -2
- package/articles/DEVTO_COST_GUIDE.md +2 -2
- package/articles/DEVTO_FINAL.md +6 -6
- package/articles/DEVTO_MULTI_PROVIDER.md +4 -4
- package/articles/DEVTO_V2_ANNOUNCEMENT.md +2 -2
- package/articles/DEVTO_VIRAL_GROWTH.md +5 -5
- package/articles/FRESH_devto.md +1 -1
- package/articles/FRESH_hackernews.md +1 -1
- package/articles/FRESH_reddit_ml.md +1 -1
- package/articles/FRESH_reddit_node.md +2 -2
- package/articles/FRESH_reddit_sideproject.md +2 -2
- package/articles/FRESH_reddit_webdev.md +2 -2
- package/articles/HN_10X_BETTER.md +2 -2
- package/articles/HN_CHINESE_STYLE.md +5 -5
- package/articles/HN_FINAL.md +1 -1
- package/articles/HN_POSTED_VERSION.md +1 -1
- package/articles/PAIN-DRIVEN-devto-v2.md +2 -2
- package/articles/PAIN-DRIVEN-devto-v3.md +2 -2
- package/articles/PAIN-DRIVEN-devto.md +2 -2
- package/articles/PAIN-DRIVEN-hackernews-v2.md +2 -2
- package/articles/PAIN-DRIVEN-hackernews-v3.md +3 -3
- package/articles/PAIN-DRIVEN-hackernews.md +2 -2
- package/articles/PAIN-DRIVEN-reddit-v2.md +2 -2
- package/articles/PAIN-DRIVEN-reddit-v3.md +2 -2
- package/articles/PAIN-DRIVEN-reddit.md +2 -2
- package/articles/PAIN-DRIVEN-twitter-v2.md +2 -2
- package/articles/PAIN-DRIVEN-twitter-v3.md +2 -2
- package/articles/PAIN-DRIVEN-twitter.md +2 -2
- package/articles/REDDIT_FINAL.md +2 -2
- package/articles/TWITTER_FINAL.md +1 -1
- package/articles/ai-discoverability-llm-routing.md +1 -1
- package/articles/devto-llm-routing.md +2 -2
- package/articles/hackernews-show-hn.md +1 -1
- package/articles/hashnode-llm-cost-optimization.md +1 -1
- package/articles/medium-building-llm-router.md +1 -1
- package/articles/reddit-ml.md +1 -1
- package/articles/twitter-thread-cost-savings.md +1 -1
- package/articles/youtube-tutorial-script.md +1 -1
- package/demo.html +1 -1
- package/dist/cli/setupWizard.js +1 -1
- package/dist/cli.js +1 -1
- package/dist/geo/generativeEngineOptimization.js +1 -1
- package/docs/HN_CHECKLIST.md +2 -2
- package/docs/HN_SUBMISSION_FINAL.md +2 -2
- package/docs/HN_SUBMISSION_V3.md +3 -3
- package/docs/SEO_AUDIT.md +1 -1
- package/docs/UPDATE_TOPICS.md +1 -1
- package/docs/demo-auto.html +1 -1
- package/docs/demo.html +1 -1
- package/docs/index.html +1 -1
- package/docs/openapi.json +1 -1
- package/docs-site/index.html +7 -7
- package/index.html +4 -4
- package/llms-full.txt +1 -1
- package/llms.txt +1 -1
- package/package.json +4 -4
- package/playground/README.md +4 -4
- package/public/robots.txt +1 -1
- package/python/pyproject.toml +1 -1
- package/src/cli/setupWizard.ts +1 -1
- package/tmlpd-pi-extension/README.md +1 -1
|
@@ -4,7 +4,7 @@ If you're calling OpenAI for everything, you're overpaying. Most queries don't n
|
|
|
4
4
|
|
|
5
5
|
So I built **A3M Router** — a zero-config OpenAI-compatible proxy that automatically routes each query to the cheapest provider that can handle it.
|
|
6
6
|
|
|
7
|
-
**GitHub:** https://github.com/Das-rebel/
|
|
7
|
+
**GitHub:** https://github.com/Das-rebel/a3m-router
|
|
8
8
|
**npm:** https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
9
9
|
|
|
10
10
|
## What it does
|
|
@@ -121,7 +121,7 @@ The whole routing classifier is ~200 lines of TypeScript, no ML weights, no GPU,
|
|
|
121
121
|
|
|
122
122
|
## Links
|
|
123
123
|
|
|
124
|
-
- GitHub: https://github.com/Das-rebel/
|
|
124
|
+
- GitHub: https://github.com/Das-rebel/a3m-router
|
|
125
125
|
- npm: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
126
126
|
- Available as: TypeScript SDK, Python SDK, CLI, REST API, OpenAI proxy, LangChain adapter
|
|
127
127
|
|
|
@@ -327,7 +327,7 @@ npx a3m-router benchmark
|
|
|
327
327
|
# → Full comparison of all 12 providers
|
|
328
328
|
```
|
|
329
329
|
|
|
330
|
-
**Or try it online:** https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
330
|
+
**Or try it online:** https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
331
331
|
|
|
332
332
|
No API keys. No signup. See the routing logic in action.
|
|
333
333
|
|
|
@@ -394,7 +394,7 @@ We almost died because of this problem. $47K in 90 days for a startup our size i
|
|
|
394
394
|
|
|
395
395
|
If this saves one other startup from the same fate, it's worth it.
|
|
396
396
|
|
|
397
|
-
**GitHub**: https://github.com/Das-rebel/
|
|
397
|
+
**GitHub**: https://github.com/Das-rebel/a3m-router
|
|
398
398
|
|
|
399
399
|
**NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
400
400
|
|
|
@@ -217,7 +217,7 @@ npx a3m-router benchmark
|
|
|
217
217
|
npx a3m-router providers --detailed
|
|
218
218
|
```
|
|
219
219
|
|
|
220
|
-
**Or try it online:** https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
220
|
+
**Or try it online:** https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
221
221
|
|
|
222
222
|
No API keys needed. The routing decisions are based on the benchmark data I collected.
|
|
223
223
|
|
|
@@ -249,7 +249,7 @@ No API keys needed. The routing decisions are based on the benchmark data I coll
|
|
|
249
249
|
|
|
250
250
|
I considered keeping this proprietary, but that's not in the spirit of HN.
|
|
251
251
|
|
|
252
|
-
**Full benchmark dataset:** https://github.com/Das-rebel/
|
|
252
|
+
**Full benchmark dataset:** https://github.com/Das-rebel/a3m-router/blob/main/docs/BENCHMARK_DATA.md
|
|
253
253
|
|
|
254
254
|
**Includes:**
|
|
255
255
|
- All 47 providers tested
|
|
@@ -294,10 +294,10 @@ I considered keeping this proprietary, but that's not in the spirit of HN.
|
|
|
294
294
|
|
|
295
295
|
## Links
|
|
296
296
|
|
|
297
|
-
- **GitHub:** https://github.com/Das-rebel/
|
|
297
|
+
- **GitHub:** https://github.com/Das-rebel/a3m-router
|
|
298
298
|
- **NPM:** https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
299
|
-
- **Benchmark Data:** https://github.com/Das-rebel/
|
|
300
|
-
- **Playground:** https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
299
|
+
- **Benchmark Data:** https://github.com/Das-rebel/a3m-router/blob/main/docs/BENCHMARK_DATA.md
|
|
300
|
+
- **Playground:** https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
301
301
|
|
|
302
302
|
**Stats:** 872 weekly downloads, 33 tests passing, 156 keywords, 116 integrations.
|
|
303
303
|
|
package/articles/HN_FINAL.md
CHANGED
|
@@ -140,7 +140,7 @@ npx a3m-router serve
|
|
|
140
140
|
|
|
141
141
|
## Links
|
|
142
142
|
|
|
143
|
-
- **GitHub**: https://github.com/Das-rebel/
|
|
143
|
+
- **GitHub**: https://github.com/Das-rebel/a3m-router
|
|
144
144
|
- **NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
145
145
|
|
|
146
146
|
**TL;DR**: 99.5% accuracy, zero ML, zero GPU. 97% of RouteLLM's BERT at 3% of the compute. 61.6% cost savings. 40 providers. 3MB install. That's the 30x efficiency story.
|
|
@@ -50,7 +50,7 @@ const result = await router.route("Your query");
|
|
|
50
50
|
npm install adaptive-memory-multi-model-router
|
|
51
51
|
npx a3m-router route "Your query"
|
|
52
52
|
|
|
53
|
-
GitHub: https://github.com/Das-rebel/
|
|
53
|
+
GitHub: https://github.com/Das-rebel/a3m-router
|
|
54
54
|
NPM: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
55
55
|
|
|
56
56
|
Full benchmark dataset is open source (MIT). What providers did I miss? Happy to benchmark more.
|
|
@@ -295,11 +295,11 @@ Route simple queries to GLM-4. Route code to MiniMax. Keep OpenAI for complex re
|
|
|
295
295
|
|
|
296
296
|
---
|
|
297
297
|
|
|
298
|
-
**GitHub**: https://github.com/Das-rebel/
|
|
298
|
+
**GitHub**: https://github.com/Das-rebel/a3m-router
|
|
299
299
|
|
|
300
300
|
**NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
301
301
|
|
|
302
|
-
**Try the playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
302
|
+
**Try the playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
303
303
|
|
|
304
304
|
**Supported providers**: OpenAI, GLM-4, MiniMax, Cerebras, Groq, Mistral, Anthropic, Google, DeepSeek, CommandCode, OpenCode, Ollama
|
|
305
305
|
|
|
@@ -218,7 +218,7 @@ npx a3m-router compare "Write Python to sort an array"
|
|
|
218
218
|
npx a3m-router benchmark
|
|
219
219
|
```
|
|
220
220
|
|
|
221
|
-
**Or try it online:** https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
221
|
+
**Or try it online:** https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
222
222
|
|
|
223
223
|
No API keys needed to test the routing logic.
|
|
224
224
|
|
|
@@ -257,7 +257,7 @@ No configuration. No model training. Just intelligent routing based on what your
|
|
|
257
257
|
|
|
258
258
|
---
|
|
259
259
|
|
|
260
|
-
**GitHub**: https://github.com/Das-rebel/
|
|
260
|
+
**GitHub**: https://github.com/Das-rebel/a3m-router
|
|
261
261
|
|
|
262
262
|
**NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
263
263
|
|
|
@@ -231,11 +231,11 @@ No configuration. No model training. Just intelligent routing based on what your
|
|
|
231
231
|
|
|
232
232
|
---
|
|
233
233
|
|
|
234
|
-
**GitHub**: https://github.com/Das-rebel/
|
|
234
|
+
**GitHub**: https://github.com/Das-rebel/a3m-router
|
|
235
235
|
|
|
236
236
|
**NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
237
237
|
|
|
238
|
-
**Try the playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
238
|
+
**Try the playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
239
239
|
|
|
240
240
|
---
|
|
241
241
|
|
|
@@ -110,7 +110,7 @@ npx a3m-router compare "Summarize this report"
|
|
|
110
110
|
npx a3m-router benchmark
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
**Playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
113
|
+
**Playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
114
114
|
|
|
115
115
|
## The Math
|
|
116
116
|
|
|
@@ -127,7 +127,7 @@ At 10,000 queries/day, you're leaving $6,300/month on the table.
|
|
|
127
127
|
|
|
128
128
|
## Links
|
|
129
129
|
|
|
130
|
-
- **GitHub**: https://github.com/Das-rebel/
|
|
130
|
+
- **GitHub**: https://github.com/Das-rebel/a3m-router
|
|
131
131
|
- **NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
132
132
|
- **Supported**: OpenAI, GLM-4, MiniMax, Cerebras, Groq, Mistral, Anthropic, Google, DeepSeek, CommandCode, OpenCode, Ollama
|
|
133
133
|
|
|
@@ -125,7 +125,7 @@ npx a3m-router compare "Write Python to sort"
|
|
|
125
125
|
npx a3m-router benchmark
|
|
126
126
|
```
|
|
127
127
|
|
|
128
|
-
**Playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
128
|
+
**Playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
129
129
|
|
|
130
130
|
## The Math
|
|
131
131
|
|
|
@@ -140,9 +140,9 @@ If you're using one provider for everything:
|
|
|
140
140
|
|
|
141
141
|
## Links
|
|
142
142
|
|
|
143
|
-
- **GitHub**: https://github.com/Das-rebel/
|
|
143
|
+
- **GitHub**: https://github.com/Das-rebel/a3m-router
|
|
144
144
|
- **NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
145
|
-
- **Playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
145
|
+
- **Playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
146
146
|
|
|
147
147
|
**Stats**: 872 weekly downloads, 33 tests passing, 156 keywords, 116 integrations.
|
|
148
148
|
|
|
@@ -120,9 +120,9 @@ If your OpenAI bill is >$500/month, you're overpaying.
|
|
|
120
120
|
|
|
121
121
|
## Links
|
|
122
122
|
|
|
123
|
-
- GitHub: https://github.com/Das-rebel/
|
|
123
|
+
- GitHub: https://github.com/Das-rebel/a3m-router
|
|
124
124
|
- NPM: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
125
|
-
- Playground: https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
125
|
+
- Playground: https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
126
126
|
|
|
127
127
|
**872 weekly downloads. 33 tests passing. Production-ready.**
|
|
128
128
|
|
|
@@ -264,7 +264,7 @@ npx a3m-router compare "Summarize this report"
|
|
|
264
264
|
npx a3m-router benchmark
|
|
265
265
|
```
|
|
266
266
|
|
|
267
|
-
**Online playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
267
|
+
**Online playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
268
268
|
|
|
269
269
|
## The Math for Different Volumes
|
|
270
270
|
|
|
@@ -281,7 +281,7 @@ At 10,000 queries/day, you're leaving $6,300/month on the table.
|
|
|
281
281
|
|
|
282
282
|
## Links
|
|
283
283
|
|
|
284
|
-
- **GitHub**: https://github.com/Das-rebel/
|
|
284
|
+
- **GitHub**: https://github.com/Das-rebel/a3m-router
|
|
285
285
|
- **NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
286
286
|
- **Paper**: Inspired by RouteLLM (arXiv:2404.06035)
|
|
287
287
|
- **GLM-4**: https://github.com/THUDM/GLM-4
|
|
@@ -179,7 +179,7 @@ npx a3m-router compare "Write Python to reverse a string"
|
|
|
179
179
|
npx a3m-router benchmark
|
|
180
180
|
```
|
|
181
181
|
|
|
182
|
-
**Online playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
182
|
+
**Online playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
183
183
|
|
|
184
184
|
## The Math for Different Volumes
|
|
185
185
|
|
|
@@ -219,7 +219,7 @@ Our routing system is essentially a **dynamic model selection** mechanism based
|
|
|
219
219
|
|
|
220
220
|
## Links
|
|
221
221
|
|
|
222
|
-
- **GitHub**: https://github.com/Das-rebel/
|
|
222
|
+
- **GitHub**: https://github.com/Das-rebel/a3m-router
|
|
223
223
|
- **NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
224
224
|
- **Paper**: Inspired by RouteLLM (arXiv:2404.06035)
|
|
225
225
|
|
|
@@ -197,11 +197,11 @@ npx a3m-router compare "Write Python to reverse a string"
|
|
|
197
197
|
npx a3m-router benchmark
|
|
198
198
|
```
|
|
199
199
|
|
|
200
|
-
**Online playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
200
|
+
**Online playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
201
201
|
|
|
202
202
|
## Links
|
|
203
203
|
|
|
204
|
-
- **GitHub**: https://github.com/Das-rebel/
|
|
204
|
+
- **GitHub**: https://github.com/Das-rebel/a3m-router
|
|
205
205
|
- **NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
206
206
|
- **Paper**: Inspired by RouteLLM (arXiv:2404.06035)
|
|
207
207
|
|
|
@@ -95,14 +95,14 @@ npx a3m-router benchmark
|
|
|
95
95
|
```
|
|
96
96
|
|
|
97
97
|
Or try online:
|
|
98
|
-
https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
98
|
+
https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
99
99
|
|
|
100
100
|
## Tweet 10/10 - CTA
|
|
101
101
|
872+ weekly downloads. 33 tests passing. Production-ready.
|
|
102
102
|
|
|
103
103
|
Supported: OpenAI, GLM-4, MiniMax, Cerebras, Groq, Mistral, Anthropic, Google, DeepSeek
|
|
104
104
|
|
|
105
|
-
GitHub: github.com/Das-rebel/
|
|
105
|
+
GitHub: github.com/Das-rebel/a3m-router
|
|
106
106
|
NPM: npmjs.com/package/adaptive-memory-multi-model-router
|
|
107
107
|
|
|
108
108
|
What's your OpenAI bill? 👇
|
|
@@ -106,14 +106,14 @@ npx a3m-router benchmark
|
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
Or try online:
|
|
109
|
-
https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
109
|
+
https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
110
110
|
|
|
111
111
|
## Tweet 10/10 - CTA
|
|
112
112
|
872+ weekly downloads. 33 tests passing. Production-ready.
|
|
113
113
|
|
|
114
114
|
If your LLM bill is >$500/month, you're probably overpaying.
|
|
115
115
|
|
|
116
|
-
GitHub: github.com/Das-rebel/
|
|
116
|
+
GitHub: github.com/Das-rebel/a3m-router
|
|
117
117
|
NPM: npmjs.com/package/adaptive-memory-multi-model-router
|
|
118
118
|
|
|
119
119
|
What's your current LLM spend? 👇
|
|
@@ -103,14 +103,14 @@ npx a3m-router benchmark
|
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
Or try online:
|
|
106
|
-
https://codesandbox.io/p/sandbox/github/Das-rebel/
|
|
106
|
+
https://codesandbox.io/p/sandbox/github/Das-rebel/a3m-router/tree/main/playground
|
|
107
107
|
|
|
108
108
|
No API keys needed for testing.
|
|
109
109
|
|
|
110
110
|
## Tweet 10/10 - CTA
|
|
111
111
|
872+ weekly downloads. 33 tests passing. Production-ready.
|
|
112
112
|
|
|
113
|
-
GitHub: github.com/Das-rebel/
|
|
113
|
+
GitHub: github.com/Das-rebel/a3m-router
|
|
114
114
|
NPM: npmjs.com/package/adaptive-memory-multi-model-router
|
|
115
115
|
|
|
116
116
|
What's your current LLM spend? I'd bet we can cut it 50%.
|
package/articles/REDDIT_FINAL.md
CHANGED
|
@@ -169,7 +169,7 @@ For most production workloads, that tradeoff is favorable.
|
|
|
169
169
|
|
|
170
170
|
I packaged the routing logic into an npm library: **adaptive-memory-multi-model-router**.
|
|
171
171
|
|
|
172
|
-
- GitHub: https://github.com/Das-rebel/
|
|
172
|
+
- GitHub: https://github.com/Das-rebel/a3m-router
|
|
173
173
|
- npm: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
174
174
|
|
|
175
175
|
It handles provider selection, automatic fallback on failure/timeout, and cost tracking per request. The routing table is configurable -- you can set your own quality/cost thresholds. It ships with the benchmark data above as default routing weights.
|
|
@@ -226,7 +226,7 @@ Several things this benchmark does **not** tell you:
|
|
|
226
226
|
---
|
|
227
227
|
|
|
228
228
|
**Links:**
|
|
229
|
-
- GitHub: https://github.com/Das-rebel/
|
|
229
|
+
- GitHub: https://github.com/Das-rebel/a3m-router
|
|
230
230
|
- npm: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
231
231
|
|
|
232
232
|
Raw benchmark data is in the repo under `benchmarks/`. PRs welcome if you want to add your own provider data.
|
|
@@ -147,7 +147,7 @@ That's what A3M Router does.
|
|
|
147
147
|
|
|
148
148
|
Try it: `npm install adaptive-memory-multi-model-router`
|
|
149
149
|
|
|
150
|
-
GitHub: https://github.com/Das-rebel/
|
|
150
|
+
GitHub: https://github.com/Das-rebel/a3m-router
|
|
151
151
|
|
|
152
152
|
#LLM #AI #WebDev #OpenSource
|
|
153
153
|
|
|
@@ -202,7 +202,7 @@ const router = createA3MRouter({
|
|
|
202
202
|
## Links
|
|
203
203
|
|
|
204
204
|
- **NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
205
|
-
- **GitHub**: https://github.com/Das-rebel/
|
|
205
|
+
- **GitHub**: https://github.com/Das-rebel/a3m-router
|
|
206
206
|
- **CLI**: `npx a3m-router --help`
|
|
207
207
|
|
|
208
208
|
## Summary
|
|
@@ -3,7 +3,7 @@ title: "How We Matched a GPU-Trained Router With Zero ML"
|
|
|
3
3
|
published: false
|
|
4
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
5
|
tags: llm, ai, routing, javascript, typescript, benchmark, routellm
|
|
6
|
-
canonical_url: https://github.com/Das-rebel/
|
|
6
|
+
canonical_url: https://github.com/Das-rebel/a3m-router
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# How We Matched a GPU-Trained Router With Zero ML
|
|
@@ -128,7 +128,7 @@ npx a3m-router serve
|
|
|
128
128
|
|
|
129
129
|
## Links
|
|
130
130
|
|
|
131
|
-
- GitHub: https://github.com/Das-rebel/
|
|
131
|
+
- GitHub: https://github.com/Das-rebel/a3m-router
|
|
132
132
|
- NPM: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
133
133
|
|
|
134
134
|
---
|
|
@@ -49,6 +49,6 @@ npx a3m-router benchmark
|
|
|
49
49
|
|
|
50
50
|
40 providers. Semantic cache. Circuit breakers. Real-time cost dashboard. 3MB.
|
|
51
51
|
|
|
52
|
-
GitHub: https://github.com/Das-rebel/
|
|
52
|
+
GitHub: https://github.com/Das-rebel/a3m-router
|
|
53
53
|
|
|
54
54
|
The question I keep coming back to: if keyword matching gets you 97% of GPU-trained BERT accuracy, is the GPU worth it?
|
|
@@ -117,7 +117,7 @@ npx a3m-router benchmark
|
|
|
117
117
|
## Links
|
|
118
118
|
|
|
119
119
|
- NPM: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
120
|
-
- GitHub: https://github.com/Das-rebel/
|
|
120
|
+
- GitHub: https://github.com/Das-rebel/a3m-router
|
|
121
121
|
- Weekly Downloads: 872+ and growing
|
|
122
122
|
|
|
123
123
|
---
|
|
@@ -197,7 +197,7 @@ npx a3m-router status # System status
|
|
|
197
197
|
## Links
|
|
198
198
|
|
|
199
199
|
- NPM: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
200
|
-
- GitHub: https://github.com/Das-rebel/
|
|
200
|
+
- GitHub: https://github.com/Das-rebel/a3m-router
|
|
201
201
|
- Weekly Downloads: 872+
|
|
202
202
|
|
|
203
203
|
---
|
package/articles/reddit-ml.md
CHANGED
|
@@ -71,6 +71,6 @@ npx a3m-router route "Write Python to sort an array"
|
|
|
71
71
|
npx a3m-router benchmark
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
GitHub: https://github.com/Das-rebel/
|
|
74
|
+
GitHub: https://github.com/Das-rebel/a3m-router
|
|
75
75
|
|
|
76
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.
|
|
@@ -74,7 +74,7 @@ await router.route("Write Python to sort an array");
|
|
|
74
74
|
## T7/7 — CTA
|
|
75
75
|
npm install adaptive-memory-multi-model-router
|
|
76
76
|
|
|
77
|
-
GitHub: github.com/Das-rebel/
|
|
77
|
+
GitHub: github.com/Das-rebel/a3m-router
|
|
78
78
|
NPM: npmjs.com/package/adaptive-memory-multi-model-router
|
|
79
79
|
|
|
80
80
|
82.5% accuracy. Zero ML. Zero GPU. Matches BERT within 2.5%. 63.7% cost savings. 40 providers.
|
|
@@ -226,7 +226,7 @@ registerProvider('my-provider', {
|
|
|
226
226
|
**[Screen: GitHub and NPM links]**
|
|
227
227
|
|
|
228
228
|
"Links in the description:
|
|
229
|
-
- GitHub: github.com/Das-rebel/
|
|
229
|
+
- GitHub: github.com/Das-rebel/a3m-router
|
|
230
230
|
- NPM: npmjs.com/package/adaptive-memory-multi-model-router
|
|
231
231
|
- Docs: Full documentation on GitHub"
|
|
232
232
|
|
package/demo.html
CHANGED
|
@@ -374,7 +374,7 @@
|
|
|
374
374
|
</div>
|
|
375
375
|
<div class="line"></div>
|
|
376
376
|
<div class="highlight-box">
|
|
377
|
-
<div class="line info">🔗 github.com/Das-rebel/
|
|
377
|
+
<div class="line info">🔗 github.com/Das-rebel/a3m-router</div>
|
|
378
378
|
<div class="line info">📦 npmjs.com/package/adaptive-memory-multi-model-router</div>
|
|
379
379
|
</div>
|
|
380
380
|
<div class="line" style="text-align: center; margin-top: 24px; color: #a371f7; font-size: 1.1rem;">
|
package/dist/cli/setupWizard.js
CHANGED
|
@@ -163,7 +163,7 @@ async function runWizard() {
|
|
|
163
163
|
console.log(' 2. npx a3m-router test # Test provider connections');
|
|
164
164
|
console.log(' 3. npx a3m-router route "hi" # Try routing a query');
|
|
165
165
|
console.log('');
|
|
166
|
-
console.log(' Docs: https://github.com/Das-rebel/
|
|
166
|
+
console.log(' Docs: https://github.com/Das-rebel/a3m-router');
|
|
167
167
|
console.log('');
|
|
168
168
|
rl.close();
|
|
169
169
|
}
|
package/dist/cli.js
CHANGED
|
@@ -81,7 +81,7 @@ function showStarPrompt() {
|
|
|
81
81
|
console.log('');
|
|
82
82
|
console.log(' \x1b[2m── ────────────────────────────────────────\x1b[0m');
|
|
83
83
|
console.log(' \x1b[2m⭐ Found this useful? Star us on GitHub:\x1b[0m');
|
|
84
|
-
console.log(' \x1b[1m\x1b[36m https://github.com/Das-rebel/
|
|
84
|
+
console.log(' \x1b[1m\x1b[36m https://github.com/Das-rebel/a3m-router\x1b[0m');
|
|
85
85
|
console.log(' \x1b[2m── ────────────────────────────────────────\x1b[0m');
|
|
86
86
|
console.log('');
|
|
87
87
|
|
|
@@ -251,7 +251,7 @@ class GenerativeEngineOptimizer {
|
|
|
251
251
|
return {
|
|
252
252
|
...this.metadata,
|
|
253
253
|
installation: 'npm install adaptive-memory-multi-model-router',
|
|
254
|
-
github: 'https://github.com/Das-rebel/
|
|
254
|
+
github: 'https://github.com/Das-rebel/a3m-router',
|
|
255
255
|
npm: 'https://www.npmjs.com/package/adaptive-memory-multi-model-router',
|
|
256
256
|
weeklyDownloads: 872,
|
|
257
257
|
testCount: 33,
|
package/docs/HN_CHECKLIST.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
- [ ] 8:00 AM EST — Open HN submit page
|
|
16
16
|
- [ ] 8:20 AM EST — Fill form:
|
|
17
17
|
- [ ] Title: "Show HN: A3M Router — 99.5% routing accuracy without ML. 30x more efficient than BERT."
|
|
18
|
-
- [ ] URL: https://github.com/Das-rebel/
|
|
18
|
+
- [ ] URL: https://github.com/Das-rebel/a3m-router
|
|
19
19
|
- [ ] Text: (paste from /tmp/HN_SUBMISSION_FINAL_v3.md)
|
|
20
20
|
- [ ] 8:30 AM EST — HIT SUBMIT
|
|
21
21
|
- [ ] 8:31 AM EST — Post founder comment immediately
|
|
@@ -35,4 +35,4 @@
|
|
|
35
35
|
- HN upvotes (target: 100+ for front page, 500+ for top 10)
|
|
36
36
|
- GitHub stars (target: +50 within 24h if front page)
|
|
37
37
|
- npm downloads (target: 2,000+ within 24h)
|
|
38
|
-
- GitHub traffic (check at https://github.com/Das-rebel/
|
|
38
|
+
- GitHub traffic (check at https://github.com/Das-rebel/a3m-router/traffic)
|
|
@@ -21,7 +21,7 @@ Show HN: A3M Router — the only LLM router besides RouteLLM with published benc
|
|
|
21
21
|
|
|
22
22
|
## Submission Text
|
|
23
23
|
|
|
24
|
-
**URL**: https://github.com/Das-rebel/
|
|
24
|
+
**URL**: https://github.com/Das-rebel/a3m-router
|
|
25
25
|
|
|
26
26
|
**Text** (HN "text" field):
|
|
27
27
|
|
|
@@ -57,7 +57,7 @@ Growth (zero marketing):
|
|
|
57
57
|
|
|
58
58
|
The question: if keyword matching gets you 97% of GPU-trained BERT accuracy for LLM routing, is the GPU worth it?
|
|
59
59
|
|
|
60
|
-
Repo: https://github.com/Das-rebel/
|
|
60
|
+
Repo: https://github.com/Das-rebel/a3m-router
|
|
61
61
|
npm: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
62
62
|
|
|
63
63
|
RouteLLM paper: arXiv:2404.06035
|
package/docs/HN_SUBMISSION_V3.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Show HN: A3M Router — 99.5% routing accuracy without ML. 30x more efficient than BERT.
|
|
2
2
|
|
|
3
|
-
**URL**: https://github.com/Das-rebel/
|
|
3
|
+
**URL**: https://github.com/Das-rebel/a3m-router
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -49,8 +49,8 @@ Total: 4,224 downloads (self-sustaining npm discovery)
|
|
|
49
49
|
|
|
50
50
|
The question: if keyword matching gets you 97% of GPU-trained BERT accuracy for LLM routing, is the GPU worth it?
|
|
51
51
|
|
|
52
|
-
**Repo**: https://github.com/Das-rebel/
|
|
52
|
+
**Repo**: https://github.com/Das-rebel/a3m-router
|
|
53
53
|
**npm**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
54
|
-
**Benchmarks**: https://github.com/Das-rebel/
|
|
54
|
+
**Benchmarks**: https://github.com/Das-rebel/a3m-router/blob/main/benchmark-results.json
|
|
55
55
|
|
|
56
56
|
Caveat: benchmarks are self-run. I'd love to see independent replication.
|
package/docs/SEO_AUDIT.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
**Date:** 2026-05-18 (Updated)
|
|
4
4
|
**Package:** adaptive-memory-multi-model-router
|
|
5
5
|
**NPM URL:** https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
6
|
-
**GitHub URL:** https://github.com/Das-rebel/
|
|
6
|
+
**GitHub URL:** https://github.com/Das-rebel/a3m-router
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
package/docs/UPDATE_TOPICS.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Run this to update GitHub repository topics:
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
curl -X PATCH "https://api.github.com/repos/Das-rebel/
|
|
6
|
+
curl -X PATCH "https://api.github.com/repos/Das-rebel/a3m-router" \
|
|
7
7
|
-H "Authorization: token YOUR_GITHUB_TOKEN" \
|
|
8
8
|
-H "Content-Type: application/json" \
|
|
9
9
|
-d '{
|
package/docs/demo-auto.html
CHANGED
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
<div class="muted"># Change: model: 'gpt-4o' → model: 'auto'</div>
|
|
217
217
|
</div>
|
|
218
218
|
<div style="text-align: center; margin-top: 24px;">
|
|
219
|
-
<div class="muted">🔗 github.com/Das-rebel/
|
|
219
|
+
<div class="muted">🔗 github.com/Das-rebel/a3m-router</div>
|
|
220
220
|
<div class="muted">📦 npmjs.com/package/adaptive-memory-multi-model-router</div>
|
|
221
221
|
</div>
|
|
222
222
|
<div style="text-align: center; margin-top: 24px; color: #a371f7; font-size: 1.2rem;">
|
package/docs/demo.html
CHANGED
|
@@ -374,7 +374,7 @@
|
|
|
374
374
|
</div>
|
|
375
375
|
|
|
376
376
|
<div class="footer" style="margin-top: 24px;">
|
|
377
|
-
<div>🔗 github.com/Das-rebel/
|
|
377
|
+
<div>🔗 github.com/Das-rebel/a3m-router</div>
|
|
378
378
|
<div>📦 npmjs.com/package/adaptive-memory-multi-model-router</div>
|
|
379
379
|
</div>
|
|
380
380
|
</div>
|
package/docs/index.html
CHANGED
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
<div class="card">
|
|
107
107
|
<h2>Links</h2>
|
|
108
108
|
<p>
|
|
109
|
-
<a href="https://github.com/Das-rebel/
|
|
109
|
+
<a href="https://github.com/Das-rebel/a3m-router">GitHub</a> •
|
|
110
110
|
<a href="https://www.npmjs.com/package/adaptive-memory-multi-model-router">npm</a> •
|
|
111
111
|
<a href="https://das-rebel.github.io/adaptive-memory-multi-model-router/">Docs</a>
|
|
112
112
|
</p>
|
package/docs/openapi.json
CHANGED
package/docs-site/index.html
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@type": "SoftwareApplication",
|
|
37
37
|
"name": "A3M Router",
|
|
38
38
|
"description": "OpenAI-compatible LLM router with 82.5% routing accuracy without ML. Matches RouteLLM BERT within 2.5%. 30x more efficient than GPU-based routing. 39 providers, semantic cache, guardrails, cost analytics.",
|
|
39
|
-
"url": "https://github.com/Das-rebel/
|
|
39
|
+
"url": "https://github.com/Das-rebel/a3m-router",
|
|
40
40
|
"applicationCategory": "DeveloperApplication",
|
|
41
41
|
"operatingSystem": "Linux, macOS, Windows",
|
|
42
42
|
"programmingLanguage": "TypeScript",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
},
|
|
49
49
|
"softwareVersion": "2.0.3",
|
|
50
50
|
"installUrl": "https://www.npmjs.com/package/adaptive-memory-multi-model-router",
|
|
51
|
-
"codeRepository": "https://github.com/Das-rebel/
|
|
51
|
+
"codeRepository": "https://github.com/Das-rebel/a3m-router",
|
|
52
52
|
"license": "https://opensource.org/licenses/MIT",
|
|
53
53
|
"author": {
|
|
54
54
|
"@type": "Organization",
|
|
@@ -487,7 +487,7 @@
|
|
|
487
487
|
|
|
488
488
|
<div class="cta">
|
|
489
489
|
<a href="https://www.npmjs.com/package/adaptive-memory-multi-model-router" class="btn btn-primary">Install from NPM</a>
|
|
490
|
-
<a href="https://github.com/Das-rebel/
|
|
490
|
+
<a href="https://github.com/Das-rebel/a3m-router" class="btn btn-secondary">Star on GitHub</a>
|
|
491
491
|
</div>
|
|
492
492
|
</header>
|
|
493
493
|
|
|
@@ -620,10 +620,10 @@ npx a3m-router serve
|
|
|
620
620
|
<footer>
|
|
621
621
|
<div class="links">
|
|
622
622
|
<a href="https://www.npmjs.com/package/adaptive-memory-multi-model-router">NPM</a>
|
|
623
|
-
<a href="https://github.com/Das-rebel/
|
|
624
|
-
<a href="https://github.com/Das-rebel/
|
|
625
|
-
<a href="https://github.com/Das-rebel/
|
|
626
|
-
<a href="https://github.com/Das-rebel/
|
|
623
|
+
<a href="https://github.com/Das-rebel/a3m-router">GitHub</a>
|
|
624
|
+
<a href="https://github.com/Das-rebel/a3m-router/issues">Issues</a>
|
|
625
|
+
<a href="https://github.com/Das-rebel/a3m-router/discussions">Discussions</a>
|
|
626
|
+
<a href="https://github.com/Das-rebel/a3m-router/blob/main/docs/API.md">API Docs</a>
|
|
627
627
|
</div>
|
|
628
628
|
<p style="color: #64748b;">MIT License © 2026 A3M Router Team</p>
|
|
629
629
|
</footer>
|