adaptive-memory-multi-model-router 2.13.3 → 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 +214 -143
- 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/benchmark-provider-results.json +120 -41
- package/benchmark-results.json +46 -620
- 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/dist/tui/index.js +0 -0
- package/docs/BENCHMARK.md +96 -0
- 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/benchmark-chart.png +0 -0
- 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 +21 -6
- package/playground/README.md +4 -4
- package/public/robots.txt +1 -1
- package/python/pyproject.toml +1 -1
- package/scripts/routing-benchmark-v3.js +118 -0
- package/src/cli/setupWizard.ts +1 -1
- package/tmlpd-pi-extension/README.md +1 -1
|
@@ -4,7 +4,7 @@ published: true
|
|
|
4
4
|
description: "Learn to build an LLM routing system from scratch, then upgrade to A3M Router for production"
|
|
5
5
|
tags: node, javascript, tutorial, beginners
|
|
6
6
|
cover_image:
|
|
7
|
-
canonical_url: https://github.com/Das-rebel/
|
|
7
|
+
canonical_url: https://github.com/Das-rebel/a3m-router
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# How to Build a Multi-Provider LLM Router in 50 Lines of Code
|
|
@@ -263,7 +263,7 @@ Production routers learn from outcomes. They track quality scores per provider p
|
|
|
263
263
|
|
|
264
264
|
## The Production Upgrade: A3M Router
|
|
265
265
|
|
|
266
|
-
This is exactly why I built [A3M Router](https://github.com/Das-rebel/
|
|
266
|
+
This is exactly why I built [A3M Router](https://github.com/Das-rebel/a3m-router). It handles the problems above so you don't have to.
|
|
267
267
|
|
|
268
268
|
### The 3-Line Equivalent
|
|
269
269
|
|
|
@@ -330,7 +330,7 @@ No maintenance. The provider registry stays current:
|
|
|
330
330
|
| Ollama | llama3, mistral (local) | **Free** | varies |
|
|
331
331
|
| xAI | grok-2 | $2.00 - $10.00 | 1.2s |
|
|
332
332
|
|
|
333
|
-
Plus Together, vLLM, LM Studio, and DeepSeek. [Full list in the docs](https://github.com/Das-rebel/
|
|
333
|
+
Plus Together, vLLM, LM Studio, and DeepSeek. [Full list in the docs](https://github.com/Das-rebel/a3m-router).
|
|
334
334
|
|
|
335
335
|
---
|
|
336
336
|
|
|
@@ -533,7 +533,7 @@ console.log(result.output, result.provider, result.cost);
|
|
|
533
533
|
That's it. 872+ weekly downloads, MIT licensed, 12 providers, zero config to start.
|
|
534
534
|
|
|
535
535
|
**Links:**
|
|
536
|
-
- GitHub: [github.com/Das-rebel/
|
|
536
|
+
- GitHub: [github.com/Das-rebel/a3m-router](https://github.com/Das-rebel/a3m-router)
|
|
537
537
|
- NPM: [npmjs.com/package/adaptive-memory-multi-model-router](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
|
|
538
538
|
- Research: Based on [RouteLLM](https://arxiv.org/abs/2404.06035), [RadixAttention](https://arxiv.org/abs/2312.07104), [Medusa](https://arxiv.org/abs/2401.10774)
|
|
539
539
|
|
|
@@ -3,7 +3,7 @@ title: "A3M Router v2.0: Now an OpenAI-Compatible AI Gateway with 39 Providers
|
|
|
3
3
|
published: true
|
|
4
4
|
description: "Drop-in OpenAI proxy, LangChain adapter, guardrails, semantic cache, cost analytics, and 39 LLM providers — all in one npm package"
|
|
5
5
|
tags: node, javascript, ai, webdev
|
|
6
|
-
canonical_url: https://github.com/Das-rebel/
|
|
6
|
+
canonical_url: https://github.com/Das-rebel/a3m-router
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
We just shipped A3M Router v2.0.0 — the biggest update since launch.
|
|
@@ -149,7 +149,7 @@ node -e "const { createA3MRouter } = require('adaptive-memory-multi-model-router
|
|
|
149
149
|
|
|
150
150
|
## Links
|
|
151
151
|
|
|
152
|
-
- **GitHub**: https://github.com/Das-rebel/
|
|
152
|
+
- **GitHub**: https://github.com/Das-rebel/a3m-router
|
|
153
153
|
- **NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
154
154
|
- **872+ weekly downloads**
|
|
155
155
|
|
|
@@ -3,7 +3,7 @@ title: "2,775 Downloads in 3 Days With Zero Marketing Budget — Here's What Hap
|
|
|
3
3
|
published: true
|
|
4
4
|
description: "The honest growth story of an open-source LLM router: what worked, what failed, and why 1,903 people downloaded it yesterday"
|
|
5
5
|
tags: discuss, opensource, ai, webdev
|
|
6
|
-
canonical_url: https://github.com/Das-rebel/
|
|
6
|
+
canonical_url: https://github.com/Das-rebel/a3m-router
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# 2,775 Downloads in 3 Days With Zero Marketing Budget — Here's What Happened
|
|
@@ -27,7 +27,7 @@ This is the story of what we did, what actually worked, what completely failed,
|
|
|
27
27
|
|
|
28
28
|
## What We Built
|
|
29
29
|
|
|
30
|
-
First, context. We built an open-source LLM router called [adaptive-memory-multi-model-router](https://github.com/Das-rebel/
|
|
30
|
+
First, context. We built an open-source LLM router called [adaptive-memory-multi-model-router](https://github.com/Das-rebel/a3m-router) (the name is terrible, I know — we're working on it). It does three things:
|
|
31
31
|
|
|
32
32
|
1. **Routes requests across 39 LLM providers** — OpenAI, Anthropic, Gemini, Groq, Cerebras, Mistral, DeepSeek, Ollama, and 30+ more
|
|
33
33
|
2. **Adaptive memory** — tracks which models work best for your use case and routes accordingly
|
|
@@ -247,7 +247,7 @@ const response = await client.chat.completions.create({
|
|
|
247
247
|
|
|
248
248
|
Same SDK. Same API. Different backend. That's the point.
|
|
249
249
|
|
|
250
|
-
**GitHub:** [github.com/Das-rebel/
|
|
250
|
+
**GitHub:** [github.com/Das-rebel/a3m-router](https://github.com/Das-rebel/a3m-router)
|
|
251
251
|
|
|
252
252
|
**NPM:** [npmjs.com/package/adaptive-memory-multi-model-router](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
|
|
253
253
|
|
|
@@ -255,7 +255,7 @@ Same SDK. Same API. Different backend. That's the point.
|
|
|
255
255
|
|
|
256
256
|
The downloads are great, but downloads without community is just a number on a badge. Here's what we need:
|
|
257
257
|
|
|
258
|
-
1. **GitHub stars help discoverability.** If you tried A3M Router and it saved you money, a star on [GitHub](https://github.com/Das-rebel/
|
|
258
|
+
1. **GitHub stars help discoverability.** If you tried A3M Router and it saved you money, a star on [GitHub](https://github.com/Das-rebel/a3m-router) helps other developers find it.
|
|
259
259
|
|
|
260
260
|
2. **What providers do you need?** We have 39. But if your provider isn't listed, tell us. We'll add it.
|
|
261
261
|
|
|
@@ -277,4 +277,4 @@ The 2,775 downloads proved npm search is a viable growth channel. Now we're buil
|
|
|
277
277
|
|
|
278
278
|
---
|
|
279
279
|
|
|
280
|
-
*If this story was useful, follow along at [github.com/Das-rebel/
|
|
280
|
+
*If this story was useful, follow along at [github.com/Das-rebel/a3m-router](https://github.com/Das-rebel/a3m-router). Stars appreciated. Issues celebrated. PRs worshipped.*
|
package/articles/FRESH_devto.md
CHANGED
|
@@ -450,7 +450,7 @@ console.log(`Tier: ${result.tier}`);
|
|
|
450
450
|
console.log(`Cost: $${result.cost}`);
|
|
451
451
|
```
|
|
452
452
|
|
|
453
|
-
**GitHub:** https://github.com/Das-rebel/
|
|
453
|
+
**GitHub:** https://github.com/Das-rebel/a3m-router
|
|
454
454
|
**npm:** https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
455
455
|
|
|
456
456
|
MIT license. Self-hosted. No account. 19.5 KB. TypeScript + Python SDKs, CLI, REST API, OpenAI proxy, LangChain adapter.
|
|
@@ -8,7 +8,7 @@ Supports 36 providers (OpenAI, Anthropic, Google, Groq, Cerebras, Mistral, DeepS
|
|
|
8
8
|
|
|
9
9
|
The core insight is that keyword-based routing is within ±1 tier of BERT-based routing for nearly all queries, at zero infrastructure cost. The routing signals are composable and adjustable — if a particular domain routes poorly, you add domain-specific patterns without retraining anything.
|
|
10
10
|
|
|
11
|
-
Repo: https://github.com/Das-rebel/
|
|
11
|
+
Repo: https://github.com/Das-rebel/a3m-router
|
|
12
12
|
npm: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
13
13
|
|
|
14
14
|
Caveat: the 99.5% figure is self-benchmarked. We'd welcome independent evaluation, especially on non-English or creative writing query distributions where the keyword signals may be weaker.
|
|
@@ -84,7 +84,7 @@ On the same query workload:
|
|
|
84
84
|
|
|
85
85
|
## Links
|
|
86
86
|
|
|
87
|
-
- **Repo:** https://github.com/Das-rebel/
|
|
87
|
+
- **Repo:** https://github.com/Das-rebel/a3m-router
|
|
88
88
|
- **npm:** https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
89
89
|
|
|
90
90
|
The classifier is ~200 lines of TypeScript. No dependencies beyond a standard Node.js runtime. If you want to reproduce the benchmark or contribute a more rigorous evaluation, PRs welcome.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
r/node — I want to show you the architecture behind a routing system that classifies LLM query complexity in 0.3ms, with zero ML runtime.
|
|
4
4
|
|
|
5
|
-
**GitHub:** https://github.com/Das-rebel/
|
|
5
|
+
**GitHub:** https://github.com/Das-rebel/a3m-router
|
|
6
6
|
**npm:** https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
7
7
|
|
|
8
8
|
## The problem
|
|
@@ -190,7 +190,7 @@ function scoreToTier(score: number): Tier {
|
|
|
190
190
|
|
|
191
191
|
## Links
|
|
192
192
|
|
|
193
|
-
- **Source:** https://github.com/Das-rebel/
|
|
193
|
+
- **Source:** https://github.com/Das-rebel/a3m-router
|
|
194
194
|
- **npm:** https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
195
195
|
|
|
196
196
|
MIT license. Self-hosted. No account. `npm install adaptive-memory-multi-model-router` and you're routing.
|
|
@@ -6,7 +6,7 @@ Hey r/SideProject — wanted to share something unexpected that happened with my
|
|
|
6
6
|
|
|
7
7
|
I built **A3M Router** — a TypeScript package that routes LLM queries to the cheapest provider that can handle them. 36 providers, 5 complexity tiers, semantic caching, injection guardrails. The whole package is 19.5 KB gzipped. MIT license, no account needed, self-hosted.
|
|
8
8
|
|
|
9
|
-
Repo: https://github.com/Das-rebel/
|
|
9
|
+
Repo: https://github.com/Das-rebel/a3m-router
|
|
10
10
|
npm: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
11
11
|
|
|
12
12
|
## The surprising part: the downloads
|
|
@@ -68,5 +68,5 @@ If you're building a dev tool, **take npm keyword search seriously**. It's an or
|
|
|
68
68
|
|
|
69
69
|
Happy to answer questions about the routing algorithm, the npm discovery, or the architecture.
|
|
70
70
|
|
|
71
|
-
GitHub: https://github.com/Das-rebel/
|
|
71
|
+
GitHub: https://github.com/Das-rebel/a3m-router
|
|
72
72
|
npm: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
@@ -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
|
|