File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 99[ ![ Tests] ( https://img.shields.io/badge/Tests-28%2F28%20passing-brightgreen )] ( https://github.com/Das-rebel/a3m-router/actions )
1010[ ![ GitHub stars] ( https://img.shields.io/github/stars/Das-rebel/a3m-router )] ( https://github.com/Das-rebel/a3m-router/stargazers )
1111
12+ ** 📦 Available on:**
13+ [ ![ npm] ( https://img.shields.io/badge/npm-6%2C000%2B%2Fmonth-CB3837?style=flat-square&logo=npm )] ( https://www.npmjs.com/package/adaptive-memory-multi-model-router )
14+ [ ![ PyPI] ( https://img.shields.io/badge/PyPI-700%2Fmonth-3776AB?style=flat-square&logo=pypi )] ( https://pypi.org/project/a3m-router/ )
15+ [ ![ GitHub] ( https://img.shields.io/badge/GitHub-14%20%E2%98%85-100000?style=flat-square&logo=github )] ( https://github.com/Das-rebel/a3m-router/stargazers )
16+
1217A3M Router automatically picks the cheapest capable model for each request. No code changes needed. Just swap your API endpoint.
1318
1419---
Original file line number Diff line number Diff line change 1010 "scripts" : {
1111 "start" : " node dist/cli.js serve" ,
1212 "test" : " node --test" ,
13- "lint" : " eslint src/"
13+ "lint" : " eslint src/" ,
14+ "build" : " tsc"
1415 },
1516 "keywords" : [
16- " a3m" ,
17- " a3m-router" ,
18- " adaptive-memory-multi-model-router" ,
19- " llm-router" ,
20- " llm-routing" ,
21- " model-routing" ,
22- " ai-router" ,
23- " ai-gateway" ,
24- " ai-routing" ,
25- " routing" ,
17+ " llm" ,
2618 " router" ,
2719 " gateway" ,
28- " multi-llm" ,
2920 " openai" ,
3021 " anthropic" ,
31- " gemini" ,
32- " claude" ,
33- " gpt" ,
34- " gpt-4" ,
35- " llama" ,
36- " llama-3" ,
37- " deepseek" ,
38- " mistral" ,
39- " groq" ,
40- " qwen" ,
41- " kimi" ,
42- " xai" ,
43- " cohere" ,
22+ " multi-provider" ,
23+ " cost-optimization" ,
4424 " langchain" ,
45- " vercel-ai" ,
4625 " llamaindex" ,
47- " llamaindex-gateway" ,
48- " cost-savings" ,
49- " cost-reduction" ,
50- " caching" ,
51- " semantic-cache" ,
52- " context-cache" ,
53- " prompt-cache" ,
54- " fallback" ,
55- " failover" ,
56- " smart-fallback" ,
57- " smart-failover" ,
58- " guardrails" ,
59- " ai-guardrails" ,
60- " circuit-breaker" ,
61- " streaming" ,
62- " streaming-llm" ,
63- " retry" ,
64- " ai-agent" ,
65- " multi-agent" ,
66- " autonomous-agents" ,
67- " rag" ,
68- " chatbot" ,
69- " ai-coding" ,
70- " code-generation" ,
71- " text-generation" ,
72- " extraction" ,
73- " summarization" ,
74- " smart-routing" ,
75- " semantic-routing" ,
76- " tier-routing" ,
77- " intent-routing" ,
78- " content-routing" ,
79- " dynamic-routing" ,
80- " adaptive-routing" ,
81- " load-balancer" ,
82- " load-balancing" ,
83- " parallel-execution" ,
84- " multi-model" ,
85- " multi-provider" ,
86- " openai-compatible" ,
87- " openai-gateway" ,
88- " openai-proxy" ,
26+ " agentkit" ,
27+ " a3m" ,
8928 " openrouter" ,
90- " monitoring" ,
91- " metrics" ,
92- " observability" ,
93- " health-check" ,
94- " open-source" ,
95- " self-hosted" ,
96- " local-llm" ,
97- " serverless" ,
98- " cost-optimization" ,
99- " token-optimization" ,
100- " llm-cost" ,
101- " token-saving" ,
102- " cost-analytics" ,
103- " cost-tracking" ,
104- " budget-alerts" ,
105- " cache" ,
106- " chatgpt" ,
107- " agent" ,
108- " low-cost-llm" ,
109- " cheaper-llm" ,
110- " provider-failover" ,
111- " response-cache" ,
112- " llm-failover" ,
113- " api-cost-reduction" ,
114- " multi-llm-router" ,
115- " multi-model-router" ,
116- " llm-proxy" ,
29+ " litellm" ,
30+ " proxy" ,
11731 " api-gateway" ,
118- " reverse-proxy" ,
119- " kubernetes" ,
120- " docker" ,
121- " browser-automation" ,
122- " playwright" ,
123- " puppeteer" ,
124- " web-scraping" ,
125- " anti-detection" ,
126- " stealth-browser" ,
127- " crawling" ,
128- " text-extraction" ,
129- " data-extraction" ,
130- " form-filling" ,
131- " content-generation" ,
132- " model-selection" ,
133- " provider-aggregation" ,
134- " langchain-adapter" ,
135- " llamaindex-adapter" ,
136- " vector-search" ,
32+ " artificial-intelligence" ,
33+ " machine-learning" ,
34+ " nlp" ,
35+ " transformers" ,
13736 " embeddings" ,
138- " nvidia-nim" ,
139- " ollama" ,
140- " vllm"
37+ " rag" ,
38+ " vector-search"
14139 ],
14240 "repository" : {
14341 "type" : " git" ,
14442 "url" : " https://github.com/Das-rebel/a3m-router"
14543 },
146- "homepage" : " https://das-rebel. github.io/ a3m-router/ " ,
44+ "homepage" : " https://github.com/Das-rebel/ a3m-router#readme " ,
14745 "dependencies" : {
14846 "blessed" : " ^0.1.81" ,
14947 "nanoid" : " ^6.0.0"
15250 "node" : " >=18.0.0"
15351 },
15452 "devDependencies" : {
155- "@types/node" : " ^26.1.2" ,
156- "typescript" : " ^7.0.2"
157- }
158- }
53+ "@types/express" : " ^5.0.6" ,
54+ "@types/jest" : " ^30.0.0" ,
55+ "@types/node" : " ^26.2.0" ,
56+ "typescript" : " ^7.0.2" ,
57+ "vitest" : " ^4.1.10"
58+ },
59+ "funding" : {
60+ "type" : " github" ,
61+ "url" : " https://github.com/sponsors/Das-rebel"
62+ },
63+ "bugs" : {
64+ "url" : " https://github.com/Das-rebel/a3m-router/issues"
65+ },
66+ "py\u6fee " : " https://pypi.org/project/a3m-router/"
67+ }
Original file line number Diff line number Diff line change @@ -61,10 +61,13 @@ adapters = [
6161dev = [" pytest>=7.4.0" , " pytest-asyncio>=0.21.0" , " black>=23.0.0" ]
6262
6363[project .urls ]
64- Homepage = " https://github.com/Das-rebel/a3m-router"
65- Documentation = " https://das-rebel. github.io/ a3m-router"
64+ Homepage = " https://github.com/Das-rebel/a3m-router#a3m-router "
65+ Documentation = " https://github.com/Das-rebel/ a3m-router#readme "
6666Repository = " https://github.com/Das-rebel/a3m-router"
6767Changelog = " https://github.com/Das-rebel/a3m-router/releases"
68+ "NPM Package" = " https://www.npmjs.com/package/adaptive-memory-multi-model-router"
69+ "PyPI Package" = " https://pypi.org/project/a3m-router/"
70+ "GitHub Stars" = " https://github.com/Das-rebel/a3m-router/stargazers"
6871
6972[tool .setuptools .packages .find ]
7073where = [" ." ]
You can’t perform that action at this time.
0 commit comments