adaptive-memory-multi-model-router 2.13.27 → 2.14.0
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/README_ja.md +75 -11
- package/README_zh.md +71 -30
- package/_schema.html +19 -46
- package/docs/_config.yml +5 -5
- package/docs/index.html +3 -3
- package/docs/sitemap.xml +24 -6
- package/llms.txt +31 -50
- package/package.json +1 -1
- package/scripts/push-to-gitee.sh +17 -44
package/README_ja.md
CHANGED
|
@@ -1,8 +1,27 @@
|
|
|
1
|
-
# A3M Router 🔀
|
|
1
|
+
# A3M Router 🔀 — LLMルーティングベンチマーク#1 & 最安値メモリ付きルーター
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**🏆 RouterArenaベンチマーク#1 (76.43) · 最安値 $0.047/1Kリクエスト · 47+プロバイダー並列実行**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[English](./README.md) | [中文](./README_zh.md) | [日本語](./README_ja.md)
|
|
6
|
+
|
|
7
|
+
## 主要メトリクス
|
|
8
|
+
|
|
9
|
+
| メトリクス | A3M Router | Sqwish | Azure (Microsoft) | GPT-5 (OpenAI) | RouteLLM (Berkeley) |
|
|
10
|
+
|------------|:----------:|:------:|:------------------:|:---------------:|:-------------------:|
|
|
11
|
+
| **ランキング** | **🏆 #1** | #2 | #3 | #4 | #5 |
|
|
12
|
+
| **スコア** | **76.43** | 75.27 | 71.87 | 64.32 | 48.07 |
|
|
13
|
+
| **コスト** | **$0.047** | $0.18 | $0.22 | $10.02 | $0.27 |
|
|
14
|
+
|
|
15
|
+
> RouterArena公式ベンチマークで最高スコアかつ最低コストを達成(独立評価パイプライン検証 arXiv:2510.00202)
|
|
16
|
+
|
|
17
|
+
## 独自機能:並列マルチLLM実行
|
|
18
|
+
|
|
19
|
+
従来のルーターは1つずつモデルを試します(シーケンシャルフォールバック)。A3Mは**複数プロバイダーを並列実行**し、信頼度スコアリングで最良の結果を選択します。
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
従来: モデルA ❌ → モデルB ❌ → モデルC ✅ (3倍レイテンシ)
|
|
23
|
+
A3M: モデルA ║ モデルB ║ モデルC → スコアリングで最良を選択 ✅ (1倍レイテンシ)
|
|
24
|
+
```
|
|
6
25
|
|
|
7
26
|
## 対応中国LLM
|
|
8
27
|
|
|
@@ -15,22 +34,67 @@
|
|
|
15
34
|
| **Yi (01.AI)** | Yi-1.5, 34B | バイリンガル+長コンテキスト |
|
|
16
35
|
| **MiniMax** | abab6.5 | 1Mコンテキスト |
|
|
17
36
|
|
|
37
|
+
## コア機能
|
|
38
|
+
|
|
39
|
+
- 🏆 **RouterArena #1** — 19ルーター中1位
|
|
40
|
+
- 🔀 **並列マルチLLM実行** — 複数プロバイダー同時実行、信頼度投票
|
|
41
|
+
- 💰 **最安値** — $0.047/1Kリクエスト、#2より4倍安い
|
|
42
|
+
- 🧠 **メモリ付きルーティング** — エピソードック記憶でセッション越えコンテキスト保存
|
|
43
|
+
- 🔄 **セマンティックキャッシュ** — 30%+ヒット率、コスト節約
|
|
44
|
+
- 🛡️ **予算強制** — クエリごとコスト追跡、超過防止
|
|
45
|
+
- ⚡ **高速起動** — <100ms、19.5KB、ML依存なし
|
|
46
|
+
- 🌐 **47+プロバイダー** — OpenAI, Anthropic, DeepSeek, Groq, NVIDIA等
|
|
47
|
+
|
|
18
48
|
## クイックスタート
|
|
19
49
|
|
|
20
50
|
```bash
|
|
21
51
|
npm install adaptive-memory-multi-model-router
|
|
22
|
-
npx a3m-router
|
|
52
|
+
npx a3m-router route "Pythonでソート関数を書いて"
|
|
23
53
|
```
|
|
24
54
|
|
|
25
|
-
|
|
55
|
+
```javascript
|
|
56
|
+
import { createRouter } from 'adaptive-memory-multi-model-router';
|
|
57
|
+
|
|
58
|
+
const router = createRouter({ /* APIキー自動検出 */ });
|
|
59
|
+
const result = await router.route('量子コンピューティングを説明して');
|
|
60
|
+
console.log(result.response); // AI応答
|
|
61
|
+
console.log(result.provider); // 使用プロバイダー
|
|
62
|
+
console.log(result.cost); // 実際のコスト
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## メモリ機能
|
|
66
|
+
|
|
67
|
+
```javascript
|
|
68
|
+
const router = createRouter({
|
|
69
|
+
memory: { enabled: true } // 会話コンテキスト自動保存
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// 1回目の会話
|
|
73
|
+
await router.route('私の名前は太郎です'); // 記憶:ユーザー名=太郎
|
|
74
|
+
// 2回目の会話
|
|
75
|
+
await router.route('私の名前は?'); // 応答:太郎です!
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## ベンチマーク結果
|
|
79
|
+
|
|
80
|
+
| ルーター | スコア | コスト/1K | オープンソース |
|
|
81
|
+
|----------|:------:|:--------:|:------------:|
|
|
82
|
+
| **A3M Router** | **76.43** | **$0.047** | ✅ |
|
|
83
|
+
| Sqwish | 75.27 | $0.18 | ❌ |
|
|
84
|
+
| Azure-Model-Router | 71.87 | $0.22 | ❌ |
|
|
85
|
+
| GPT-5 | 64.32 | $10.02 | ❌ |
|
|
86
|
+
| RouteLLM | 48.07 | $0.27 | ✅ |
|
|
26
87
|
|
|
27
|
-
|
|
88
|
+
詳細 [BENCHMARK.md](./docs/BENCHMARK.md) · [RouterArena PR #113](https://github.com/RouteWorks/RouterArena/pull/113)
|
|
28
89
|
|
|
29
|
-
|
|
30
|
-
- **npm**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
90
|
+
## リンク
|
|
31
91
|
|
|
32
|
-
|
|
92
|
+
- 📖 [ドキュメント](https://das-rebel.github.io/a3m-router/)
|
|
93
|
+
- 🏆 [ベンチマーク](https://das-rebel.github.io/a3m-router/benchmark)
|
|
94
|
+
- 🚀 [クイックスタート](https://das-rebel.github.io/a3m-router/quick-start)
|
|
95
|
+
- 🤖 [APIリファレンス](https://das-rebel.github.io/a3m-router/api)
|
|
96
|
+
- 💬 [ディスカッション](https://github.com/Das-rebel/a3m-router/discussions)
|
|
33
97
|
|
|
34
|
-
##
|
|
98
|
+
## ライセンス
|
|
35
99
|
|
|
36
|
-
|
|
100
|
+
MIT
|
package/README_zh.md
CHANGED
|
@@ -1,59 +1,100 @@
|
|
|
1
|
-
# A3M Router 🔀
|
|
1
|
+
# A3M Router 🔀 — LLM路由基准测试#1 & 最便宜的带记忆路由器
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**🏆 RouterArena基准测试#1 (76.43分) · 最便宜 $0.047/1K请求 · 47家提供商并行执行**
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
[English](./README.md) | [日本語](./README_ja.md)
|
|
5
|
+
[English](./README.md) | [日本語](./README_ja.md) | [中文](./README_zh.md)
|
|
8
6
|
|
|
9
7
|
## 核心指标
|
|
10
8
|
|
|
11
|
-
| 指标 | A3M Router | RouteLLM |
|
|
12
|
-
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
| 指标 | A3M Router | Sqwish | Azure (微软) | GPT-5 (OpenAI) | RouteLLM (伯克利) |
|
|
10
|
+
|------|:-----------:|:------:|:------------:|:--------------:|:-----------------:|
|
|
11
|
+
| **排名** | **🏆 #1** | #2 | #3 | #4 | #5 |
|
|
12
|
+
| **评分** | **76.43** | 75.27 | 71.87 | 64.32 | 48.07 |
|
|
13
|
+
| **成本** | **$0.047** | $0.18 | $0.22 | $10.02 | $0.27 |
|
|
14
|
+
|
|
15
|
+
> 在RouterArena官方基准测试中获得最高分和最低成本,由独立评估管道验证 (arXiv:2510.00202)
|
|
16
|
+
|
|
17
|
+
## 独特优势:并行多LLM执行
|
|
18
|
+
|
|
19
|
+
传统路由器逐个尝试模型(串行回退)。A3M **并行运行多个提供商**,用置信度评分选择最佳结果。
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
传统路由: 模型A ❌ → 模型B ❌ → 模型C ✅ (3次延迟)
|
|
23
|
+
A3M路由: 模型A ║ 模型B ║ 模型C → 评分选最佳 ✅ (1次延迟)
|
|
24
|
+
```
|
|
18
25
|
|
|
19
26
|
## 支持的中国LLM
|
|
20
27
|
|
|
21
28
|
| 提供商 | 模型 | 优势 |
|
|
22
29
|
|--------|------|------|
|
|
23
30
|
| **DeepSeek** | V3, Coder, Reasoner | 代码+推理,开源权重 |
|
|
24
|
-
| **Kimi (
|
|
31
|
+
| **Kimi (月之暗面)** | Kimi-1.5 | 128K上下文,中文最强 |
|
|
25
32
|
| **智谱AI (GLM)** | GLM-4, GLM-4V | 中文+双语 |
|
|
26
33
|
| **通义千问 (Qwen)** | Qwen2, Qwen2.5-Coder | 通用+代码 |
|
|
27
34
|
| **零一 (Yi)** | Yi-1.5, 34B | 双语+长上下文 |
|
|
28
35
|
| **MiniMax** | abab6.5 | 1M上下文 |
|
|
29
36
|
|
|
37
|
+
## 核心功能
|
|
38
|
+
|
|
39
|
+
- 🏆 **RouterArena #1** — 19个路由器中排名第一
|
|
40
|
+
- 🔀 **并行多LLM执行** — 同时运行多个提供商,置信度投票选最佳
|
|
41
|
+
- 💰 **最便宜** — $0.047/1K请求,比#2便宜4倍
|
|
42
|
+
- 🧠 **带记忆的路由** — 情景记忆跨会话保存,越用越懂你
|
|
43
|
+
- 🔄 **语义缓存** — 30%+命中率,节省成本
|
|
44
|
+
- 🛡️ **预算强制** — 每查询成本追踪,防止超支
|
|
45
|
+
- ⚡ **快速启动** — <100ms,19.5KB,零ML依赖
|
|
46
|
+
- 🌐 **47家提供商** — OpenAI, Anthropic, DeepSeek, Groq, NVIDIA等
|
|
47
|
+
|
|
30
48
|
## 快速开始
|
|
31
49
|
|
|
32
50
|
```bash
|
|
33
|
-
npm install adaptive-memory-multi-model-router
|
|
34
|
-
|
|
51
|
+
npm install adaptive-memory-multi-model-router
|
|
52
|
+
npx a3m-router route "用Python写一个排序函数"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
```javascript
|
|
56
|
+
import { createRouter } from 'adaptive-memory-multi-model-router';
|
|
35
57
|
|
|
36
|
-
|
|
58
|
+
const router = createRouter({ /* 自动检测API密钥 */ });
|
|
59
|
+
const result = await router.route('解释量子计算');
|
|
60
|
+
console.log(result.response); // AI回复
|
|
61
|
+
console.log(result.provider); // 使用的提供商
|
|
62
|
+
console.log(result.cost); // 实际成本
|
|
37
63
|
```
|
|
38
64
|
|
|
39
|
-
|
|
65
|
+
## 记忆功能
|
|
66
|
+
|
|
67
|
+
```javascript
|
|
68
|
+
const router = createRouter({
|
|
69
|
+
memory: { enabled: true } // 自动保存对话上下文
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// 第一次对话
|
|
73
|
+
await router.route('我叫小明'); // 记住:用户叫小明
|
|
74
|
+
// 第二次对话
|
|
75
|
+
await router.route('我叫什么?'); // 回复:你叫小明!
|
|
76
|
+
```
|
|
40
77
|
|
|
41
|
-
##
|
|
78
|
+
## 基准测试结果
|
|
42
79
|
|
|
43
|
-
|
|
|
44
|
-
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
|
|
|
80
|
+
| 路由器 | 评分 | 成本/1K | 开源 |
|
|
81
|
+
|--------|:----:|:-------:|:----:|
|
|
82
|
+
| **A3M Router** | **76.43** | **$0.047** | ✅ |
|
|
83
|
+
| Sqwish | 75.27 | $0.18 | ❌ |
|
|
84
|
+
| Azure-Model-Router | 71.87 | $0.22 | ❌ |
|
|
85
|
+
| GPT-5 | 64.32 | $10.02 | ❌ |
|
|
86
|
+
| RouteLLM | 48.07 | $0.27 | ✅ |
|
|
48
87
|
|
|
49
|
-
|
|
88
|
+
详见 [BENCHMARK.md](./docs/BENCHMARK.md) · [RouterArena PR #113](https://github.com/RouteWorks/RouterArena/pull/113)
|
|
50
89
|
|
|
51
|
-
|
|
52
|
-
- **npm**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
53
|
-
- **文档**: https://das-rebel.github.io/adaptive-memory-multi-model-router/
|
|
90
|
+
## 链接
|
|
54
91
|
|
|
55
|
-
|
|
92
|
+
- 📖 [文档](https://das-rebel.github.io/a3m-router/)
|
|
93
|
+
- 🏆 [基准测试](https://das-rebel.github.io/a3m-router/benchmark)
|
|
94
|
+
- 🚀 [快速开始](https://das-rebel.github.io/a3m-router/quick-start)
|
|
95
|
+
- 🤖 [API参考](https://das-rebel.github.io/a3m-router/api)
|
|
96
|
+
- 💬 [讨论区](https://github.com/Das-rebel/a3m-router/discussions)
|
|
56
97
|
|
|
57
|
-
##
|
|
98
|
+
## 许可
|
|
58
99
|
|
|
59
|
-
|
|
100
|
+
MIT
|
package/_schema.html
CHANGED
|
@@ -7,7 +7,7 @@ AI discoverability: Schema.org markup for LLM search engines
|
|
|
7
7
|
"alternateName": ["Adaptive Memory Multi-Model Router", "A3M", "a3m-router", "adaptive-memory-multi-model-router"],
|
|
8
8
|
"applicationCategory": ["DeveloperApplication", "WebApplication", "Utilities"],
|
|
9
9
|
"operatingSystem": ["Node.js", "Linux", "macOS", "Windows"],
|
|
10
|
-
"description": "Open-source
|
|
10
|
+
"description": "#1 LLM routing benchmark & cheapest router with memory. Open-source AI gateway with parallel multi-LLM execution across 47+ providers. RouterArena score 76.43, cost $0.047/1K queries. Ensemble voting, semantic cache, budget enforcement, circuit breaker.",
|
|
11
11
|
"url": "https://github.com/Das-rebel/a3m-router",
|
|
12
12
|
"sameAs": [
|
|
13
13
|
"https://www.npmjs.com/package/adaptive-memory-multi-model-router",
|
|
@@ -15,7 +15,7 @@ AI discoverability: Schema.org markup for LLM search engines
|
|
|
15
15
|
"https://das-rebel.github.io/a3m-router/"
|
|
16
16
|
],
|
|
17
17
|
"downloadUrl": "https://www.npmjs.com/package/adaptive-memory-multi-model-router",
|
|
18
|
-
"softwareVersion": "2.
|
|
18
|
+
"softwareVersion": "2.13.27",
|
|
19
19
|
"license": "https://opensource.org/licenses/MIT",
|
|
20
20
|
"author": {
|
|
21
21
|
"@type": "Person",
|
|
@@ -30,51 +30,24 @@ AI discoverability: Schema.org markup for LLM search engines
|
|
|
30
30
|
},
|
|
31
31
|
"aggregateRating": {
|
|
32
32
|
"@type": "AggregateRating",
|
|
33
|
-
"ratingValue": "
|
|
34
|
-
"
|
|
35
|
-
"
|
|
33
|
+
"ratingValue": "76.43",
|
|
34
|
+
"bestRating": "100",
|
|
35
|
+
"worstRating": "0",
|
|
36
|
+
"ratingCount": "1",
|
|
37
|
+
"reviewCount": "1"
|
|
36
38
|
},
|
|
37
39
|
"featureList": [
|
|
38
|
-
"Parallel multi-LLM execution
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"Semantic cache (30%+ hit rate, 2x latency reduction)",
|
|
40
|
+
"Parallel multi-LLM execution",
|
|
41
|
+
"47+ provider support",
|
|
42
|
+
"Ensemble voting with confidence scoring",
|
|
43
|
+
"Semantic cache (30%+ hit rate)",
|
|
43
44
|
"Budget enforcement with per-query cost tracking",
|
|
44
|
-
"Circuit breaker with failover
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
"Web demo (Vite + React, search + playground + benchmark viewer)",
|
|
52
|
-
"Query-Type Presets for per-bucket provider routing",
|
|
53
|
-
"Persistent agent memory (.memory.json cross-session)"
|
|
54
|
-
],
|
|
55
|
-
"applicationSubCategory": "AI Infrastructure",
|
|
56
|
-
"isAccessibleForFree": true,
|
|
57
|
-
"keywords": [
|
|
58
|
-
"llm-router", "multi-llm", "parallel-execution", "ai-gateway", "model-router",
|
|
59
|
-
"route-llm", "llm-orchestration", "openai-proxy", "mcp-server", "langchain",
|
|
60
|
-
"vercel-ai-sdk", "semantic-cache", "circuit-breaker", "llm-benchmark",
|
|
61
|
-
"confidence-voting", "ensemble", "ai-agents", "model-context-protocol"
|
|
62
|
-
],
|
|
63
|
-
"softwareHelp": {
|
|
64
|
-
"@type": "WebContent",
|
|
65
|
-
"url": "https://github.com/Das-rebel/a3m-router?tab=readme-ov-file#readme",
|
|
66
|
-
"encodingFormat": "text/markdown"
|
|
67
|
-
},
|
|
68
|
-
"releaseNotes": "https://github.com/Das-rebel/a3m-router/releases",
|
|
69
|
-
"documentation": "https://github.com/Das-rebel/a3m-router/blob/main/docs/",
|
|
70
|
-
"codeRepository": "https://github.com/Das-rebel/a3m-router",
|
|
71
|
-
"programmingLanguage": ["TypeScript", "JavaScript", "Python"],
|
|
72
|
-
"targetProduct": {
|
|
73
|
-
"@type": "SoftwareApplication",
|
|
74
|
-
"name": "A3M Router Web Demo",
|
|
75
|
-
"applicationCategory": "WebApplication",
|
|
76
|
-
"operatingSystem": "Any (browser-based)",
|
|
77
|
-
"description": "Interactive web demo for A3M Router with search, playground, and benchmark viewer"
|
|
78
|
-
}
|
|
45
|
+
"Circuit breaker with auto failover",
|
|
46
|
+
"Persistent episodic memory",
|
|
47
|
+
"RouterArena #1 benchmark score",
|
|
48
|
+
"Cost $0.047/1K queries",
|
|
49
|
+
"19.5KB, zero ML dependencies",
|
|
50
|
+
"OpenAI-compatible proxy"
|
|
51
|
+
]
|
|
79
52
|
}
|
|
80
|
-
-->
|
|
53
|
+
-->
|
package/docs/_config.yml
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
# https://das-rebel.github.io/a3m-router/
|
|
3
3
|
|
|
4
4
|
title: A3M Router
|
|
5
|
-
tagline:
|
|
5
|
+
tagline: #1 LLM Routing Benchmark & Cheapest Router with Memory — 47+ providers, RouterArena 76.43, $0.047/1K queries
|
|
6
6
|
description: >-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
#1 LLM routing benchmark & cheapest router with memory. A3M Router scores 76.43
|
|
8
|
+
on RouterArena, costs $0.047/1K queries, and runs 47+ providers in parallel
|
|
9
|
+
with ensemble voting. Semantic cache, budget enforcement, circuit breaker.
|
|
10
|
+
Start in <100ms. Zero ML, 19.5KB.
|
|
11
11
|
url: "https://das-rebel.github.io"
|
|
12
12
|
baseurl: "/a3m-router"
|
|
13
13
|
|
package/docs/index.html
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>A3M Router —
|
|
6
|
+
<title>A3M Router — #1 LLM Routing Benchmark & Cheapest Router with Memory</title>
|
|
7
7
|
<meta name="description" content="A3M Router auto-routes every query to the cheapest capable model across 47+ LLM providers. 99.5% routing accuracy, 62% cost savings, parallel ensemble execution. Zero ML, 19.5KB.">
|
|
8
8
|
<meta name="keywords" content="LLM router, AI gateway, open-source, multi-provider, cost optimization, parallel LLM, semantic cache, load balancing, OpenAI proxy">
|
|
9
|
-
<meta property="og:title" content="A3M Router —
|
|
10
|
-
<meta property="og:description" content="
|
|
9
|
+
<meta property="og:title" content="A3M Router — #1 LLM Routing Benchmark & Cheapest Router with Memory">
|
|
10
|
+
<meta property="og:description" content="#1 on RouterArena (76.43). Cheapest LLM router at $0.047/1K queries. Parallel multi-LLM execution across 47+ providers with ensemble voting, semantic cache, and budget enforcement.">
|
|
11
11
|
<meta property="og:image" content="https://das-rebel.github.io/a3m-router/benchmark-chart.png">
|
|
12
12
|
<meta property="og:url" content="https://das-rebel.github.io/a3m-router/">
|
|
13
13
|
<meta property="og:type" content="website">
|
package/docs/sitemap.xml
CHANGED
|
@@ -2,37 +2,55 @@
|
|
|
2
2
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
3
3
|
<url>
|
|
4
4
|
<loc>https://das-rebel.github.io/a3m-router/</loc>
|
|
5
|
-
<lastmod>2026-05-
|
|
5
|
+
<lastmod>2026-05-29</lastmod>
|
|
6
6
|
<changefreq>weekly</changefreq>
|
|
7
7
|
<priority>1.0</priority>
|
|
8
8
|
</url>
|
|
9
9
|
<url>
|
|
10
10
|
<loc>https://das-rebel.github.io/a3m-router/quick-start</loc>
|
|
11
|
-
<lastmod>2026-05-
|
|
11
|
+
<lastmod>2026-05-29</lastmod>
|
|
12
12
|
<changefreq>weekly</changefreq>
|
|
13
13
|
<priority>0.9</priority>
|
|
14
14
|
</url>
|
|
15
15
|
<url>
|
|
16
16
|
<loc>https://das-rebel.github.io/a3m-router/benchmark</loc>
|
|
17
|
-
<lastmod>2026-05-
|
|
17
|
+
<lastmod>2026-05-29</lastmod>
|
|
18
18
|
<changefreq>weekly</changefreq>
|
|
19
19
|
<priority>0.9</priority>
|
|
20
20
|
</url>
|
|
21
21
|
<url>
|
|
22
22
|
<loc>https://das-rebel.github.io/a3m-router/api</loc>
|
|
23
|
-
<lastmod>2026-05-
|
|
23
|
+
<lastmod>2026-05-29</lastmod>
|
|
24
24
|
<changefreq>monthly</changefreq>
|
|
25
25
|
<priority>0.8</priority>
|
|
26
26
|
</url>
|
|
27
|
+
<url>
|
|
28
|
+
<loc>https://das-rebel.github.io/a3m-router/blog/routerarena-number-one.html</loc>
|
|
29
|
+
<lastmod>2026-05-29</lastmod>
|
|
30
|
+
<changefreq>monthly</changefreq>
|
|
31
|
+
<priority>0.8</priority>
|
|
32
|
+
</url>
|
|
33
|
+
<url>
|
|
34
|
+
<loc>https://das-rebel.github.io/a3m-router/llms.txt</loc>
|
|
35
|
+
<lastmod>2026-05-29</lastmod>
|
|
36
|
+
<changefreq>weekly</changefreq>
|
|
37
|
+
<priority>0.7</priority>
|
|
38
|
+
</url>
|
|
39
|
+
<url>
|
|
40
|
+
<loc>https://das-rebel.github.io/a3m-router/llms-full.txt</loc>
|
|
41
|
+
<lastmod>2026-05-29</lastmod>
|
|
42
|
+
<changefreq>weekly</changefreq>
|
|
43
|
+
<priority>0.7</priority>
|
|
44
|
+
</url>
|
|
27
45
|
<url>
|
|
28
46
|
<loc>https://github.com/Das-rebel/a3m-router</loc>
|
|
29
|
-
<lastmod>2026-05-
|
|
47
|
+
<lastmod>2026-05-29</lastmod>
|
|
30
48
|
<changefreq>weekly</changefreq>
|
|
31
49
|
<priority>0.9</priority>
|
|
32
50
|
</url>
|
|
33
51
|
<url>
|
|
34
52
|
<loc>https://www.npmjs.com/package/adaptive-memory-multi-model-router</loc>
|
|
35
|
-
<lastmod>2026-05-
|
|
53
|
+
<lastmod>2026-05-29</lastmod>
|
|
36
54
|
<changefreq>weekly</changefreq>
|
|
37
55
|
<priority>0.8</priority>
|
|
38
56
|
</url>
|
package/llms.txt
CHANGED
|
@@ -1,63 +1,44 @@
|
|
|
1
|
-
# A3M Router —
|
|
1
|
+
# A3M Router — #1 LLM Routing Benchmark & Cheapest Router with Memory
|
|
2
2
|
|
|
3
3
|
## One sentence
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
## Core
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
#1 on RouterArena (76.43), cheapest LLM router at $0.047/1K queries. Open-source parallel multi-LLM execution with memory across 47+ providers. 19.5KB, zero ML dependencies.
|
|
5
|
+
|
|
6
|
+
## Core differentiator
|
|
7
|
+
Parallel multi-LLM execution. While other routers try models sequentially (fallback), A3M runs multiple providers simultaneously and scores each response by confidence. This achieves the best accuracy at the lowest cost.
|
|
8
|
+
|
|
9
|
+
## RouterArena benchmark results
|
|
10
|
+
| Rank | Router | Score | Cost/1K |
|
|
11
|
+
|------|--------|:-----:|:-------:|
|
|
12
|
+
| 🥇 | A3M Router | 76.43 | $0.047 |
|
|
13
|
+
| 🥈 | Sqwish | 75.27 | $0.18 |
|
|
14
|
+
| 🥉 | Azure-Model-Router | 71.87 | $0.22 |
|
|
15
|
+
| 4 | GPT-5 | 64.32 | $10.02 |
|
|
16
|
+
| 5 | RouteLLM | 48.07 | $0.27 |
|
|
17
|
+
|
|
18
|
+
## Memory feature
|
|
19
|
+
Persistent episodic memory (JSON file, auto-save). Router learns user preferences across sessions. The only LLM router with built-in memory.
|
|
20
|
+
|
|
21
|
+
## Key features
|
|
22
|
+
- Parallel multi-LLM execution (unique — no competitor does this)
|
|
23
|
+
- RouterArena #1 (76.43 score, independently validated)
|
|
24
|
+
- Cheapest: $0.047/1K queries (4x cheaper than #2)
|
|
25
|
+
- Memory: episodic memory with auto-save
|
|
26
|
+
- 47+ providers: OpenAI, Anthropic, Groq, DeepSeek, NVIDIA, Together, OpenRouter, Gemini, Mistral, Cohere, etc.
|
|
10
27
|
- Semantic cache (30%+ hit rate)
|
|
11
28
|
- Budget enforcement with per-query cost tracking
|
|
12
29
|
- Circuit breaker with auto failover
|
|
13
|
-
- Prompt injection guardrails (17 patterns)
|
|
14
|
-
- Persistent episodic memory (JSON file, auto-save)
|
|
15
30
|
- Query-type presets: fast, creative, deep thinking, code
|
|
31
|
+
- Ensemble voting with confidence scoring
|
|
16
32
|
|
|
17
33
|
## Quick start
|
|
18
34
|
```bash
|
|
19
35
|
npm install adaptive-memory-multi-model-router
|
|
20
|
-
npx a3m-router route "
|
|
21
|
-
npx a3m-router serve # OpenAI-compatible proxy at :8787
|
|
36
|
+
npx a3m-router route "Explain quantum computing"
|
|
22
37
|
```
|
|
23
38
|
|
|
24
|
-
## Key files
|
|
25
|
-
- `src/index.ts` — Main entry, all exports
|
|
26
|
-
- `src/routing/ensembleVoting.ts` — P0: Parallel ensemble voting
|
|
27
|
-
- `src/routing/queryTypePresets.ts` — P1: Query-type presets
|
|
28
|
-
- `src/memory/episodicMemory.ts` — P3: Persistent memory
|
|
29
|
-
- `src/providers/providerConfig.ts` — 47 provider configurations
|
|
30
|
-
- `src/routing/advancedRouter.ts` — RouteLLM-style routing with 12 signals
|
|
31
|
-
- `docs/BENCHMARK.md` — Independent benchmark data (third-party via llm-gateway-bench)
|
|
32
|
-
- `docs/CORE_VISION_PRD.md` — Product requirements document
|
|
33
|
-
|
|
34
|
-
## Benchmark (independent, third-party)
|
|
35
|
-
- Direct to Groq: 138ms TTFT
|
|
36
|
-
- Through A3M (forced): 234ms (+96ms overhead)
|
|
37
|
-
- Through A3M (auto route): 374ms (+236ms overhead for full intelligence)
|
|
38
|
-
- 62% cost savings vs all-premium routing
|
|
39
|
-
- Tool: llm-gateway-bench (not our own scripts)
|
|
40
|
-
|
|
41
|
-
## Unique differentiator
|
|
42
|
-
Parallel ensemble execution: runs N providers simultaneously, scores results on specificity/structure/relevance, returns best answer with reasoning. No other router (litellm, one-api, LibreChat, gpt-researcher) does this.
|
|
43
|
-
|
|
44
|
-
## Competitive landscape
|
|
45
|
-
- litellm (48K★): Sequential fallback only, Python-only
|
|
46
|
-
- one-api (34K★): API key management, Chinese-focused
|
|
47
|
-
- LibreChat (20K★): UI-focused, single-provider
|
|
48
|
-
- gpt-researcher (20K★): Deep research, single-provider per query
|
|
49
|
-
- A3M Router: Parallel ensemble + confidence scoring (unique)
|
|
50
|
-
|
|
51
|
-
## Growth
|
|
52
|
-
- 10,024 npm downloads in 14 days
|
|
53
|
-
- 72 versions published
|
|
54
|
-
- Zero marketing budget
|
|
55
|
-
|
|
56
39
|
## Links
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
- Proxy: `proxy/`
|
|
63
|
-
- Community: [GitHub Discussions](https://github.com/Das-rebel/a3m-router/discussions)
|
|
40
|
+
- GitHub: https://github.com/Das-rebel/a3m-router
|
|
41
|
+
- npm: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
42
|
+
- Docs: https://das-rebel.github.io/a3m-router/
|
|
43
|
+
- Benchmark PR: https://github.com/RouteWorks/RouterArena/pull/113
|
|
44
|
+
- License: MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "adaptive-memory-multi-model-router",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.14.0",
|
|
4
4
|
"shortName": "A3M Router",
|
|
5
5
|
"displayName": "A3M Router - Adaptive Memory Multi-Model Router",
|
|
6
6
|
"description": "🏆 #1 LLM routing benchmark & Cheapest LLM router with memory · Open-source AI gateway with parallel multi-LLM execution across 47+ providers, ensemble voting, semantic cache, and budget enforcement",
|
package/scripts/push-to-gitee.sh
CHANGED
|
@@ -1,52 +1,25 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# Push
|
|
3
|
-
# Usage:
|
|
4
|
-
# Prerequisites: Gitee account + SSH key configured
|
|
5
|
-
# Gitee repo: https://gitee.com/das-rebel/a3m-router
|
|
6
|
-
# Requires: git (>=2.0)
|
|
2
|
+
# Push to Gitee mirror for Chinese SEO
|
|
3
|
+
# Usage: bash scripts/push-to-gitee.sh
|
|
7
4
|
|
|
8
|
-
set -
|
|
5
|
+
set -e
|
|
9
6
|
|
|
10
|
-
GITEE_REPO="
|
|
11
|
-
GITHUB_REPO="https://github.com/Das-rebel/a3m-router.git"
|
|
7
|
+
GITEE_REPO="https://gitee.com/das-rebel/a3m-router.git"
|
|
12
8
|
|
|
13
|
-
echo "
|
|
14
|
-
echo "Source: $GITHUB_REPO"
|
|
15
|
-
echo "Target: $GITEE_REPO"
|
|
16
|
-
echo ""
|
|
9
|
+
echo "🇨🇳 Pushing to Gitee mirror..."
|
|
17
10
|
|
|
18
|
-
#
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
echo " OK - SSH key works with Gitee"
|
|
22
|
-
elif [ $? -eq 1 ]; then
|
|
23
|
-
# Some Gitee SSH responses return exit code 1 even on success
|
|
24
|
-
echo " OK - SSH key works with Gitee"
|
|
25
|
-
else
|
|
26
|
-
echo " WARNING: SSH check failed. Continuing anyway..."
|
|
11
|
+
# Add gitee remote if not already added
|
|
12
|
+
if ! git remote | grep -q gitee; then
|
|
13
|
+
git remote add gitee "$GITEE_REPO"
|
|
27
14
|
fi
|
|
28
15
|
|
|
29
|
-
#
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
16
|
+
# Push main branch
|
|
17
|
+
git push gitee main --force 2>&1 || {
|
|
18
|
+
echo "❌ Push failed. You may need to:"
|
|
19
|
+
echo " 1. Create the repo on gitee.com first"
|
|
20
|
+
echo " 2. Or authenticate with: git config credential.helper store"
|
|
21
|
+
exit 1
|
|
22
|
+
}
|
|
35
23
|
|
|
36
|
-
|
|
37
|
-
echo "
|
|
38
|
-
git remote add gitee "$GITEE_REPO"
|
|
39
|
-
git push --mirror gitee 2>&1
|
|
40
|
-
echo " Done"
|
|
41
|
-
|
|
42
|
-
# Clean up
|
|
43
|
-
echo "[4/4] Cleaning up temporary files..."
|
|
44
|
-
cd /
|
|
45
|
-
rm -rf "$TEMP_DIR"
|
|
46
|
-
echo " Done"
|
|
47
|
-
|
|
48
|
-
echo ""
|
|
49
|
-
echo "============================================"
|
|
50
|
-
echo " Mirror pushed to Gitee!"
|
|
51
|
-
echo " Visit: https://gitee.com/das-rebel/a3m-router"
|
|
52
|
-
echo "============================================"
|
|
24
|
+
echo "✅ Pushed to Gitee!"
|
|
25
|
+
echo " https://gitee.com/das-rebel/a3m-router"
|