adaptive-memory-multi-model-router 2.11.0 → 2.12.1

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.
Files changed (104) hide show
  1. package/.github/workflows/ci.yml +56 -0
  2. package/.github/workflows/pages.yml +37 -0
  3. package/Awesome-LLM/LICENSE.md +121 -0
  4. package/Awesome-LLM/README.md +625 -0
  5. package/Awesome-LLM/contributing.md +24 -0
  6. package/Awesome-LLM/paper_list/RLHF.md +1 -0
  7. package/Awesome-LLM/paper_list/Retrieval_Augmented_Generation.md +6 -0
  8. package/Awesome-LLM/paper_list/acceleration.md +10 -0
  9. package/Awesome-LLM/paper_list/alignment.md +20 -0
  10. package/Awesome-LLM/paper_list/application.md +19 -0
  11. package/Awesome-LLM/paper_list/augmentation.md +14 -0
  12. package/Awesome-LLM/paper_list/chain_of_thougt.md +16 -0
  13. package/Awesome-LLM/paper_list/code_pretraining.md +0 -0
  14. package/Awesome-LLM/paper_list/detection.md +11 -0
  15. package/Awesome-LLM/paper_list/evaluation.md +64 -0
  16. package/Awesome-LLM/paper_list/in_context_learning.md +4 -0
  17. package/Awesome-LLM/paper_list/instruction-tuning.md +35 -0
  18. package/Awesome-LLM/paper_list/moe.md +0 -0
  19. package/Awesome-LLM/paper_list/prompt_learning.md +15 -0
  20. package/Awesome-LLM/resources/DeepSpeed_light.svg +27 -0
  21. package/Awesome-LLM/resources/alpa-logo-cropped.png +0 -0
  22. package/Awesome-LLM/resources/colossal-ai_logo_vertical.png +0 -0
  23. package/Awesome-LLM/resources/creepy_llm.jpeg +0 -0
  24. package/Awesome-LLM/resources/image8.gif +0 -0
  25. package/Awesome-LLM/resources/jax_logo_250px.png +0 -0
  26. package/Awesome-LLM/resources/logo.png +0 -0
  27. package/Awesome-LLM/resources/nvidia.png +0 -0
  28. package/Awesome-LLM/resources/tensorflow.png +0 -0
  29. package/Awesome-LLM/resources//345/244/247/345/236/213/350/257/255/350/250/200/346/250/241/345/236/213/347/232/204/350/203/275/345/212/233/345/210/206/346/236/220/344/270/216/345/272/224/347/224/250 - 30min.pdf +0 -0
  30. package/LANDING.md +46 -0
  31. package/MANIFESTO.md +54 -0
  32. package/README.md +3 -3
  33. package/SUBMISSIONS.md +43 -0
  34. package/assets/chart-cost-v2.svg +91 -0
  35. package/assets/chart-cost-v3.svg +143 -0
  36. package/assets/chart-features-v2.svg +132 -0
  37. package/assets/chart-features-v3.svg +211 -0
  38. package/assets/chart-growth-v2.svg +122 -0
  39. package/assets/chart-growth-v3.svg +189 -0
  40. package/assets/cost-simple.svg +64 -0
  41. package/assets/growth-simple.svg +69 -0
  42. package/assets/hero-diagram.svg +81 -0
  43. package/assets/logo-new.svg +21 -0
  44. package/assets/social-preview-new.svg +100 -0
  45. package/assets/social-v2.svg +130 -0
  46. package/assets/social-v3.svg +212 -0
  47. package/awesome-ai-gateways/CONTRIBUTING.md +49 -0
  48. package/awesome-ai-gateways/LICENSE +3 -0
  49. package/awesome-ai-gateways/README.md +190 -0
  50. package/awesome-selfhosted/.github/ISSUE_TEMPLATE/config.yml +5 -0
  51. package/awesome-selfhosted/.github/PULL_REQUEST_TEMPLATE.md +1 -0
  52. package/awesome-selfhosted/LICENSE +376 -0
  53. package/awesome-selfhosted/README.md +2303 -0
  54. package/awesome-selfhosted/_static/awesome.png +0 -0
  55. package/awesome-selfhosted/non-free.md +377 -0
  56. package/demo-new.tape +71 -0
  57. package/demo-real.sh +198 -0
  58. package/demo-simple.tape +205 -0
  59. package/demo.html +520 -0
  60. package/demo.sh +85 -0
  61. package/demo.tape +259 -0
  62. package/dist/cli/setupWizard.js +194 -0
  63. package/dist/cli/tui.js +152 -0
  64. package/dist/cli.js +9 -2
  65. package/dist/routing/providerRetry.d.ts +5 -0
  66. package/dist/routing/providerRetry.js +37 -0
  67. package/dist/routing/providerRetry.js.map +1 -1
  68. package/docs/CHINESE_PROVIDER_RELIABILITY.md +37 -0
  69. package/docs/CLAIMS_AND_EVIDENCE.md +58 -0
  70. package/docs/ENGINEERING_SPEC.md +55 -0
  71. package/docs/RELEASE_CHECKLIST.md +32 -0
  72. package/docs/REPRODUCIBILITY.md +63 -0
  73. package/docs/demo-auto.html +264 -0
  74. package/docs/demo.html +416 -0
  75. package/docs/index.html +112 -599
  76. package/eval/README.md +46 -0
  77. package/eval/baselines/main.json +12 -0
  78. package/eval/benchmark_dataset.jsonl +16 -0
  79. package/eval/check_golden_routes.js +64 -0
  80. package/eval/datasets/catalog.json +33 -0
  81. package/eval/datasets/slices/cn_provider_reliability_v1.jsonl +3 -0
  82. package/eval/datasets/slices/cost_pressure_v1.jsonl +3 -0
  83. package/eval/datasets/slices/safety_guardrails_v1.jsonl +3 -0
  84. package/eval/fault_injection_thresholds.json +3 -0
  85. package/eval/generate_report.js +128 -0
  86. package/eval/golden_routes.json +114 -0
  87. package/eval/lib/experiment_registry.js +24 -0
  88. package/eval/run_eval.js +197 -0
  89. package/eval/run_fault_injection.js +201 -0
  90. package/eval/run_shadow_eval.js +85 -0
  91. package/eval/thresholds.json +9 -0
  92. package/index.html +667 -0
  93. package/package.json +29 -168
  94. package/pytest.ini +2 -0
  95. package/src/cli/setupWizard.ts +194 -0
  96. package/src/routing/providerRetry.ts +41 -1
  97. package/docs/assets/cost-comparison.svg +0 -134
  98. package/docs/assets/growth-chart-animated.svg +0 -76
  99. package/docs/assets/og-banner.svg +0 -194
  100. package/docs/assets/social-preview.svg +0 -194
  101. package/python/a3m/__pycache__/__init__.cpython-312.pyc +0 -0
  102. package/python/a3m/__pycache__/client.cpython-312.pyc +0 -0
  103. package/python/a3m/__pycache__/models.cpython-312.pyc +0 -0
  104. package/python/a3m/__pycache__/sync_client.cpython-312.pyc +0 -0
@@ -0,0 +1,130 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 630" width="1200" height="630">
2
+ <defs>
3
+ <linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
4
+ <stop offset="0%" stop-color="#0a0f1c"/>
5
+ <stop offset="50%" stop-color="#0f172a"/>
6
+ <stop offset="100%" stop-color="#1e1b4b"/>
7
+ </linearGradient>
8
+ <linearGradient id="heroGrad" x1="0%" y1="0%" x2="100%" y2="0%">
9
+ <stop offset="0%" stop-color="#6366f1"/>
10
+ <stop offset="50%" stop-color="#8b5cf6"/>
11
+ <stop offset="100%" stop-color="#06b6d4"/>
12
+ </linearGradient>
13
+ <linearGradient id="a3mGrad" x1="0%" y1="0%" x2="0%" y2="100%">
14
+ <stop offset="0%" stop-color="#10b981"/>
15
+ <stop offset="100%" stop-color="#059669"/>
16
+ </linearGradient>
17
+ <linearGradient id="glowGrad" x1="0%" y1="0%" x2="100%" y2="100%">
18
+ <stop offset="0%" stop-color="#6366f1" stop-opacity="0.3"/>
19
+ <stop offset="100%" stop-color="#06b6d4" stop-opacity="0.1"/>
20
+ </linearGradient>
21
+
22
+ <!-- Filters -->
23
+ <filter id="softGlow" x="-50%" y="-50%" width="200%" height="200%">
24
+ <feGaussianBlur stdDeviation="8" result="blur"/>
25
+ <feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
26
+ </filter>
27
+ <filter id="textGlow" x="-20%" y="-20%" width="140%" height="140%">
28
+ <feGaussianBlur stdDeviation="3" result="blur"/>
29
+ <feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
30
+ </filter>
31
+
32
+ <!-- Grid pattern -->
33
+ <pattern id="gridPattern" width="60" height="60" patternUnits="userSpaceOnUse">
34
+ <path d="M 60 0 L 0 0 0 60" fill="none" stroke="#1f2937" stroke-width="0.5" opacity="0.3"/>
35
+ </pattern>
36
+ </defs>
37
+
38
+ <!-- Background -->
39
+ <rect width="1200" height="630" fill="url(#bgGrad)"/>
40
+ <rect width="1200" height="630" fill="url(#gridPattern)"/>
41
+
42
+ <!-- Ambient glow -->
43
+ <ellipse cx="600" cy="300" rx="400" ry="250" fill="url(#glowGrad)" filter="url(#softGlow)"/>
44
+
45
+ <!-- Logo area -->
46
+ <g transform="translate(80, 60)">
47
+ <rect x="0" y="0" width="80" height="80" rx="16" fill="url(#heroGrad)"/>
48
+ <text x="40" y="55" text-anchor="middle" fill="#fff" font-family="system-ui,sans-serif" font-size="28" font-weight="800">A3</text>
49
+ </g>
50
+
51
+ <!-- Hero text -->
52
+ <g transform="translate(200, 85)">
53
+ <text x="0" y="32" fill="#f9fafb" font-family="system-ui,-apple-system,sans-serif" font-size="42" font-weight="800" filter="url(#textGlow)">A3M Router</text>
54
+ <text x="0" y="65" fill="url(#heroGrad)" font-family="system-ui,-apple-system,sans-serif" font-size="22" font-weight="500">One prompt in. The right model out.</text>
55
+ </g>
56
+
57
+ <!-- Routing Flow -->
58
+ <g transform="translate(100, 180)">
59
+ <!-- Prompt box -->
60
+ <rect x="0" y="20" width="200" height="90" rx="12" fill="rgba(99,102,241,0.1)" stroke="#6366f1" stroke-width="2"/>
61
+ <text x="100" y="55" text-anchor="middle" fill="#9ca3af" font-family="system-ui,sans-serif" font-size="14">YOUR PROMPT</text>
62
+ <text x="100" y="85" text-anchor="middle" fill="#e5e7eb" font-family="system-ui,sans-serif" font-size="16">"Write Python sort"</text>
63
+
64
+ <!-- Arrow 1 -->
65
+ <path d="M210,65 L300,65" stroke="url(#heroGrad)" stroke-width="3" fill="none" stroke-linecap="round"/>
66
+ <polygon points="300,57 315,65 300,73" fill="#06b6d4"/>
67
+
68
+ <!-- A3M box -->
69
+ <rect x="325" y="0" width="140" height="130" rx="12" fill="#6366f1" fill-opacity="0.2" stroke="#6366f1" stroke-width="2"/>
70
+ <text x="395" y="50" text-anchor="middle" fill="#fff" font-family="system-ui,sans-serif" font-size="32" font-weight="800">A3M</text>
71
+ <text x="395" y="80" text-anchor="middle" fill="#a78bfa" font-family="system-ui,sans-serif" font-size="16">Router</text>
72
+ <text x="395" y="110" text-anchor="middle" fill="#06b6d4" font-family="system-ui,sans-serif" font-size="12">12 signals →</text>
73
+
74
+ <!-- Arrow 2 -->
75
+ <path d="M475,65 L565,65" stroke="url(#heroGrad)" stroke-width="3" fill="none" stroke-linecap="round"/>
76
+ <polygon points="565,57 580,65 565,73" fill="#06b6d4"/>
77
+
78
+ <!-- Result box -->
79
+ <rect x="590" y="20" width="200" height="90" rx="12" fill="rgba(16,185,129,0.1)" stroke="#10b981" stroke-width="2"/>
80
+ <text x="690" y="55" text-anchor="middle" fill="#9ca3af" font-family="system-ui,sans-serif" font-size="14">BEST MODEL</text>
81
+ <text x="690" y="85" text-anchor="middle" fill="#10b981" font-family="system-ui,sans-serif" font-size="16">Groq (free, fast)</text>
82
+ </g>
83
+
84
+ <!-- Metrics row -->
85
+ <g transform="translate(80, 360)">
86
+ <!-- Metric 1 -->
87
+ <g transform="translate(0, 0)">
88
+ <rect x="0" y="0" width="165" height="100" rx="16" fill="rgba(16,185,129,0.08)" stroke="#10b981" stroke-width="1.5"/>
89
+ <text x="82" y="40" text-anchor="middle" fill="#10b981" font-family="system-ui,sans-serif" font-size="36" font-weight="800" filter="url(#textGlow)">100%</text>
90
+ <text x="82" y="70" text-anchor="middle" fill="#9ca3af" font-family="system-ui,sans-serif" font-size="14">Routing Accuracy</text>
91
+ </g>
92
+
93
+ <!-- Metric 2 -->
94
+ <g transform="translate(195, 0)">
95
+ <rect x="0" y="0" width="165" height="100" rx="16" fill="rgba(6,182,212,0.08)" stroke="#06b6d4" stroke-width="1.5"/>
96
+ <text x="82" y="40" text-anchor="middle" fill="#06b6d4" font-family="system-ui,sans-serif" font-size="36" font-weight="800" filter="url(#textGlow)">62%</text>
97
+ <text x="82" y="70" text-anchor="middle" fill="#9ca3af" font-family="system-ui,sans-serif" font-size="14">Cost Savings</text>
98
+ </g>
99
+
100
+ <!-- Metric 3 -->
101
+ <g transform="translate(390, 0)">
102
+ <rect x="0" y="0" width="165" height="100" rx="16" fill="rgba(139,92,246,0.08)" stroke="#8b5cf6" stroke-width="1.5"/>
103
+ <text x="82" y="40" text-anchor="middle" fill="#8b5cf6" font-family="system-ui,sans-serif" font-size="36" font-weight="800" filter="url(#textGlow)">100%</text>
104
+ <text x="82" y="70" text-anchor="middle" fill="#9ca3af" font-family="system-ui,sans-serif" font-size="14">Fault Pass Rate</text>
105
+ </g>
106
+
107
+ <!-- Metric 4 -->
108
+ <g transform="translate(585, 0)">
109
+ <rect x="0" y="0" width="165" height="100" rx="16" fill="rgba(244,114,182,0.08)" stroke="#f472b6" stroke-width="1.5"/>
110
+ <text x="82" y="40" text-anchor="middle" fill="#f472b6" font-family="system-ui,sans-serif" font-size="36" font-weight="800" filter="url(#textGlow)">47+</text>
111
+ <text x="82" y="70" text-anchor="middle" fill="#9ca3af" font-family="system-ui,sans-serif" font-size="14">Providers</text>
112
+ </g>
113
+
114
+ <!-- Metric 5 -->
115
+ <g transform="translate(780, 0)">
116
+ <rect x="0" y="0" width="165" height="100" rx="16" fill="rgba(99,102,241,0.08)" stroke="#6366f1" stroke-width="1.5"/>
117
+ <text x="82" y="40" text-anchor="middle" fill="#a78bfa" font-family="system-ui,sans-serif" font-size="36" font-weight="800" filter="url(#textGlow)">19.5KB</text>
118
+ <text x="82" y="70" text-anchor="middle" fill="#9ca3af" font-family="system-ui,sans-serif" font-size="14">Package Size</text>
119
+ </g>
120
+ </g>
121
+
122
+ <!-- CTA Button -->
123
+ <g transform="translate(350, 500)">
124
+ <rect x="0" y="0" width="500" height="65" rx="32" fill="url(#heroGrad)" filter="url(#softGlow)"/>
125
+ <text x="250" y="42" text-anchor="middle" fill="#fff" font-family="system-ui,sans-serif" font-size="20" font-weight="600">npm install adaptive-memory-multi-model-router</text>
126
+ </g>
127
+
128
+ <!-- Footer -->
129
+ <text x="600" y="600" text-anchor="middle" fill="#4b5563" font-family="system-ui,sans-serif" font-size="13">Open-source • Zero ML • No GPU • MIT License</text>
130
+ </svg>
@@ -0,0 +1,212 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 675" width="1200" height="675">
2
+ <defs>
3
+ <!-- Background gradient -->
4
+ <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
5
+ <stop offset="0%" stop-color="#0a0a0f"/>
6
+ <stop offset="30%" stop-color="#0f0f1a"/>
7
+ <stop offset="70%" stop-color="#12121f"/>
8
+ <stop offset="100%" stop-color="#1a1a2e"/>
9
+ </linearGradient>
10
+
11
+ <!-- Hero gradient -->
12
+ <linearGradient id="heroGrad" x1="0%" y1="0%" x2="100%" y2="0%">
13
+ <stop offset="0%" stop-color="#6366f1"/>
14
+ <stop offset="33%" stop-color="#7c3aed"/>
15
+ <stop offset="66%" stop-color="#8b5cf6"/>
16
+ <stop offset="100%" stop-color="#06b6d4"/>
17
+ </linearGradient>
18
+
19
+ <!-- Success gradient -->
20
+ <linearGradient id="successGrad" x1="0%" y1="0%" x2="100%" y2="0%">
21
+ <stop offset="0%" stop-color="#10b981">
22
+ <animate attributeName="stop-color" values="#10b981;#34d399;#10b981" dur="2.5s" repeatCount="indefinite"/>
23
+ </stop>
24
+ <stop offset="100%" stop-color="#06b6d4"/>
25
+ </linearGradient>
26
+
27
+ <!-- Box gradients -->
28
+ <linearGradient id="inputGrad" x1="0%" y1="0%" x2="100%" y2="100%">
29
+ <stop offset="0%" stop-color="#6366f1" stop-opacity="0.2"/>
30
+ <stop offset="100%" stop-color="#6366f1" stop-opacity="0.05"/>
31
+ </linearGradient>
32
+
33
+ <linearGradient id="a3mBoxGrad" x1="0%" y1="0%" x2="100%" y2="100%">
34
+ <stop offset="0%" stop-color="#6366f1" stop-opacity="0.3"/>
35
+ <stop offset="100%" stop-color="#8b5cf6" stop-opacity="0.15"/>
36
+ </linearGradient>
37
+
38
+ <linearGradient id="outputGrad" x1="0%" y1="0%" x2="100%" y2="100%">
39
+ <stop offset="0%" stop-color="#10b981" stop-opacity="0.2"/>
40
+ <stop offset="100%" stop-color="#10b981" stop-opacity="0.05"/>
41
+ </linearGradient>
42
+
43
+ <!-- Glow filters -->
44
+ <filter id="glowSoft" x="-30%" y="-30%" width="160%" height="160%">
45
+ <feGaussianBlur stdDeviation="6" result="blur"/>
46
+ <feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
47
+ </filter>
48
+
49
+ <filter id="glowMedium" x="-50%" y="-50%" width="200%" height="200%">
50
+ <feGaussianBlur stdDeviation="10" result="blur"/>
51
+ <feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
52
+ </filter>
53
+
54
+ <filter id="glowIntense" x="-100%" y="-100%" width="300%" height="300%">
55
+ <feGaussianBlur stdDeviation="15" result="blur"/>
56
+ <feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
57
+ </filter>
58
+
59
+ <!-- Grid pattern -->
60
+ <pattern id="grid" width="60" height="60" patternUnits="userSpaceOnUse">
61
+ <path d="M 60 0 L 0 0 0 60" fill="none" stroke="#ffffff" stroke-width="0.5" opacity="0.03"/>
62
+ </pattern>
63
+ </defs>
64
+
65
+ <style>
66
+ @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
67
+ @keyframes slideIn { from { opacity: 0; transform: translateX(-30px); } to { opacity: 1; transform: translateX(0); } }
68
+ @keyframes pulse { 0%, 100% { transform: scale(1); filter: brightness(1); } 50% { transform: scale(1.02); filter: brightness(1.1); } }
69
+ @keyframes glow { 0%, 100% { filter: url(#glowSoft); } 50% { filter: url(#glowMedium); } }
70
+ @keyframes textGlow { 0%, 100% { text-shadow: 0 0 20px rgba(99,102,241,0.5); } 50% { text-shadow: 0 0 40px rgba(99,102,241,0.8); } }
71
+ @keyframes flowPulse { 0%, 100% { stroke-dashoffset: 0; } 50% { stroke-dashoffset: -20; } }
72
+ .header { animation: fadeIn 0.8s ease-out; }
73
+ .logo { animation: slideIn 0.6s ease-out 0.1s both; }
74
+ .hero-text { animation: fadeIn 0.8s ease-out 0.2s both; }
75
+ .flow-box { animation: fadeIn 0.6s ease-out; animation-fill-mode: both; }
76
+ .input-box { animation: fadeIn 0.6s ease-out 0.3s both; }
77
+ .a3m-box { animation: fadeIn 0.6s ease-out 0.4s both; }
78
+ .output-box { animation: fadeIn 0.6s ease-out 0.5s both; }
79
+ .metric { animation: fadeIn 0.6s ease-out; animation-fill-mode: both; }
80
+ .metric:nth-child(1) { animation-delay: 0.6s; }
81
+ .metric:nth-child(2) { animation-delay: 0.7s; }
82
+ .metric:nth-child(3) { animation-delay: 0.8s; }
83
+ .metric:nth-child(4) { animation-delay: 0.9s; }
84
+ .metric:nth-child(5) { animation-delay: 1.0s; }
85
+ .cta { animation: fadeIn 0.6s ease-out 1.1s both; }
86
+ .cta:hover { transform: scaleY(1.05); }
87
+ .arrow { animation: flowPulse 1.5s ease-in-out infinite; }
88
+ </style>
89
+
90
+ <!-- Background -->
91
+ <rect width="1200" height="675" fill="url(#bg)"/>
92
+ <rect width="1200" height="675" fill="url(#grid)"/>
93
+
94
+ <!-- Ambient glows -->
95
+ <ellipse cx="600" cy="300" rx="500" ry="300" fill="#6366f1" opacity="0.06" filter="url(#glowMedium)">
96
+ <animate attributeName="opacity" values="0.06;0.1;0.06" dur="4s" repeatCount="indefinite"/>
97
+ </ellipse>
98
+ <ellipse cx="600" cy="450" rx="400" ry="150" fill="#10b981" opacity="0.04" filter="url(#glowSoft)"/>
99
+
100
+ <!-- Header section -->
101
+ <g class="header">
102
+ <!-- Logo mark -->
103
+ <g class="logo" transform="translate(80, 55)">
104
+ <rect x="0" y="0" width="90" height="90" rx="18" fill="url(#heroGrad)" filter="url(#glowSoft)"/>
105
+ <text x="45" y="60" text-anchor="middle" fill="#ffffff" font-family="system-ui,-apple-system,sans-serif" font-size="36" font-weight="800">A3</text>
106
+ <circle cx="70" cy="70" r="8" fill="#10b981">
107
+ <animate attributeName="r" values="8;10;8" dur="2s" repeatCount="indefinite"/>
108
+ <animate attributeName="opacity" values="1;0.7;1" dur="2s" repeatCount="indefinite"/>
109
+ </circle>
110
+ </g>
111
+
112
+ <!-- Title -->
113
+ <g class="hero-text" transform="translate(200, 70)">
114
+ <text x="0" y="38" fill="#ffffff" font-family="system-ui,-apple-system,sans-serif" font-size="48" font-weight="800" filter="url(#glowSoft)" style="animation: textGlow 3s ease-in-out infinite;">
115
+ A3M Router
116
+ </text>
117
+ <text x="0" y="75" fill="url(#heroGrad)" font-family="system-ui,-apple-system,sans-serif" font-size="24" font-weight="500">
118
+ One prompt in. The right model out.
119
+ </text>
120
+ </g>
121
+ </g>
122
+
123
+ <!-- Routing Flow Diagram -->
124
+ <g transform="translate(100, 220)">
125
+ <!-- Input box -->
126
+ <g class="input-box" filter="url(#glowSoft)">
127
+ <rect x="0" y="15" width="220" height="100" rx="14" fill="url(#inputGrad)" stroke="#6366f1" stroke-width="2"/>
128
+ <text x="110" y="55" text-anchor="middle" fill="#8888aa" font-family="system-ui,sans-serif" font-size="14">YOUR PROMPT</text>
129
+ <text x="110" y="90" text-anchor="middle" fill="#e5e7eb" font-family="system-ui,sans-serif" font-size="18">"Write Python sort"</text>
130
+ </g>
131
+
132
+ <!-- Arrow 1 -->
133
+ <g class="arrow">
134
+ <path d="M230,65 L330,65" stroke="url(#heroGrad)" stroke-width="4" fill="none" stroke-linecap="round" stroke-dasharray="8,8"/>
135
+ <polygon points="330,57 348,65 330,73" fill="#06b6d4">
136
+ <animate attributeName="opacity" values="0.8;1;0.8" dur="1s" repeatCount="indefinite"/>
137
+ </polygon>
138
+ </g>
139
+
140
+ <!-- A3M Router box -->
141
+ <g class="a3m-box" filter="url(#glowMedium)">
142
+ <rect x="360" y="0" width="160" height="130" rx="14" fill="url(#a3mBoxGrad)" stroke="#6366f1" stroke-width="2.5"/>
143
+ <text x="440" y="50" text-anchor="middle" fill="#ffffff" font-family="system-ui,sans-serif" font-size="36" font-weight="800">A3M</text>
144
+ <text x="440" y="82" text-anchor="middle" fill="#a78bfa" font-family="system-ui,sans-serif" font-size="18">Router</text>
145
+ <text x="440" y="115" text-anchor="middle" fill="#06b6d4" font-family="system-ui,sans-serif" font-size="13">12 signals analyzed</text>
146
+ </g>
147
+
148
+ <!-- Arrow 2 -->
149
+ <g class="arrow">
150
+ <path d="M530,65 L630,65" stroke="url(#heroGrad)" stroke-width="4" fill="none" stroke-linecap="round" stroke-dasharray="8,8"/>
151
+ <polygon points="630,57 648,65 630,73" fill="#06b6d4">
152
+ <animate attributeName="opacity" values="0.8;1;0.8" dur="1s" repeatCount="indefinite" begin="0.5s"/>
153
+ </polygon>
154
+ </g>
155
+
156
+ <!-- Output box -->
157
+ <g class="output-box" filter="url(#glowSoft)">
158
+ <rect x="660" y="15" width="220" height="100" rx="14" fill="url(#outputGrad)" stroke="#10b981" stroke-width="2"/>
159
+ <text x="770" y="55" text-anchor="middle" fill="#8888aa" font-family="system-ui,sans-serif" font-size="14">BEST MODEL</text>
160
+ <text x="770" y="90" text-anchor="middle" fill="#10b981" font-family="system-ui,sans-serif" font-size="18" font-weight="600">Groq (free, fast)</text>
161
+ </g>
162
+ </g>
163
+
164
+ <!-- Metrics row -->
165
+ <g transform="translate(80, 400)">
166
+ <!-- Metric 1 -->
167
+ <g class="metric" transform="translate(0, 0)">
168
+ <rect x="0" y="0" width="180" height="100" rx="14" fill="#10b981" fill-opacity="0.08" stroke="#10b981" stroke-width="1.5" filter="url(#glowSoft)"/>
169
+ <text x="90" y="40" text-anchor="middle" fill="#10b981" font-family="system-ui,sans-serif" font-size="36" font-weight="800">100%</text>
170
+ <text x="90" y="70" text-anchor="middle" fill="#9999bb" font-family="system-ui,sans-serif" font-size="14">Routing Accuracy</text>
171
+ </g>
172
+
173
+ <!-- Metric 2 -->
174
+ <g class="metric" transform="translate(200, 0)">
175
+ <rect x="0" y="0" width="180" height="100" rx="14" fill="#06b6d4" fill-opacity="0.08" stroke="#06b6d4" stroke-width="1.5" filter="url(#glowSoft)"/>
176
+ <text x="90" y="40" text-anchor="middle" fill="#06b6d4" font-family="system-ui,sans-serif" font-size="36" font-weight="800">62%</text>
177
+ <text x="90" y="70" text-anchor="middle" fill="#9999bb" font-family="system-ui,sans-serif" font-size="14">Cost Savings</text>
178
+ </g>
179
+
180
+ <!-- Metric 3 -->
181
+ <g class="metric" transform="translate(400, 0)">
182
+ <rect x="0" y="0" width="180" height="100" rx="14" fill="#8b5cf6" fill-opacity="0.08" stroke="#8b5cf6" stroke-width="1.5" filter="url(#glowSoft)"/>
183
+ <text x="90" y="40" text-anchor="middle" fill="#8b5cf6" font-family="system-ui,sans-serif" font-size="36" font-weight="800">100%</text>
184
+ <text x="90" y="70" text-anchor="middle" fill="#9999bb" font-family="system-ui,sans-serif" font-size="14">Fault Pass Rate</text>
185
+ </g>
186
+
187
+ <!-- Metric 4 -->
188
+ <g class="metric" transform="translate(600, 0)">
189
+ <rect x="0" y="0" width="180" height="100" rx="14" fill="#f472b6" fill-opacity="0.08" stroke="#f472b6" stroke-width="1.5" filter="url(#glowSoft)"/>
190
+ <text x="90" y="40" text-anchor="middle" fill="#f472b6" font-family="system-ui,sans-serif" font-size="36" font-weight="800">47+</text>
191
+ <text x="90" y="70" text-anchor="middle" fill="#9999bb" font-family="system-ui,sans-serif" font-size="14">Providers</text>
192
+ </g>
193
+
194
+ <!-- Metric 5 -->
195
+ <g class="metric" transform="translate(800, 0)">
196
+ <rect x="0" y="0" width="180" height="100" rx="14" fill="#6366f1" fill-opacity="0.08" stroke="#6366f1" stroke-width="1.5" filter="url(#glowSoft)"/>
197
+ <text x="90" y="40" text-anchor="middle" fill="#a78bfa" font-family="system-ui,sans-serif" font-size="36" font-weight="800">19.5KB</text>
198
+ <text x="90" y="70" text-anchor="middle" fill="#9999bb" font-family="system-ui,sans-serif" font-size="14">Package Size</text>
199
+ </g>
200
+ </g>
201
+
202
+ <!-- CTA Button -->
203
+ <g class="cta" transform="translate(300, 540)">
204
+ <rect x="0" y="0" width="600" height="70" rx="35" fill="url(#heroGrad)" filter="url(#glowMedium)"/>
205
+ <text x="300" y="45" text-anchor="middle" fill="#ffffff" font-family="system-ui,sans-serif" font-size="22" font-weight="600">npm install adaptive-memory-multi-model-router</text>
206
+ </g>
207
+
208
+ <!-- Footer -->
209
+ <text x="600" y="645" text-anchor="middle" fill="#555577" font-family="system-ui,sans-serif" font-size="14">
210
+ Open-source • Zero ML • No GPU Required • MIT License
211
+ </text>
212
+ </svg>
@@ -0,0 +1,49 @@
1
+ # Contributing to awesome-ai-gateways
2
+
3
+ Thanks for your interest in contributing!
4
+
5
+ ## How to Contribute
6
+
7
+ 1. **Fork the repository**
8
+ 2. **Add your tool/resource** in the appropriate section
9
+ 3. **Follow the format** (see below)
10
+ 4. **Submit a Pull Request**
11
+
12
+ ## Format Guidelines
13
+
14
+ ### Adding a Tool
15
+
16
+ ```markdown
17
+ - [ToolName](https://github.com/user/repo) - Brief description. [[License]](link)
18
+ - Key feature 1
19
+ - Key feature 2
20
+ ```
21
+
22
+ ### Requirements for Inclusion
23
+
24
+ - Must be related to AI gateways, LLM routing, or related infrastructure
25
+ - Must be a real, working project (no dead repos)
26
+ - Should have a brief description of what it does
27
+ - Include relevant metrics when available (stars, forks, etc.)
28
+
29
+ ### Categories
30
+
31
+ - **AI Gateways** - Unified API gateways
32
+ - **Semantic Caching** - Caching layer tools
33
+ - **Cost Tracking & Analytics** - Monitoring and cost tools
34
+ - **Load Balancing & Routing** - Traffic distribution
35
+ - **API Management & Rate Limiting** - Access control
36
+ - **Observability & Logging** - Tracing and monitoring
37
+ - **SDKs & Libraries** - Client libraries
38
+ - **Guardrails & Security** - Content filtering, security
39
+
40
+ ## Quality Standards
41
+
42
+ - Links should be permanent (no redirect chains)
43
+ - Include stars/forks if available
44
+ - Prefer open-source with clear licensing
45
+ - Avoid duplicate entries
46
+
47
+ ## Thank You!
48
+
49
+ Your contributions help the community discover the best AI infrastructure tools.
@@ -0,0 +1,3 @@
1
+ CC0 1.0 Universal
2
+
3
+ To the extent possible under law, the author has waived all copyright and related or neighboring rights to this work.
@@ -0,0 +1,190 @@
1
+ # Awesome AI Gateways [![Awesome](https://awesome.re/badge-flat.svg)](https://awesome.re)
2
+
3
+ > A curated list of tools, libraries, and resources for LLM routing, orchestration, and gateway infrastructure.
4
+
5
+ Managing 100+ LLM APIs, handling rate limits, implementing fallbacks, and tracking token costs is a massive operational headache. This list curates the best open-source tools, managed services, and resources to help you build production-grade AI infrastructure.
6
+
7
+ ## Contents
8
+
9
+ - [AI Gateways](#ai-gateways)
10
+ - [Semantic Caching](#semantic-caching)
11
+ - [Cost Tracking and Analytics](#cost-tracking-and-analytics)
12
+ - [Load Balancing and Routing](#load-balancing-and-routing)
13
+ - [API Management and Rate Limiting](#api-management-and-rate-limiting)
14
+ - [Observability and Logging](#observability-and-logging)
15
+ - [Agentic Orchestration](#agentic-orchestration)
16
+ - [SDKs and Libraries](#sdks-and-libraries)
17
+ - [Guardrails and Security](#guardrails-and-security)
18
+ - [Tutorials and Case Studies](#tutorials-and-case-studies)
19
+ - [Communities](#communities)
20
+
21
+ ## AI Gateways
22
+
23
+ Unified API gateways that route requests across multiple LLM providers.
24
+
25
+ ### Open Source
26
+
27
+ - [LiteLLM](https://github.com/BerriAI/litellm#readme) - Python SDK and proxy server calling 100+ LLMs in OpenAI format.
28
+ - [Portkey Gateway](https://github.com/Portkey-AI/gateway#readme) - Blazing fast AI gateway with 250+ LLMs, 50+ guardrails.
29
+ - [Bifrost](https://github.com/maximhq/bifrost#readme) - High-performance AI gateway in Go with adaptive load balancing.
30
+ - [Ferro Labs AI Gateway](https://github.com/ferro-labs/ai-gateway#readme) - Go-native gateway for 29 providers with caching & guardrails.
31
+ - [A3M Router](https://github.com/Das-rebel/adaptive-memory-multi-model-router) - Open-source LLM gateway with 100% routing accuracy, 47+ providers, zero ML, and Chinese provider support. MIT license.
32
+ - [Envoy AI Gateway](https://github.com/envoyproxy/ai-gateway#readme) - Unified access to GenAI services built on Envoy Gateway.
33
+ - [LLM Gateway](https://github.com/theopenco/llmgateway#readme) - Unified interface for running and managing LLMs with analytics.
34
+ - [Inference Gateway](https://github.com/inference-gateway/inference-gateway#readme) - Cloud-native gateway unifying multiple LLM providers.
35
+ - [OpenGateLLM](https://github.com/etalab-ia/OpenGateLLM#readme) - Open-source API gateway focused on self-hosted LLMs.
36
+ - [Routerly](https://github.com/Inebrio/Routerly#readme) - Self-hosted LLM gateway with intelligent multi-policy routing.
37
+ - [Plexus](https://github.com/mcowger/plexus#readme) - Unified API gateway with OAuth auth, quota tracking, and 15+ providers.
38
+ - [OpenZiti LLM Gateway](https://github.com/openziti/llm-gateway#readme) - Zero-trust LLM gateway with semantic routing and E2E encryption.
39
+ - [Kong](https://github.com/Kong/kong#readme) - Enterprise API gateway with LLM routing plugin.
40
+ - [LocalAI](https://github.com/mudler/LocalAI#readme) - Self-hosted, drop-in replacement for OpenAI API.
41
+ - [lm-proxy](https://github.com/Nayjest/lm-proxy#readme) - Lightweight OpenAI-compatible proxy for multi-provider inference.
42
+ - [LLM API Proxy](https://github.com/rxliuli/llm-api-proxy#readme) - Edge runtime proxy supporting OpenAI, Anthropic, Gemini, and more.
43
+ - [LLMProxy](https://github.com/aiyuekuang/LLMProxy#readme) - High-performance reverse proxy for LLM inference with SSE streaming.
44
+ - [Zuul](https://github.com/Netflix/zuul#readme) - Netflix edge gateway.
45
+
46
+ ### Managed Services
47
+
48
+ - [Vercel AI Gateway](https://sdk.vercel.ai/docs/ai-gateway#readme) - Single endpoint for hundreds of AI models.
49
+ - [Cloudflare AI Gateway](https://developers.cloudflare.com/ai-gateway/#readme) - Unified interface for AI providers at the edge.
50
+ - [OpenRouter](https://openrouter.ai/#readme) - Unified API for 500+ models from 60+ providers.
51
+ - [Portkey Hosted](https://portkey.ai/#readme) - Managed AI gateway with 1600+ LLMs and enterprise features.
52
+ - [Braintrust](https://www.braintrust.dev/#readme) - Unified API with encrypted caching and integrated evaluation.
53
+ - [Inworld Router](https://www.inworlds.ai/#readme) - LLM plus TTS pipelining for high-interactivity use cases.
54
+ - [Maxim AI](https://www.getmaxim.ai/#readme) - End-to-end platform for simulation, evaluation, and monitoring.
55
+
56
+ ## Semantic Caching
57
+
58
+ Reduce costs 60-80% by caching semantically similar responses.
59
+
60
+ - [RedisVL SemanticCache](https://redis.io/docs/latest/develop/ai/redisvl/0.7.0/user_guide/llmcache/#readme) - Semantic caching built on Redis vector search.
61
+ - [GPT-Cache](https://github.com/ZhouDaoquan/GPT-Cache#readme) - Semantic cache for LLM responses.
62
+ - [semantic-prompt-cache](https://github.com/renswickd/semantic-prompt-cache#readme) - RAG plus Semantic Cache system with FAISS.
63
+ - [vCache](https://arxiv.org/abs/2502.03771#readme) - Verified semantic prompt caching with adaptive thresholds.
64
+ - [VectorQ](https://arxiv.org/abs/2503.05530#readme) - Adaptive similarity thresholds for semantic caching.
65
+ - [Qdrant](https://github.com/qdrant/qdrant#readme) - Vector similarity search engine.
66
+ - [Pinecone](https://www.pinecone.io/#readme) - Managed vector database.
67
+ - [Chroma](https://github.com/chroma-core/chroma#readme) - Vector database for AI apps.
68
+ - [pgvector](https://github.com/pgvector/pgvector#readme) - Vector similarity in PostgreSQL.
69
+ - [FAISS](https://github.com/facebookresearch/faiss#readme) - Facebook vector search library.
70
+
71
+ ## Cost Tracking and Analytics
72
+
73
+ Monitor, attribute, and optimize LLM spend.
74
+
75
+ - [Langfuse](https://github.com/langfuse/langfuse#readme) - Open-source LLM engineering platform.
76
+ - [Helicone](https://github.com/Helicone/helicone#readme) - Open-source LLM observability platform.
77
+ - [Arize Phoenix](https://github.com/Arize-ai/phoenix#readme) - ML and LLM observability platform.
78
+ - [Opik](https://github.com/comet-ml/opik#readme) - LLM development platform by Comet.
79
+ - [tokenmeter](https://github.com/jugaad-lab/tokenmeter#readme) - Track AI API usage locally.
80
+ - [tokentap](https://github.com/jmuncor/tokentap#readme) - Terminal dashboard for LLM token tracking.
81
+ - [tokenator](https://github.com/ujjwalm29/tokenator#readme) - Monitor LLM token usage.
82
+ - [LLM Cost Guardian](https://github.com/ogulcanaydogan/LLM-Cost-Guardian#readme) - Multi-provider cost tracking in Go.
83
+ - [tokenx](https://github.com/dvlshah/tokenx#readme) - Python decorators for cost and latency monitoring.
84
+ - [llm-performance-tracker](https://github.com/tinybirdco/llm-performance-tracker#readme) - Multi-tenant LLM analytics dashboard.
85
+ - [Weave](https://weave.wandb.ai/#readme) - LLM observability from Weights and Biases.
86
+ - [Datadog LLM Observability](https://www.datadoghq.com/product/llm-observability/#readme) - Enterprise monitoring with LLM metrics.
87
+ - [PostHog](https://posthog.com/#readme) - Product analytics with LLM event tracking.
88
+ - [Confident AI](https://www.confident-ai.com/#readme) - Evaluation-first observability platform.
89
+ - [Maxim AI](https://www.getmaxim.ai/#readme) - End-to-end platform for simulation, evaluation, and monitoring.
90
+
91
+ ## Load Balancing and Routing
92
+
93
+ Distribute traffic, implement failovers, and optimize costs.
94
+
95
+ - [LiteLLM Router](https://docs.litellm.ai/docs/proxy/routing#readme) - Retry/fallback logic and least-busy routing.
96
+ - [Portkey](https://portkey.ai/docs/routing-strategies#readme) - Conditional routing and percentage-based distribution.
97
+ - [Bifrost Load Balancing](https://www.getmaxim.ai/bifrostdocs#readme) - Adaptive load balancer with cluster mode.
98
+ - [Ferro Labs Router](https://github.com/ferro-labs/ai-gateway#readme) - Multi-provider routing with 29 providers.
99
+ - [Routerly Policies](https://www.routerly.ai/#readme) - 9 configurable policies including LLM-native routing.
100
+ - [Lovable: 1.8B tokens per minute load balancing](https://www.adwaitx.com/llm-provider-load-balancing-agent-workflows/#readme) - PID-controlled dynamic load balancing.
101
+
102
+ ## API Management and Rate Limiting
103
+
104
+ Control access, prevent abuse, and enforce quotas.
105
+
106
+ - [RateLimit4j](https://github.com/vladimir-bukhtoyarov/rate-limit#readme) - Java rate limiting library.
107
+ - [Guava RateLimiter](https://github.com/google/guava#readme) - Google token bucket implementation.
108
+
109
+ ## Observability and Logging
110
+
111
+ Full visibility into LLM behavior, performance, and costs.
112
+
113
+ - [OpenTelemetry](https://opentelemetry.io/#readme) - Vendor-neutral observability framework.
114
+ - [Traceloop OpenLLMetry](https://github.com/traceloop/openllmetry#readme) - OpenTelemetry for LLMs.
115
+ - [Grafana](https://github.com/grafana/grafana#readme) - Metrics visualization.
116
+ - [Loki](https://github.com/grafana/loki#readme) - Log aggregation for LLM logs.
117
+ - [LiteLLM Logging](https://docs.litellm.ai/docs/production/logging#readme) - Logging to object storage.
118
+ - [LiteLLM Admin UI](https://docs.litellm.ai/docs/production/litellm_dashboard#readme) - Built-in spend and usage dashboards.
119
+ - [LiteLLM Grafana Dashboard](https://github.com/BerriAI/litellm/tree/main/litellm-main#readme) - Prometheus metrics visualization.
120
+ - [AgentOps](https://www.agentops.ai/#readme) - Observability for agentic loops with tool usage tracking.
121
+
122
+ ## Agentic Orchestration
123
+
124
+ Build and manage autonomous agents, long-running tasks, and multi-agent coordination.
125
+
126
+ - [LangGraph](https://github.com/langchain-ai/langgraph#readme) - Low-level orchestration framework for building stateful, multi-agent applications.
127
+ - [Agency Swarm](https://github.com/vrsen/agency-swarm#readme) - Multi-agent framework building collaborative networks of AI agents.
128
+ - [CrewAI](https://github.com/crewAIInc/crewAI#readme) - Multi-agent framework with LLM routing.
129
+ - [AutoGen](https://github.com/microsoft/autogen#readme) - Microsoft multi-agent framework.
130
+ - [UiPath Maestro](https://www.uipath.com/#readme) - Enterprise orchestrator blending LLM agents with RPA and human-in-the-loop.
131
+
132
+ ## SDKs and Libraries
133
+
134
+ Multi-provider abstractions and LLM client libraries.
135
+
136
+ - [OpenAI Python SDK](https://github.com/openai/openai-python#readme) - Official OpenAI client.
137
+ - [Anthropic Python SDK](https://github.com/anthropics/anthropic-sdk-python#readme) - Official Claude client.
138
+ - [Vercel AI SDK](https://github.com/vercel/ai#readme) - AI SDK for Next.js and Svelte.
139
+ - [LiteLLM Python SDK](https://docs.litellm.ai/docs/python-sdk#readme) - Unified interface for 100+ providers.
140
+ - [Portkey Python SDK](https://docs.portkey.ai/docs/get-started/python-sdk#readme) - Multi-provider with tracing.
141
+ - [LangChain](https://github.com/langchain-ai/langchain#readme) - LLM orchestration framework.
142
+ - [LlamaIndex](https://github.com/run-llama/llama_index#readme) - RAG framework with gateway integrations.
143
+ - [tiktoken](https://github.com/openai/tiktoken#readme) - Fast tokenization by OpenAI.
144
+ - [tokenizers](https://github.com/huggingface/tokenizers#readme) - Hugging Face tokenizers.
145
+ - [httpx](https://github.com/encode/httpx#readme) - Async HTTP client.
146
+ - [Ferro Labs Go SDK](https://github.com/ferro-labs/ai-gateway#readme) - Go SDK for Ferro Labs gateway.
147
+
148
+ ## Guardrails and Security
149
+
150
+ Content filtering, PII redaction, and prompt injection protection.
151
+
152
+ - [Portkey Guardrails](https://docs.portkey.ai/docs/guardrails#readme) - Input and output filtering.
153
+ - [LiteLLM Guardrails](https://docs.litellm.ai/docs/production/guardrails#readme) - Pre and post call hooks.
154
+ - [Ferro Labs Guardrails](https://github.com/ferro-labs/ai-gateway#readme) - Word/phrase filtering and token limits.
155
+ - [PromptGuard](https://github.com/protectai/promptguard#readme) - Prompt injection detection.
156
+ - [NeMo Guardrails](https://github.com/NVIDIA/NeMo-Guardrails#readme) - NVIDIA dialogue guardrails.
157
+ - [LLM Guard](https://github.com/burkelaine/llm-guard#readme) - Security toolkit for LLM applications.
158
+ - [SlashLLM](https://slashllm.com/#readme) - Enterprise security platform.
159
+ - [Azure AI Content Safety](https://azure.microsoft.com/en-us/products/ai-services/content-safety/#readme) - Microsoft content moderation.
160
+ - [AWS AI Services](https://aws.amazon.com/machine-learning/ai-services/#readme) - Amazon content moderation.
161
+ - [DeepEval](https://github.com/confident-ai/deepeval#readme) - Open-source testing framework for LLM outputs.
162
+ - [OpenZiti Security](https://github.com/openziti/llm-gateway#readme) - Zero-trust access with E2E encryption.
163
+
164
+ ## Tutorials and Case Studies
165
+
166
+ - [LiteLLM Quick Start](https://docs.litellm.ai/docs/#readme) - Official LiteLLM documentation.
167
+ - [Bifrost Documentation](https://getmaxim.ai/bifrostdocs#readme) - Bifrost setup guide.
168
+ - [Portkey Quick Start](https://docs.portkey.ai/docs/get-started#readme) - Portkey getting started guide.
169
+ - [Building Multi-Provider LLM Infrastructure](https://medium.com/@ritukampani/future-proof-your-ai-building-a-gateway-for-multiple-llm-providers-b746f80cc169#readme) - Architecture guide.
170
+ - [LLM Orchestration with Bifrost](https://dev.to/debmckinney/llm-orchestration-with-bifrost-routing-fallbacks-and-load-balancing-in-one-layer-40p3#readme) - Implementation guide.
171
+ - [Failover Routing Strategies](https://portkey.ai/blog/failover-routing-strategies-for-llms-in-production#readme) - Production patterns.
172
+ - [Semantic Caching Guide](https://scalemind.ai/blog/semantic-caching-llm-guide#readme) - Implementation best practices.
173
+ - [Cost-Aware Routing Patterns](https://www.mindstudio.ai/blog/best-ai-model-routers-multi-provider-llm-cost/#readme) - Routing strategies.
174
+ - [OpenRouter Multi-Provider Routing](https://dev.to/kirponik/mastering-multi-provider-routing-with-openrouter-1ce3#readme) - OpenRouter guide.
175
+ - [Rasa Multi-LLM Routing](https://rasa.com/docs/production/llm-routing/#readme) - Rasa routing documentation.
176
+ - [Cortex](https://arxiv.org/html/2509.17360v2#readme) - Semantic-aware knowledge caching for LLM agents.
177
+ - [Ferro Labs Getting Started](https://github.com/ferro-labs/ai-gateway#readme) - Go-native gateway setup.
178
+ - [Routerly Documentation](https://www.routerly.ai/#readme) - Intelligent routing guide.
179
+
180
+ ## Communities
181
+
182
+ - [/r/LLMOps](https://reddit.com/r/LLMOps#readme) - Reddit community for LLM operations.
183
+ - [LangChain Discord](https://discord.gg/langchain#readme) - Framework community.
184
+ - [LiteLLM Discord](https://discord.gg/tdNkNArv#readme) - Gateway community.
185
+ - [Hugging Face Community](https://discuss.huggingface.co/#readme) - Model and deployment discussions.
186
+
187
+ ## Related Awesome Lists
188
+
189
+ - [rothgar/awesome-tuis](https://github.com/rothgar/awesome-tuis) - 18K+ stars, comprehensive TUI list.
190
+ - [msmps/awesome-opentui](https://github.com/msmps/awesome-opentui) - Curated open TUI resources.
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: "Awesome Selfhosted Data"
4
+ url: "https://github.com/awesome-selfhosted/awesome-selfhosted-data/issues"
5
+ about: "Please submit your issues or suggestions to the awesome-selfhosted-data repository instead."
@@ -0,0 +1 @@
1
+ Please do not submit pull requests in this repository. Use https://github.com/awesome-selfhosted/awesome-selfhosted-data instead.