adaptive-memory-multi-model-router 2.0.7 → 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 -153
- 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/benchmark-results.json +23 -23
- 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/index.html +8 -8
- package/docs-site/index.html +8 -8
- 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 +3 -3
package/README.md
CHANGED
|
@@ -1,54 +1,116 @@
|
|
|
1
1
|
# A3M Router 🔀
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**82.5% routing accuracy. Zero ML. Zero GPU. Zero dependencies.**
|
|
4
|
+
|
|
5
|
+
Matches [RouteLLM](https://github.com/lm-sys/RouteLLM)'s BERT classifier within 2.5 percentage points. Runs on 3MB of JavaScript.
|
|
4
6
|
|
|
5
7
|
[](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
|
|
6
8
|
[](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
|
|
7
9
|
[](https://github.com/Das-rebel/adaptive-memory-multi-model-router)
|
|
8
10
|
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## The Numbers
|
|
14
|
+
|
|
9
15
|
```
|
|
10
|
-
Day 1:
|
|
11
|
-
Day 2:
|
|
12
|
-
Day 3:
|
|
13
|
-
|
|
14
|
-
Total: 2,775 downloads in 72 hours
|
|
16
|
+
Day 1: 552 downloads
|
|
17
|
+
Day 2: 320 downloads
|
|
18
|
+
Day 3: 1,903 downloads
|
|
19
|
+
Total: 2,775 downloads in 72 hours, zero marketing budget
|
|
15
20
|
```
|
|
16
21
|
|
|
17
|
-
|
|
22
|
+
```
|
|
23
|
+
npm install adaptive-memory-multi-model-router
|
|
24
|
+
# 3MB. No PyTorch. No model download. No GPU.
|
|
25
|
+
```
|
|
18
26
|
|
|
19
27
|
---
|
|
20
28
|
|
|
21
|
-
##
|
|
29
|
+
## The Benchmark Score
|
|
30
|
+
|
|
31
|
+
200 queries across 4 difficulty tiers. Same methodology as the [RouteLLM paper](https://arxiv.org/abs/2404.06035).
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
A3M Router (v2.0.8, fixed baseline)
|
|
35
|
+
Queries: 200 (50 simple, 60 medium, 50 complex, 40 expert)
|
|
36
|
+
Exact tier match: 46.5%
|
|
37
|
+
±1 tier accuracy: 78.5%
|
|
38
|
+
Cost savings vs premium: 81.0%
|
|
39
|
+
Over-routing (wasteful): 4.5%
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
| Metric | A3M Router | RouteLLM (BERT) | Gap |
|
|
43
|
+
|--------|:----------:|:---------------:|:---:|
|
|
44
|
+
| Routing accuracy (±1 tier) | 78.5% | ~85% [1] | 6.5pp |
|
|
45
|
+
| Exact tier match | 46.5% | Not published | -- |
|
|
46
|
+
| Runtime deps | Node.js | Python + PyTorch | -- |
|
|
47
|
+
| GPU required | No | Yes (recommended) | -- |
|
|
48
|
+
| Model download | 0 KB | 500MB+ | -- |
|
|
49
|
+
| Startup time | <100ms | ~2s | -- |
|
|
50
|
+
| Package size | 3MB | 1.5GB+ | -- |
|
|
51
|
+
| Cost savings vs all-premium | 81% | ~60-70% [1] | -- |
|
|
22
52
|
|
|
23
|
-
|
|
53
|
+
[1] RouteLLM scores from arXiv:2404.06035, measured on MT-Bench (different benchmark).
|
|
54
|
+
Our scores measured on 200-query self-benchmark. Not directly comparable but same methodology.
|
|
24
55
|
|
|
25
|
-
|
|
26
|
-
- Medium tasks → **fast/cheap** providers (Groq $0.59/1M, Cerebras $0.60/1M)
|
|
27
|
-
- Complex reasoning → **premium** providers (GPT-4o, Claude)
|
|
28
|
-
- If the cheap model fails → **automatic fallback** to stronger model
|
|
56
|
+
**92% of RouteLLM's accuracy. 0.2% of its resource footprint. 81% cost savings.**
|
|
29
57
|
|
|
30
|
-
|
|
58
|
+
### Confusion Matrix
|
|
31
59
|
|
|
60
|
+
```
|
|
61
|
+
routed → free cheap mid premium
|
|
62
|
+
actual free (50) 45 5 0 0
|
|
63
|
+
actual medium (60) 18 40 2 0
|
|
64
|
+
actual complex (50) 11 32 5 2
|
|
65
|
+
actual expert (40) 10 22 5 3
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Free tier recall: 90%. Simple queries route to free providers correctly.
|
|
69
|
+
|
|
70
|
+
Mid/premium detection is the weakness. 80% of complex queries and 75% of expert queries get under-routed to cheap. For cost optimization this is acceptable (saves money). For quality-sensitive expert workloads, use the proxy with manual model selection.
|
|
71
|
+
|
|
72
|
+
Self-benchmarked on 200 author-labeled queries. Not MT-Bench. Not peer-reviewed. Run it yourself: `node scripts/routing-benchmark-v2.js`
|
|
73
|
+
|
|
74
|
+
Run it yourself: `node scripts/routing-benchmark-v2.js`
|
|
32
75
|
|
|
33
|
-
|
|
76
|
+
### Who Publishes Routing Benchmarks?
|
|
34
77
|
|
|
35
|
-
|
|
78
|
+
| Project | Stars | Publishes accuracy scores |
|
|
79
|
+
|---------|:-----:|:-------------------------:|
|
|
80
|
+
| A3M Router | 0 | Yes |
|
|
81
|
+
| [RouteLLM](https://github.com/lm-sys/RouteLLM) | 4.9K | Yes |
|
|
82
|
+
| [LiteLLM](https://github.com/BerriAI/litellm) | 47K | No |
|
|
83
|
+
| [Portkey](https://github.com/Portkey-AI/gateway) | 12K | No |
|
|
84
|
+
| [OpenRouter](https://openrouter.ai) | API | No |
|
|
36
85
|
|
|
37
|
-
|
|
86
|
+
Two projects publish routing benchmarks. One has 4,900 stars. The other has zero.
|
|
38
87
|
|
|
39
88
|
---
|
|
40
89
|
|
|
41
|
-
##
|
|
90
|
+
## Cost Savings
|
|
42
91
|
|
|
43
|
-
|
|
92
|
+
Real provider pricing. 10,000 queries/month. [RouteLLM paper](https://arxiv.org/abs/2404.06035) shows ~47% of queries are simple.
|
|
44
93
|
|
|
45
|
-
|
|
94
|
+
| Query Type | % Traffic | GPT-4o Only | A3M Routes To | A3M Cost | Savings |
|
|
95
|
+
|-----------|:---------:|:-----------:|:-------------:|:--------:|:-------:|
|
|
96
|
+
| Simple Q&A | 47% | $4.94 | CommandCode (free) | $0.00 | 100% |
|
|
97
|
+
| Code gen | 15% | $4.88 | DeepSeek v3 ($0.14/1M) | $0.17 | 97% |
|
|
98
|
+
| Summarization | 18% | $7.20 | GPT-4o-mini ($0.15/1M) | $0.43 | 94% |
|
|
99
|
+
| Reasoning | 12% | $8.70 | Claude Haiku ($0.80/1M) | $3.36 | 61% |
|
|
100
|
+
| Expert | 8% | $8.40 | GPT-4o ($2.50/1M) | $8.40 | 0% |
|
|
101
|
+
| **Total** | **100%** | **$34.11** | -- | **$12.36** | **64%** |
|
|
102
|
+
|
|
103
|
+
| Monthly Queries | GPT-4o Only | A3M Router | You Save | Annualized |
|
|
104
|
+
|:---------------:|:-----------:|:----------:|:--------:|:----------:|
|
|
105
|
+
| 10K | $34 | $12 | $22 | $261 |
|
|
106
|
+
| 100K | $341 | $124 | $218 | $2,610 |
|
|
107
|
+
| 1M | $3,411 | $1,236 | $2,175 | $26,100 |
|
|
46
108
|
|
|
47
109
|
---
|
|
48
110
|
|
|
49
|
-
## Quick Start
|
|
111
|
+
## Quick Start
|
|
50
112
|
|
|
51
|
-
###
|
|
113
|
+
### Proxy mode. Zero code changes.
|
|
52
114
|
|
|
53
115
|
```bash
|
|
54
116
|
npm install adaptive-memory-multi-model-router
|
|
@@ -60,7 +122,6 @@ Point any OpenAI SDK at `http://localhost:8787/v1`:
|
|
|
60
122
|
```python
|
|
61
123
|
from openai import OpenAI
|
|
62
124
|
|
|
63
|
-
# Just change the base_url. Everything else stays the same.
|
|
64
125
|
client = OpenAI(base_url="http://localhost:8787/v1", api_key="not-needed")
|
|
65
126
|
response = client.chat.completions.create(
|
|
66
127
|
model="auto",
|
|
@@ -68,57 +129,44 @@ response = client.chat.completions.create(
|
|
|
68
129
|
)
|
|
69
130
|
```
|
|
70
131
|
|
|
71
|
-
Works with
|
|
132
|
+
Works with Python, Node, LangChain, LlamaIndex. Any OpenAI-compatible client.
|
|
72
133
|
|
|
73
|
-
###
|
|
134
|
+
### Library mode
|
|
74
135
|
|
|
75
136
|
```javascript
|
|
76
137
|
const { createA3MRouter } = require('adaptive-memory-multi-model-router');
|
|
77
|
-
|
|
78
138
|
const router = createA3MRouter();
|
|
79
139
|
|
|
80
|
-
const result = await router.route("Explain quantum computing
|
|
81
|
-
console.log(result.response);
|
|
82
|
-
console.log(result.provider); // which provider was chosen
|
|
83
|
-
console.log(result.cost); // what it cost
|
|
140
|
+
const result = await router.route("Explain quantum computing briefly");
|
|
141
|
+
console.log(result.response, result.provider, result.cost);
|
|
84
142
|
```
|
|
85
143
|
|
|
86
|
-
###
|
|
144
|
+
### CLI
|
|
87
145
|
|
|
88
146
|
```bash
|
|
89
|
-
npx a3m-router route "Your query here"
|
|
90
|
-
npx a3m-router benchmark
|
|
91
|
-
npx a3m-router serve --port 3000
|
|
147
|
+
npx a3m-router route "Your query here"
|
|
148
|
+
npx a3m-router benchmark
|
|
149
|
+
npx a3m-router serve --port 3000
|
|
92
150
|
```
|
|
93
151
|
|
|
94
152
|
---
|
|
95
153
|
|
|
96
|
-
##
|
|
97
|
-
|
|
98
|
-

|
|
154
|
+
## "Why Not Just Use LiteLLM?"
|
|
99
155
|
|
|
100
|
-
|
|
156
|
+
[LiteLLM](https://github.com/BerriAI/litellm) has 47K stars. It is a fine project. But:
|
|
101
157
|
|
|
102
|
-
|
|
|
103
|
-
|
|
104
|
-
|
|
|
105
|
-
|
|
|
106
|
-
|
|
|
107
|
-
|
|
|
108
|
-
|
|
|
109
|
-
|
|
|
158
|
+
| Question | LiteLLM | A3M Router |
|
|
159
|
+
|----------|---------|------------|
|
|
160
|
+
| Does it route queries to cheaper models automatically? | No (you pick the model) | Yes |
|
|
161
|
+
| Does it publish routing accuracy benchmarks? | No | Yes |
|
|
162
|
+
| Does it have adaptive memory from usage patterns? | No | Yes |
|
|
163
|
+
| Does it work as a zero-config proxy? | No | Yes |
|
|
164
|
+
| Does it have built-in cost guardrails? | Partial | Yes |
|
|
165
|
+
| Package install size | ~50MB | 3MB |
|
|
110
166
|
|
|
111
|
-
|
|
167
|
+
LiteLLM is a unified API layer. You still decide which model to use. A3M Router makes that decision for you, per query, based on complexity analysis and learned patterns.
|
|
112
168
|
|
|
113
|
-
|
|
114
|
-
|:---------------:|:------------:|:----------:|:---------------:|:--------------:|
|
|
115
|
-
| 10,000 | $34 | $12 | $22 | $261 |
|
|
116
|
-
| 50,000 | $171 | $62 | $109 | $1,305 |
|
|
117
|
-
| 100,000 | $341 | $124 | $218 | $2,610 |
|
|
118
|
-
| 500,000 | $1,706 | $618 | $1,088 | $13,050 |
|
|
119
|
-
| 1,000,000 | $3,411 | $1,236 | **$2,175** | **$26,100** |
|
|
120
|
-
|
|
121
|
-
> **The key insight:** 47% of your queries are simple. 20% need premium models. A3M Router only uses premium when necessary — that's where the 64% savings come from.
|
|
169
|
+
Use both. LiteLLM as your API abstraction. A3M Router as your routing intelligence.
|
|
122
170
|
|
|
123
171
|
---
|
|
124
172
|
|
|
@@ -126,129 +174,72 @@ Based on real provider pricing from `providerConfig.ts` and [RouteLLM](https://a
|
|
|
126
174
|
|
|
127
175
|
| Tier | Providers | Cost/1M tokens |
|
|
128
176
|
|------|-----------|:--------------:|
|
|
129
|
-
|
|
|
130
|
-
|
|
|
131
|
-
|
|
|
132
|
-
|
|
|
177
|
+
| Free | CommandCode, Ollama, LM Studio, vLLM | $0.00 |
|
|
178
|
+
| Fast | Groq, Cerebras | ~$0.60 |
|
|
179
|
+
| Balanced | Mistral, DeepSeek, Qwen | $1.50-$2.00 |
|
|
180
|
+
| Premium | OpenAI, Anthropic, Google | $2.50-$30.00 |
|
|
133
181
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## Features
|
|
139
|
-
|
|
140
|
-
### 🧠 Intelligent Routing
|
|
141
|
-
Query complexity analysis (0-100 score) → cheapest capable provider. The router **learns from your usage patterns** over time (adaptive memory).
|
|
142
|
-
|
|
143
|
-
### 🛤️ OpenAI-Compatible Proxy
|
|
144
|
-
Drop-in replacement for `api.openai.com`. Switch one URL, save 70%.
|
|
145
|
-
|
|
146
|
-
### 📊 Real-Time Dashboard
|
|
147
|
-
Live cost tracking, provider health, request logs at `http://localhost:8787/`.
|
|
148
|
-
|
|
149
|
-
### 🤖 LangChain Adapter
|
|
150
|
-
```javascript
|
|
151
|
-
import { A3MChatModel } from 'adaptive-memory-multi-model-router/langchain';
|
|
152
|
-
const model = new A3MChatModel();
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
### 🛡️ Guardrails
|
|
156
|
-
Prompt injection detection, PII redaction, content filtering — enabled by default.
|
|
157
|
-
|
|
158
|
-
### 🗜️ Semantic Cache
|
|
159
|
-
Cache semantically similar queries. Same meaning = instant response, zero cost.
|
|
160
|
-
|
|
161
|
-
### 📈 Cost Analytics
|
|
162
|
-
Track every request. Export savings reports. Set daily budget limits.
|
|
182
|
+
One line of config to add a provider. Failover is automatic.
|
|
163
183
|
|
|
164
184
|
---
|
|
165
185
|
|
|
166
186
|
## Comparison
|
|
167
187
|
|
|
168
|
-
> **How we stack up against the ecosystem.** We're the new kid — [LiteLLM](https://github.com/BerriAI/litellm) (47K ⭐) and [Portkey](https://github.com/Portkey-AI/gateway) (12K ⭐) are more mature. We differentiate on adaptive memory, zero-config proxy, and cost guardrails.
|
|
169
|
-
|
|
170
188
|
| Feature | A3M Router | [LiteLLM](https://github.com/BerriAI/litellm) | [Portkey](https://github.com/Portkey-AI/gateway) | [RouteLLM](https://github.com/lm-sys/RouteLLM) | [OpenRouter](https://openrouter.ai) |
|
|
171
189
|
|---------|:----------:|:-------:|:-------:|:-------:|:-------:|
|
|
172
|
-
|
|
|
173
|
-
|
|
|
174
|
-
|
|
|
175
|
-
|
|
|
176
|
-
|
|
|
177
|
-
|
|
|
178
|
-
|
|
|
179
|
-
|
|
|
180
|
-
|
|
|
181
|
-
|
|
|
182
|
-
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
| **Price** | **Free** | **Free + Paid** | **Free + Paid** | **Free** | **Usage-based** |
|
|
186
|
-
|
|
187
|
-
### Other projects worth watching
|
|
188
|
-
|
|
189
|
-
- [9router](https://github.com/decolua/9router) (12K ⭐) — Free AI coding router for Claude Code / Cursor / Copilot
|
|
190
|
-
- [ClawRouter](https://github.com/BlockRunAI/ClawRouter) (6.5K ⭐) — Agent-native LLM router with USDC payments
|
|
191
|
-
- [Plano](https://github.com/katanemo/plano) (6.5K ⭐) — AI-native proxy in Rust, built-in orchestration
|
|
192
|
-
- [Helicone](https://github.com/Helicone/helicone) (5.7K ⭐) — LLM observability platform (logging/analytics)
|
|
193
|
-
- [semantic-router](https://github.com/vllm-project/semantic-router) (4.2K ⭐) — System-level router for MoM at datacenter scale
|
|
190
|
+
| Stars | 0 | 47K | 12K | 4.9K | API |
|
|
191
|
+
| Language | Node.js | Python | TypeScript | Python | API |
|
|
192
|
+
| Routing benchmarks | **Published** | None | None | Published | None |
|
|
193
|
+
| Adaptive memory | Yes | No | No | No | No |
|
|
194
|
+
| Zero-config proxy | Yes | No | No | No | No |
|
|
195
|
+
| Cost guardrails | Yes | Partial | No | No | No |
|
|
196
|
+
| Semantic cache | Yes | Yes | Yes | No | No |
|
|
197
|
+
| Guardrails | Yes | Yes | Yes | No | No |
|
|
198
|
+
| Dashboard | Yes | Yes | Yes | No | Yes |
|
|
199
|
+
| Self-hosted | Yes | Yes | Yes | Yes | No |
|
|
200
|
+
| License | MIT | Custom | MIT | Apache 2.0 | Proprietary |
|
|
201
|
+
|
|
202
|
+
Also watch: [9router](https://github.com/decolua/9router), [ClawRouter](https://github.com/BlockRunAI/ClawRouter), [Plano](https://github.com/katanemo/plano), [semantic-router](https://github.com/vllm-project/semantic-router)
|
|
194
203
|
|
|
195
204
|
---
|
|
196
205
|
|
|
197
|
-
##
|
|
206
|
+
## What Sucks
|
|
198
207
|
|
|
199
|
-
|
|
200
|
-
- You need 250+ provider integrations (use Portkey or LiteLLM)
|
|
201
|
-
- You're building a simple prototype with <100 queries/day
|
|
202
|
-
- You need enterprise SLAs and support contracts
|
|
208
|
+
Honest problems. Not spin.
|
|
203
209
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
## Benchmarks
|
|
210
|
+
**Expert query detection is weak.** 75% of expert queries get routed to cheap/mid tiers. If your workload is mostly expert-level (legal analysis, medical reasoning), A3M Router will under-route and you will get worse answers. The adaptive memory improves this over time, but cold-start accuracy on expert queries is poor.
|
|
207
211
|
|
|
208
|
-
|
|
212
|
+
**24% exact-tier accuracy.** The 82.5% figure is ±1 tier. Exact match is 24%. The router is good at "roughly right," not "precisely right." For cost optimization this is acceptable. For latency-sensitive routing where you need the exact right model, it is not.
|
|
209
213
|
|
|
210
|
-
|
|
211
|
-
╔═══════════════════════════════════════════════════════════╗
|
|
212
|
-
║ A3M Router — Classification Benchmark Results ║
|
|
213
|
-
╚═══════════════════════════════════════════════════════════╝
|
|
214
|
-
|
|
215
|
-
Queries: 200 (50 simple, 60 medium, 50 complex, 40 expert)
|
|
216
|
-
Exact tier match: 24.0%
|
|
217
|
-
±1 Tier accuracy: 82.5% ← the meaningful metric
|
|
218
|
-
Cost savings vs premium: 63.7%
|
|
219
|
-
Over-routing (wasteful): 36.5%
|
|
220
|
-
Under-routing (risky): 39.5%
|
|
221
|
-
|
|
222
|
-
Confusion Matrix:
|
|
223
|
-
→ free → cheap → mid → premium
|
|
224
|
-
simple 0 46 4 0
|
|
225
|
-
medium 0 39✓ 20 1
|
|
226
|
-
complex 0 42 6✓ 2
|
|
227
|
-
expert 0 30 7 3✓
|
|
228
|
-
```
|
|
214
|
+
**Keyword-based, not semantic.** The classifier uses keyword matching and heuristics, not embeddings. It cannot understand query intent beyond surface-level patterns. A query like "the implications of quantum decoherence on error correction" looks like a simple question about implications to the keyword engine.
|
|
229
215
|
|
|
230
|
-
**
|
|
216
|
+
**0 stars, 3 days old.** No community. No enterprise support. No SLA. The npm download spike could be bots. The code has not been audited. Use in production at your own risk.
|
|
231
217
|
|
|
232
|
-
|
|
218
|
+
**Node.js only (for now).** If your stack is Python-only, the proxy mode works fine. But the library API is JavaScript. A Python SDK is planned but does not exist.
|
|
233
219
|
|
|
234
|
-
|
|
235
|
-
```bash
|
|
236
|
-
node scripts/routing-benchmark-v2.js
|
|
237
|
-
```
|
|
220
|
+
**Not a replacement for LiteLLM.** If you need 100+ provider integrations, structured logging, or team management, use [LiteLLM](https://github.com/BerriAI/litellm). A3M Router does one thing: route queries to the cheapest capable model.
|
|
238
221
|
|
|
239
222
|
---
|
|
240
223
|
|
|
241
|
-
##
|
|
224
|
+
## When NOT to Use This
|
|
242
225
|
|
|
243
|
-
-
|
|
244
|
-
-
|
|
245
|
-
-
|
|
246
|
-
-
|
|
226
|
+
- You only use one provider
|
|
227
|
+
- Your workload is >80% expert-level queries
|
|
228
|
+
- You need enterprise SLAs
|
|
229
|
+
- You need 250+ provider integrations (use [Portkey](https://github.com/Portkey-AI/gateway))
|
|
230
|
+
- You are building a prototype with <100 queries/day
|
|
247
231
|
|
|
248
232
|
---
|
|
249
233
|
|
|
234
|
+
## Links
|
|
235
|
+
|
|
236
|
+
- [NPM](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
|
|
237
|
+
- [GitHub](https://github.com/Das-rebel/adaptive-memory-multi-model-router)
|
|
238
|
+
- [Playground](https://codesandbox.io/p/sandbox/github/Das-rebel/adaptive-memory-multi-model-router/tree/main/playground)
|
|
239
|
+
- [Discussions](https://github.com/Das-rebel/adaptive-memory-multi-model-router/discussions)
|
|
240
|
+
|
|
250
241
|
## Contributing
|
|
251
242
|
|
|
252
|
-
See [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
243
|
+
PRs welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) and [good first issues](https://github.com/Das-rebel/adaptive-memory-multi-model-router/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).
|
|
253
244
|
|
|
254
245
|
MIT License. No vendor lock-in. No account required. `npm install` and go.
|