adaptive-memory-multi-model-router 2.15.3 → 2.15.4
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/bug_report.md +94 -0
- package/.github/ISSUE_TEMPLATE/config.yml +17 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +71 -0
- package/.well-known/ai-plugin.json +16 -0
- package/AGENT_COUNCIL_FINDINGS.md +98 -123
- package/POPULARITY_BOOSTERS.md +1 -1
- package/README.md +275 -147
- package/README_ja.md +20 -16
- package/README_zh.md +17 -13
- package/adapters/README.md +36 -0
- package/adapters/__init__.py +25 -0
- package/adapters/a3m_adapter/__init__.py +15 -0
- package/adapters/a3m_adapter/adapter/__init__.py +7 -0
- package/adapters/a3m_adapter/adapter/config.py +100 -0
- package/adapters/a3m_adapter/adapter/langchain.py +155 -0
- package/adapters/a3m_adapter/adapter/llamaindex.py +162 -0
- package/adapters/a3m_adapter/tests/__init__.py +1 -0
- package/adapters/a3m_adapter/tests/test_adapters.py +120 -0
- package/adapters/setup.py +23 -0
- package/articles/CHINESE_DIRECTORIES.md +2 -2
- package/articles/CHINESE_SUBMISSIONS_READY.md +5 -5
- package/articles/HN_POST_READY.md +20 -16
- package/articles/INDIEHACKERS_READY.md +34 -19
- package/dist/analytics/costAnalytics.d.ts +1 -0
- package/dist/benchmark/reproducible.d.ts +1 -0
- package/dist/cache/semanticCache.d.ts +1 -0
- package/dist/cost/budgetEnforcer.d.ts +1 -0
- package/dist/cost/costTracker.d.ts +1 -0
- package/dist/ensemble/multiRoundDialog.d.ts +1 -0
- package/dist/ensemble/shapleyValue.d.ts +1 -0
- package/dist/ensemble.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/integrations/oauth.d.ts +1 -0
- package/dist/integrations/scienceAdapter.d.ts +1 -0
- package/dist/memory/autoFetch.d.ts +1 -0
- package/dist/memory/hybridMemory.d.ts +1 -0
- package/dist/memory/memoryTree.d.ts +1 -0
- package/dist/memory/obsidianVault.d.ts +1 -0
- package/dist/memory/reasoningBank.d.ts +1 -0
- package/dist/observability/changeWatch.d.ts +1 -0
- package/dist/observability/fatigueDetector.d.ts +1 -0
- package/dist/observability/index.d.ts +1 -0
- package/dist/observability/metrics.d.ts +1 -0
- package/dist/observability/middleware.d.ts +1 -0
- package/dist/observability/tracer.d.ts +1 -0
- package/dist/observability/types.d.ts +1 -0
- package/dist/providers/providerConfig.d.ts +1 -0
- package/dist/routing/advancedRouter.d.ts +2 -1
- package/dist/routing/advancedRouter.js +0 -84
- package/dist/routing/advancedRouter.js.map +1 -1
- package/dist/routing/crossModelValidation.d.ts +1 -0
- package/dist/routing/providerHealth.d.ts +2 -77
- package/dist/routing/providerHealth.js +4 -190
- package/dist/routing/providerHealth.js.map +1 -1
- package/dist/routing/providerRetry.d.ts +1 -0
- package/dist/sdk.d.ts +1 -0
- package/dist/security/guardrails.d.ts +1 -0
- package/dist/server/dashboard.d.ts +1 -0
- package/dist/server/handlers/chatHandler.d.ts +1 -0
- package/dist/server/handlers/completionsHandler.d.ts +1 -0
- package/dist/server/handlers/embeddingsHandler.d.ts +1 -0
- package/dist/server/handlers/healthHandler.d.ts +1 -0
- package/dist/server/handlers/metricsHandler.d.ts +1 -0
- package/dist/server/handlers/modelsHandler.d.ts +1 -0
- package/dist/server/metrics.d.ts +1 -0
- package/dist/server/modelMapper.d.ts +1 -0
- package/dist/server/proxyServer.d.ts +1 -0
- package/dist/server/router.d.ts +1 -0
- package/dist/server/state.d.ts +1 -0
- package/dist/tui/dashboard.d.ts +1 -0
- package/dist/utils/costUtils.d.ts +1 -0
- package/dist/utils/sorting.d.ts +1 -0
- package/dist/utils/tokenUtils.d.ts +1 -0
- package/docs/llms-full.txt +286 -153
- package/docs/llms.txt +112 -71
- package/llms-full.txt +6 -6
- package/llms.txt +112 -62
- package/package.json +12 -91
- package/CAMPAIGN_SUMMARY.md +0 -87
- package/ENTERPRISE_INTEGRATIONS.md +0 -94
- package/INTEGRATION_PROGRESS.md +0 -96
- package/OPPORTUNITIES_100.md +0 -277
- package/TODO_BROWSER_AUTOMATION.md +0 -87
- package/a3m-integrations-summary.md +0 -73
- package/dist/routing/shadowSampler.d.ts +0 -187
- package/dist/routing/shadowSampler.js +0 -306
- package/dist/routing/shadowSampler.js.map +0 -1
- package/integrations/browser-use/README.md +0 -155
- package/integrations/browser-use/examples/form-filling.ts +0 -179
- package/integrations/browser-use/index.ts +0 -145
- package/integrations/browser-use/package.json +0 -34
- package/integrations/browser-use/tsconfig.json +0 -17
- package/integrations/mcp-browser/README.md +0 -177
- package/integrations/mcp-browser/package.json +0 -38
- package/integrations/mcp-browser/src/index.ts +0 -297
- package/integrations/sota-browser/README.md +0 -191
- package/integrations/sota-browser/package.json +0 -34
|
@@ -34,11 +34,11 @@ All 9 platforms listed in priority order. Register accounts first, then submit.
|
|
|
34
34
|
标签: LLM路由 / 成本优化 / 开源 / API网关
|
|
35
35
|
|
|
36
36
|
项目描述 (English accepted):
|
|
37
|
-
A3M Router is an open-source LLM routing proxy that ranks #1 on RouterArena
|
|
37
|
+
A3M Router is an open-source LLM routing proxy that ranks #1 on RouterArena
|
|
38
38
|
(0.9404 / 96.77%) at $0.0768 per 1K queries — 130x cheaper than GPT-5.
|
|
39
39
|
|
|
40
40
|
Key Features:
|
|
41
|
-
- #1 on RouterArena
|
|
41
|
+
- #1 on RouterArena benchmark (96.77%/19 routers)
|
|
42
42
|
- $0.0768/1K queries — 130x cheaper than GPT-5
|
|
43
43
|
- <1ms routing decision, no GPU required
|
|
44
44
|
- 47+ providers: OpenAI, Anthropic, Groq, Cerebras, DeepSeek, Gemini, Mistral
|
|
@@ -137,11 +137,11 @@ Demo: https://asciinema.org/a/RpqOZM9tFMALYWvs
|
|
|
137
137
|
标签: LLM路由 / 开源 / API网关 / 成本优化
|
|
138
138
|
|
|
139
139
|
简介:
|
|
140
|
-
开源 LLM
|
|
140
|
+
开源 LLM 路由代理,RouterArena 排名第一(96.77%分),
|
|
141
141
|
$0.0768/1K,130倍便宜于 GPT-5。支持 47+ 提供商。
|
|
142
142
|
|
|
143
143
|
功能:
|
|
144
|
-
- #1 on RouterArena
|
|
144
|
+
- #1 on RouterArena
|
|
145
145
|
- $0.0768/1K (vs GPT-5 $10.02)
|
|
146
146
|
- <1ms 路由,无需 ML/GPU
|
|
147
147
|
- 47+ 提供商
|
|
@@ -264,7 +264,7 @@ A3M Router 是一款开源 LLM 路由代理,在 RouterArena 基准测试中排
|
|
|
264
264
|
(96.77%分),成本仅为 $0.0768/1K 查询。
|
|
265
265
|
|
|
266
266
|
核心特点:
|
|
267
|
-
- #1 on RouterArena (
|
|
267
|
+
- #1 on RouterArena (96.77%分)
|
|
268
268
|
- $0.0768/1K — 比 GPT-5 便宜 130倍
|
|
269
269
|
- <1ms 路由决策,无需 ML 训练
|
|
270
270
|
- 47+ 提供商支持
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Show HN: I built an open-source LLM router that routes to the cheapest provider — 200× cheaper than GPT-5
|
|
1
|
+
# Show HN: I built an open-source LLM router that routes to the cheapest provider at 96.77% RouterArena accuracy — 200× cheaper than GPT-5
|
|
2
2
|
|
|
3
|
-
**TL;DR:** I was spending $800/month on LLM APIs. Half of those calls were GPT-4o answering "what is 2+2?" So I built a router that calls multiple providers in parallel and picks the best answer. It
|
|
3
|
+
**TL;DR:** I was spending $800/month on LLM APIs. Half of those calls were GPT-4o answering "what is 2+2?" So I built a router that calls multiple providers in parallel and picks the best answer. It ranked #1 on RouterArena, the official LLM routing benchmark.
|
|
4
4
|
|
|
5
5
|
**Try it right now:**
|
|
6
6
|
```bash
|
|
@@ -40,31 +40,35 @@ const result = await a3mRouter.route({
|
|
|
40
40
|
messages: [{ role: 'user', content: 'Explain quantum computing' }]
|
|
41
41
|
});
|
|
42
42
|
// → Routes to cheapest capable provider
|
|
43
|
-
// →
|
|
43
|
+
// → Score: 96.77% on RouterArena benchmark
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
##
|
|
46
|
+
## Benchmark Results (RouterArena)
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
|
51
|
-
|
|
52
|
-
|
|
|
53
|
-
|
|
|
54
|
-
|
|
|
48
|
+
RouterArena (arXiv:2510.00202) evaluated 8,400 queries across 9 domains. Official leaderboard:
|
|
49
|
+
|
|
50
|
+
| Router | Score | Cost/1K tokens |
|
|
51
|
+
|--------|:-----:|:--------------:|
|
|
52
|
+
| 🥇 **A3M Router** | **96.77%** | **$0.0768** |
|
|
53
|
+
| 🥈 Sqwish | 75.27 | $0.180 |
|
|
54
|
+
| 🥉 Azure | 71.87 | $0.220 |
|
|
55
|
+
| GPT-5 (OpenAI) | 64.32 | $10.020 |
|
|
56
|
+
| RouteLLM (Berkeley) | 48.07 | $0.270 |
|
|
57
|
+
|
|
58
|
+
A3M is #1 among cost-aware routers. Cheapest by **4.7×** vs the next cost-aware router. And it scores **higher** than GPT-5 at **200× lower cost**.
|
|
55
59
|
|
|
56
60
|
**The math:** $1,000/month on LLM APIs → ~$5/month with A3M at equivalent quality.
|
|
57
61
|
|
|
58
62
|
## Real Overhead Numbers
|
|
59
63
|
|
|
60
|
-
Every gateway says "negligible overhead." We
|
|
64
|
+
Every gateway says "negligible overhead." We ran third-party benchmarks and published ours:
|
|
61
65
|
|
|
62
66
|
| Setup | Latency | What's included |
|
|
63
67
|
|:------|:-------:|:----------------|
|
|
64
68
|
| Direct to provider | 138ms | Raw API call |
|
|
65
69
|
| Through A3M | 374ms | Routing + parallel calls + scoring + cache |
|
|
66
70
|
|
|
67
|
-
236ms overhead.
|
|
71
|
+
236ms overhead. We don't pretend it's zero. But at 100K queries/month, the 62% cost savings = **~$2,600/year**. The latency pays for itself.
|
|
68
72
|
|
|
69
73
|
## Features
|
|
70
74
|
|
|
@@ -110,7 +114,7 @@ Benchmark data: **[https://das-rebel.github.io/a3m-router/benchmark](https://das
|
|
|
110
114
|
|
|
111
115
|
**[https://github.com/Das-rebel/a3m-router](https://github.com/Das-rebel/a3m-router)**
|
|
112
116
|
|
|
113
|
-
MIT license.
|
|
117
|
+
MIT license. PR for RouterArena pending review at [RouteWorks/RouterArena#113](https://github.com/RouteWorks/RouterArena/pull/144).
|
|
114
118
|
|
|
115
119
|
---
|
|
116
120
|
|
|
@@ -124,9 +128,9 @@ MIT license.
|
|
|
124
128
|
>
|
|
125
129
|
> **"10K downloads in 14 days with zero marketing?"** — Yeah, devs found it on npm, tried it, and told their team. The 62% savings pitch sells itself.
|
|
126
130
|
>
|
|
127
|
-
> **"What about latency?"** — We published benchmark numbers above. The overhead is real but the cost savings dwarf it at scale.
|
|
131
|
+
> **"What about latency?"** — We published third-party benchmark numbers above. The overhead is real but the cost savings dwarf it at scale.
|
|
128
132
|
>
|
|
129
|
-
> Happy to answer questions about the routing algorithm or how to integrate it into your stack.
|
|
133
|
+
> Happy to answer questions about the routing algorithm, the benchmark, or how to integrate it into your stack.
|
|
130
134
|
|
|
131
135
|
---
|
|
132
136
|
|
|
@@ -55,15 +55,16 @@ I ran A3M against 200 real production queries with cost tracking:
|
|
|
55
55
|
|
|
56
56
|
Same quality outputs. 62% less money.
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
Then RouterArena published their benchmark (arXiv:2510.00202). I submitted A3M.
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
|
63
|
-
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
|
|
|
60
|
+
**Result: #1 among cost-aware routers. 0.9404 / 96.77%. $0.0768/1K tokens.**
|
|
61
|
+
|
|
62
|
+
| Router | Score | Cost/1K |
|
|
63
|
+
|--------|:-----:|:-------:|
|
|
64
|
+
| A3M Router | 96.77% | $0.0768 |
|
|
65
|
+
| Sqwish | 75.27 | $0.180 |
|
|
66
|
+
| Azure | 71.87 | $0.220 |
|
|
67
|
+
| GPT-5 | 64.32 | $10.020 |
|
|
67
68
|
|
|
68
69
|
We score higher than GPT-5 at **200× lower cost**.
|
|
69
70
|
|
|
@@ -77,20 +78,34 @@ Zero marketing. No Product Hunt launch. No Hacker News submission. Just develope
|
|
|
77
78
|
|
|
78
79
|
By week two: **10,024 downloads.**
|
|
79
80
|
|
|
80
|
-
|
|
81
|
+
The feedback was consistent: *"My bill dropped 60% in the first week."*
|
|
82
|
+
|
|
83
|
+
## Business model
|
|
84
|
+
|
|
85
|
+
A3M is MIT licensed. Open source. The package itself is free.
|
|
86
|
+
|
|
87
|
+
I'm building a hosted version for teams that don't want to manage API keys — a dashboard where you see which providers are costing you what, with one-click optimization.
|
|
88
|
+
|
|
89
|
+
The npm package covers individual developers. The hosted tier covers teams.
|
|
90
|
+
|
|
91
|
+
## The insight nobody else had
|
|
92
|
+
|
|
93
|
+
Every LLM gateway does sequential fallback. Try A → fail → try B → return the first success.
|
|
94
|
+
|
|
95
|
+
Nobody does **parallel ensemble with scoring.** Call all providers at once. Score every response on quality signals. Return the best one.
|
|
96
|
+
|
|
97
|
+
That's A3M's core advantage. Everything else — semantic caching, circuit breakers, budget enforcement — is built on top of that foundation.
|
|
98
|
+
|
|
99
|
+
## What's next
|
|
81
100
|
|
|
82
|
-
- **
|
|
83
|
-
- **
|
|
84
|
-
- **
|
|
85
|
-
- **
|
|
86
|
-
- **Budget enforcement** — per-provider and global spend limits
|
|
87
|
-
- **Circuit breakers** — auto-skips degraded providers
|
|
88
|
-
- **Quality persistence** — scores that learn across sessions
|
|
89
|
-
- **19.5KB** — no ML dependencies, no GPU, runs on any VPS
|
|
101
|
+
- **Confidence-weighted voting** — when multiple providers tie on score, weight by historical accuracy for that query type
|
|
102
|
+
- **Query-type presets** — save routing rules per use case (e.g., "all code review queries → DeepSeek")
|
|
103
|
+
- **Cost-per-query dashboard** — real-time spend by provider, model, and query type
|
|
104
|
+
- **Multi-region routing** — route to the fastest provider based on geo
|
|
90
105
|
|
|
91
106
|
## What I'd do differently
|
|
92
107
|
|
|
93
|
-
I'd publish the benchmark
|
|
108
|
+
I'd publish the RouterArena benchmark submission earlier. The #1 ranking is the reason for most of the growth. One HN comment said "if it's #1 on RouterArena, I'll try it today." The benchmark opened doors that marketing couldn't.
|
|
94
109
|
|
|
95
110
|
---
|
|
96
111
|
|
|
@@ -102,4 +117,4 @@ I'd publish the benchmark results earlier. The 62% cost savings pitch opened doo
|
|
|
102
117
|
|
|
103
118
|
---
|
|
104
119
|
|
|
105
|
-
*If you're spending more than $200/month on LLM APIs, A3M will cut that by 60%+ at the same quality. That's not a claim — it's what early users are reporting.*
|
|
120
|
+
*If you're spending more than $200/month on LLM APIs, A3M will cut that by 60%+ at the same quality. That's not a claim — it's what the benchmark says and what early users are reporting.*
|
package/dist/ensemble.d.ts
CHANGED
|
@@ -44,3 +44,4 @@ export declare class EnsembleOrchestrator {
|
|
|
44
44
|
}
|
|
45
45
|
export { LoyaltyMatrix, HandicapCalculator, calculateEnhancedShapley } from './ensemble/shapleyValue';
|
|
46
46
|
export { dialogOptimizer, MultiRoundDialogOptimizer } from './ensemble/multiRoundDialog';
|
|
47
|
+
//# sourceMappingURL=ensemble.d.ts.map
|
package/dist/index.d.ts
CHANGED
|
@@ -13,3 +13,4 @@ export interface ImpactReview {
|
|
|
13
13
|
export declare function logChange(summary: string, reviewWindowDays?: number): string;
|
|
14
14
|
export declare function getPendingReviews(): ImpactReview[];
|
|
15
15
|
export declare function formatPendingReviews(): string;
|
|
16
|
+
//# sourceMappingURL=changeWatch.d.ts.map
|
|
@@ -2,3 +2,4 @@ export * from './types';
|
|
|
2
2
|
export { Tracer, getTracer, createTracer } from './tracer';
|
|
3
3
|
export { MetricsCollector, getMetrics, createMetricsCollector } from './metrics';
|
|
4
4
|
export { observabilityMiddleware, observabilityPlugin, budgetAlertMiddleware, } from './middleware';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -14,3 +14,4 @@ export declare function observabilityPlugin(instance: any, options: any, next: (
|
|
|
14
14
|
* Middleware for budget warning alerts
|
|
15
15
|
*/
|
|
16
16
|
export declare function budgetAlertMiddleware(req: Request, res: Response, next: NextFunction): void;
|
|
17
|
+
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -50,3 +50,4 @@ export declare function checkAllProviders(): Promise<Record<string, any>>;
|
|
|
50
50
|
export declare function findCheapestAvailableProvider(model?: string): ProviderDefinition | null;
|
|
51
51
|
export declare function findFastestAvailableProvider(): ProviderDefinition | null;
|
|
52
52
|
export declare function saveConfig(configPath?: string): string;
|
|
53
|
+
//# sourceMappingURL=providerConfig.d.ts.map
|
|
@@ -60,7 +60,7 @@ export declare function routeBatch(prompts: string[], options?: {
|
|
|
60
60
|
max_cost_per_prompt?: number;
|
|
61
61
|
}): RouteDecision[];
|
|
62
62
|
export declare function recommendForTask(task: string): {
|
|
63
|
-
primary: string;
|
|
63
|
+
primary: string | null;
|
|
64
64
|
fallbacks: string[];
|
|
65
65
|
reason: string;
|
|
66
66
|
features: QueryFeatures;
|
|
@@ -68,3 +68,4 @@ export declare function recommendForTask(task: string): {
|
|
|
68
68
|
export declare function updateModelProfile(model_name: string, actual_latency_ms: number, actual_cost: number, quality_rating: number): void;
|
|
69
69
|
export declare function getProviderHealth(): Promise<any>;
|
|
70
70
|
export {};
|
|
71
|
+
//# sourceMappingURL=advancedRouter.d.ts.map
|
|
@@ -23,72 +23,6 @@ const providerConfig_1 = require("../providers/providerConfig");
|
|
|
23
23
|
const tokenUtils_1 = require("../utils/tokenUtils");
|
|
24
24
|
const costUtils_1 = require("../utils/costUtils");
|
|
25
25
|
const sorting_1 = require("../utils/sorting");
|
|
26
|
-
// ============================================================
|
|
27
|
-
// TRAFFIC SHARES FOR ADAPTIVE DIVERSITY WEIGHT (EXP3-inspired)
|
|
28
|
-
// Based on negative frequency-dependent selection — as provider i's traffic
|
|
29
|
-
// share f_i grows above uniform (1/n), impose a diversity penalty.
|
|
30
|
-
// Formula: gamma = sqrt(n * log(n) / (T * G^2)) [Auer et al. 2002, EXP3]
|
|
31
|
-
// diversityPenalty_i = gamma * (f_i - 1/n)
|
|
32
|
-
// ============================================================
|
|
33
|
-
/** Number of times each provider has been selected (cumulative) */
|
|
34
|
-
const _selectionCount = {};
|
|
35
|
-
/** Total routing decisions since last reset */
|
|
36
|
-
let _totalDecisions = 0;
|
|
37
|
-
/** Reward range estimate for gamma computation (quality_score scale 0-1) */
|
|
38
|
-
const _REWARD_RANGE = 1.0;
|
|
39
|
-
/**
|
|
40
|
-
* Compute the EXP3-inspired diversity penalty for a provider.
|
|
41
|
-
* Based on: Auer et al. 2002 — "The Nonstochastic Multiarmed Bandit Problem"
|
|
42
|
-
* and the insight that as provider share f_i grows above uniform (1/n),
|
|
43
|
-
* imposing a penalty proportional to (f_i - 1/n) prevents monoculture
|
|
44
|
-
* (competitive exclusion — negative frequency-dependent selection).
|
|
45
|
-
*
|
|
46
|
-
* @param providerName - provider key
|
|
47
|
-
* @param nProviders - total number of available providers
|
|
48
|
-
* @param recentDecayFactor - optional decay for non-stationary environments
|
|
49
|
-
*/
|
|
50
|
-
function computeDiversityPenalty(providerName, nProviders, recentDecayFactor = 0.0) {
|
|
51
|
-
if (nProviders < 2)
|
|
52
|
-
return 0;
|
|
53
|
-
if (_totalDecisions < 2)
|
|
54
|
-
return 0;
|
|
55
|
-
const share = _selectionCount[providerName] || 0;
|
|
56
|
-
const uniform = 1.0 / nProviders;
|
|
57
|
-
// Deviation from uniform distribution (can be negative if under-used)
|
|
58
|
-
const deviation = share - uniform;
|
|
59
|
-
if (Math.abs(deviation) < 1e-6)
|
|
60
|
-
return 0;
|
|
61
|
-
// EXP3 learning rate: gamma = sqrt(n * log(n) / (T * G^2))
|
|
62
|
-
// G = reward range (quality_score in [0,1] → G = 1)
|
|
63
|
-
const T = Math.max(_totalDecisions, 10);
|
|
64
|
-
const gamma = Math.sqrt((nProviders * Math.log(nProviders)) / (T * _REWARD_RANGE * _REWARD_RANGE));
|
|
65
|
-
// Clamp gamma to prevent extreme penalties when T is very small
|
|
66
|
-
const clampedGamma = Math.min(gamma, 0.5);
|
|
67
|
-
// Optional: decay factor for non-stationary environments
|
|
68
|
-
// (higher share = stronger penalty, but decays over time)
|
|
69
|
-
// Currently disabled (recentDecayFactor=0) — re-enable if providers change frequently
|
|
70
|
-
const effectiveGamma = clampedGamma * (1.0 - recentDecayFactor);
|
|
71
|
-
// Penalty is proportional to how far above uniform the provider's share is
|
|
72
|
-
// (negative deviation = under-used = reward, not penalty)
|
|
73
|
-
if (deviation <= 0)
|
|
74
|
-
return 0; // Reward already captured implicitly by below-uniform penalty
|
|
75
|
-
return effectiveGamma * deviation;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Record that a provider was selected (call after each routing decision).
|
|
79
|
-
* Used to compute the diversity penalty on subsequent decisions.
|
|
80
|
-
*/
|
|
81
|
-
function recordSelection(providerName) {
|
|
82
|
-
_selectionCount[providerName] = (_selectionCount[providerName] || 0) + 1;
|
|
83
|
-
_totalDecisions += 1;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Reset traffic tracking (call when provider pool changes or for eval resets).
|
|
87
|
-
*/
|
|
88
|
-
function resetDiversityState() {
|
|
89
|
-
Object.keys(_selectionCount).forEach(k => delete _selectionCount[k]);
|
|
90
|
-
_totalDecisions = 0;
|
|
91
|
-
}
|
|
92
26
|
let cachedProfiles = null;
|
|
93
27
|
let cacheTimestamp = 0;
|
|
94
28
|
const CACHE_TTL_MS = 5 * 60 * 1000; // 5 minutes
|
|
@@ -754,22 +688,6 @@ function routeQuery(prompt, available_models, budget_multiplier = 1.0) {
|
|
|
754
688
|
: 0;
|
|
755
689
|
const scoreFn = (c) => c.quality_score * complexity_bias + c.cost_score * (1 - complexity_bias);
|
|
756
690
|
let topCandidates = (0, sorting_1.quickselectTopK)(candidates, 4, scoreFn);
|
|
757
|
-
// === DIVERSITY PENALTY (EXP3-inspired, negative frequency-dependence) ===
|
|
758
|
-
// As provider share f_i grows above uniform (1/n), impose a diversity penalty.
|
|
759
|
-
// This prevents provider monoculture (competitive exclusion) — the core insight
|
|
760
|
-
// from the Paradox of the Plankton / negative frequency-dependent selection.
|
|
761
|
-
// Penalty is applied only to the quality dimension (complexity_bias-weighted),
|
|
762
|
-
// since cost already naturally distributes across providers.
|
|
763
|
-
// See: Auer et al. 2002, "The Nonstochastic Multiarmed Bandit Problem"
|
|
764
|
-
const nProviders = candidates.length;
|
|
765
|
-
for (const c of candidates) {
|
|
766
|
-
const divPenalty = computeDiversityPenalty(c.name, nProviders);
|
|
767
|
-
// Diversity penalty applies to quality dimension only (cost already disperses traffic)
|
|
768
|
-
c.total_score -= divPenalty * complexity_bias;
|
|
769
|
-
}
|
|
770
|
-
// Re-rank after diversity adjustment
|
|
771
|
-
candidates.sort((a, b) => b.total_score - a.total_score);
|
|
772
|
-
topCandidates = candidates.slice(0, 4);
|
|
773
691
|
// Adaptive quality floor: for complex queries, prefer models above the floor
|
|
774
692
|
if (adaptiveQualityFloor > 0) {
|
|
775
693
|
const qualified = topCandidates.filter(c => c.quality_score >= adaptiveQualityFloor);
|
|
@@ -780,8 +698,6 @@ function routeQuery(prompt, available_models, budget_multiplier = 1.0) {
|
|
|
780
698
|
}
|
|
781
699
|
const primary = topCandidates[0];
|
|
782
700
|
const secondary = topCandidates.slice(1, 3);
|
|
783
|
-
// Record selection for diversity tracking (after final decision, before return)
|
|
784
|
-
recordSelection(primary.name);
|
|
785
701
|
// Calculate confidence based on score gap
|
|
786
702
|
let confidence = 0.5;
|
|
787
703
|
if (candidates.length > 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advancedRouter.js","sourceRoot":"","sources":["../../src/routing/advancedRouter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"advancedRouter.js","sourceRoot":"","sources":["../../src/routing/advancedRouter.ts"],"names":[],"mappings":"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"}
|