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.
- package/.github/workflows/ci.yml +56 -0
- package/.github/workflows/pages.yml +37 -0
- package/Awesome-LLM/LICENSE.md +121 -0
- package/Awesome-LLM/README.md +625 -0
- package/Awesome-LLM/contributing.md +24 -0
- package/Awesome-LLM/paper_list/RLHF.md +1 -0
- package/Awesome-LLM/paper_list/Retrieval_Augmented_Generation.md +6 -0
- package/Awesome-LLM/paper_list/acceleration.md +10 -0
- package/Awesome-LLM/paper_list/alignment.md +20 -0
- package/Awesome-LLM/paper_list/application.md +19 -0
- package/Awesome-LLM/paper_list/augmentation.md +14 -0
- package/Awesome-LLM/paper_list/chain_of_thougt.md +16 -0
- package/Awesome-LLM/paper_list/code_pretraining.md +0 -0
- package/Awesome-LLM/paper_list/detection.md +11 -0
- package/Awesome-LLM/paper_list/evaluation.md +64 -0
- package/Awesome-LLM/paper_list/in_context_learning.md +4 -0
- package/Awesome-LLM/paper_list/instruction-tuning.md +35 -0
- package/Awesome-LLM/paper_list/moe.md +0 -0
- package/Awesome-LLM/paper_list/prompt_learning.md +15 -0
- package/Awesome-LLM/resources/DeepSpeed_light.svg +27 -0
- package/Awesome-LLM/resources/alpa-logo-cropped.png +0 -0
- package/Awesome-LLM/resources/colossal-ai_logo_vertical.png +0 -0
- package/Awesome-LLM/resources/creepy_llm.jpeg +0 -0
- package/Awesome-LLM/resources/image8.gif +0 -0
- package/Awesome-LLM/resources/jax_logo_250px.png +0 -0
- package/Awesome-LLM/resources/logo.png +0 -0
- package/Awesome-LLM/resources/nvidia.png +0 -0
- package/Awesome-LLM/resources/tensorflow.png +0 -0
- 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
- package/LANDING.md +46 -0
- package/MANIFESTO.md +54 -0
- package/README.md +3 -3
- package/SUBMISSIONS.md +43 -0
- package/assets/chart-cost-v2.svg +91 -0
- package/assets/chart-cost-v3.svg +143 -0
- package/assets/chart-features-v2.svg +132 -0
- package/assets/chart-features-v3.svg +211 -0
- package/assets/chart-growth-v2.svg +122 -0
- package/assets/chart-growth-v3.svg +189 -0
- package/assets/cost-simple.svg +64 -0
- package/assets/growth-simple.svg +69 -0
- package/assets/hero-diagram.svg +81 -0
- package/assets/logo-new.svg +21 -0
- package/assets/social-preview-new.svg +100 -0
- package/assets/social-v2.svg +130 -0
- package/assets/social-v3.svg +212 -0
- package/awesome-ai-gateways/CONTRIBUTING.md +49 -0
- package/awesome-ai-gateways/LICENSE +3 -0
- package/awesome-ai-gateways/README.md +190 -0
- package/awesome-selfhosted/.github/ISSUE_TEMPLATE/config.yml +5 -0
- package/awesome-selfhosted/.github/PULL_REQUEST_TEMPLATE.md +1 -0
- package/awesome-selfhosted/LICENSE +376 -0
- package/awesome-selfhosted/README.md +2303 -0
- package/awesome-selfhosted/_static/awesome.png +0 -0
- package/awesome-selfhosted/non-free.md +377 -0
- package/demo-new.tape +71 -0
- package/demo-real.sh +198 -0
- package/demo-simple.tape +205 -0
- package/demo.html +520 -0
- package/demo.sh +85 -0
- package/demo.tape +259 -0
- package/dist/cli/setupWizard.js +194 -0
- package/dist/cli/tui.js +152 -0
- package/dist/cli.js +9 -2
- package/dist/routing/providerRetry.d.ts +5 -0
- package/dist/routing/providerRetry.js +37 -0
- package/dist/routing/providerRetry.js.map +1 -1
- package/docs/CHINESE_PROVIDER_RELIABILITY.md +37 -0
- package/docs/CLAIMS_AND_EVIDENCE.md +58 -0
- package/docs/ENGINEERING_SPEC.md +55 -0
- package/docs/RELEASE_CHECKLIST.md +32 -0
- package/docs/REPRODUCIBILITY.md +63 -0
- package/docs/demo-auto.html +264 -0
- package/docs/demo.html +416 -0
- package/docs/index.html +112 -599
- package/eval/README.md +46 -0
- package/eval/baselines/main.json +12 -0
- package/eval/benchmark_dataset.jsonl +16 -0
- package/eval/check_golden_routes.js +64 -0
- package/eval/datasets/catalog.json +33 -0
- package/eval/datasets/slices/cn_provider_reliability_v1.jsonl +3 -0
- package/eval/datasets/slices/cost_pressure_v1.jsonl +3 -0
- package/eval/datasets/slices/safety_guardrails_v1.jsonl +3 -0
- package/eval/fault_injection_thresholds.json +3 -0
- package/eval/generate_report.js +128 -0
- package/eval/golden_routes.json +114 -0
- package/eval/lib/experiment_registry.js +24 -0
- package/eval/run_eval.js +197 -0
- package/eval/run_fault_injection.js +201 -0
- package/eval/run_shadow_eval.js +85 -0
- package/eval/thresholds.json +9 -0
- package/index.html +667 -0
- package/package.json +29 -168
- package/pytest.ini +2 -0
- package/src/cli/setupWizard.ts +194 -0
- package/src/routing/providerRetry.ts +41 -1
- package/docs/assets/cost-comparison.svg +0 -134
- package/docs/assets/growth-chart-animated.svg +0 -76
- package/docs/assets/og-banner.svg +0 -194
- package/docs/assets/social-preview.svg +0 -194
- package/python/a3m/__pycache__/__init__.cpython-312.pyc +0 -0
- package/python/a3m/__pycache__/client.cpython-312.pyc +0 -0
- package/python/a3m/__pycache__/models.cpython-312.pyc +0 -0
- package/python/a3m/__pycache__/sync_client.cpython-312.pyc +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerRetry.js","sourceRoot":"","sources":["../../src/routing/providerRetry.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAoiBH,gDAEC;AAOD,wDAKC;AAhjBD,oDAAkE;AAqClE,+DAA+D;AAC/D,wBAAwB;AACxB,+DAA+D;AAE/D,MAAM,oBAAoB,GAAgB;IACxC,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,CAAC;IACpB,eAAe,EAAE;QACf,YAAY;QACZ,WAAW;QACX,cAAc;QACd,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,eAAe;QACf,SAAS;QACT,gBAAgB;QAChB,WAAW;KACZ;CACF,CAAC;AA2fA,oDAAoB;AAzfT,QAAA,uBAAuB,GAAwB;IAC1D,0DAA0D;IAC1D,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,GAAG,oBAAoB;YACvB,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,IAAI;SACrB;QACD,gBAAgB,EAAE,CAAC;KACpB;IACD,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,GAAG,oBAAoB;YACvB,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,IAAI;SACrB;QACD,gBAAgB,EAAE,CAAC;KACpB;IACD,MAAM,EAAE;QACN,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,GAAG,oBAAoB;YACvB,UAAU,EAAE,CAAC;SACd;QACD,gBAAgB,EAAE,CAAC;KACpB;IACD,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,GAAG,oBAAoB;YACvB,UAAU,EAAE,CAAC;SACd;QACD,gBAAgB,EAAE,CAAC;KACpB;IACD,SAAS,EAAE;QACT,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,GAAG,oBAAoB;YACvB,UAAU,EAAE,CAAC;SACd;QACD,gBAAgB,EAAE,CAAC;KACpB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,GAAG,oBAAoB;YACvB,UAAU,EAAE,CAAC;SACd;QACD,gBAAgB,EAAE,CAAC;KACpB;IACD,0BAA0B;IAC1B,QAAQ,EAAE;QACR,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,GAAG,oBAAoB;YACvB,UAAU,EAAE,CAAC;SACd;QACD,gBAAgB,EAAE,CAAC;KACpB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,GAAG,oBAAoB;YACvB,UAAU,EAAE,CAAC;SACd;QACD,gBAAgB,EAAE,CAAC;KACpB;IACD,MAAM,EAAE;QACN,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,GAAG,oBAAoB;YACvB,UAAU,EAAE,CAAC;SACd;QACD,gBAAgB,EAAE,CAAC;KACpB;IACD,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,GAAG,oBAAoB;YACvB,UAAU,EAAE,CAAC;SACd;QACD,gBAAgB,EAAE,CAAC;KACpB;IACD,yCAAyC;IACzC,SAAS,EAAE;QACT,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,EAAE,GAAG,oBAAoB,EAAE;QAClC,gBAAgB,EAAE,CAAC;KACpB;CACF,CAAC;AAEF,+CAA+C;AAC/C,MAAM,uBAAuB,GAA2B;IACtD,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;CAChB,CAAC;AAgZA,0DAAuB;AA9YzB,+DAA+D;AAC/D,yBAAyB;AACzB,+DAA+D;AAE/D,MAAa,oBAAoB;IACvB,OAAO,CAAiF;IACxF,KAAK,CAA0B;IAC/B,eAAe,CAAc;IAErC,YAAY,aAAmC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QAEjC,2BAA2B;QAC3B,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,+BAAuB,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE;gBAC1B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC;aAC/C,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAED,uBAAuB;QACvB,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,QAAgB;QAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;YACvB,aAAa,EAAE,CAAC;YAChB,kBAAkB,EAAE,CAAC;YACrB,cAAc,EAAE,CAAC;YACjB,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;YACnB,gBAAgB,EAAE,CAAC;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,iBAAiB,CACf,QAAgB,EAChB,MAIE;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI;YAC7C,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE,GAAG,oBAAoB,EAAE;YAClC,gBAAgB,EAAE,CAAC;SACpB,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO;YAC3C,KAAK,EAAE;gBACL,GAAG,QAAQ,CAAC,KAAK;gBACjB,GAAG,MAAM,CAAC,KAAK;gBACf,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe,IAAI,QAAQ,CAAC,KAAK,CAAC,eAAe;aACjF;YACD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB;SACvE,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAAgB;QACxB,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAE,CAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,QAAgB,EAChB,EAAoB,EACpB,OAAgG;QAEhG,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;QAEnD,IAAI,SAAc,CAAC;QACnB,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC;YACnF,QAAQ,EAAE,CAAC;YAEX,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBAE1D,yBAAyB;gBACzB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAEhC,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,SAAS,GAAG,KAAK,CAAC;gBAElB,mCAAmC;gBACnC,IAAI,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBAC5C,MAAM;gBACR,CAAC;gBAED,8BAA8B;gBAC9B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;oBAC3C,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,6BAA6B;gBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACjD,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEnE,IAAI,WAAW,IAAI,YAAY,IAAI,gBAAgB,EAAE,CAAC;oBACpD,8BAA8B;oBAC9B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;oBAC3C,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,kBAAkB;gBAClB,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAE9E,8BAA8B;gBAC9B,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACpD,CAAC;gBAED,oBAAoB;gBACpB,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE1B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,SAAS,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAI,EAAoB,EAAE,SAAiB;QACzE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7C,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,EAAE,EAAE;iBACD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAU;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,KAAK,CAAC;QAClD,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,oBAAoB,CAAC,eAAgB,CAAC;QAExF,2BAA2B;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;QACvE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAEpD,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,IACE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC/B,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAChC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;YAAE,OAAO,IAAI,CAAC;QAC3D,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QAE7E,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAU;QACzB,OAAO,KAAK,EAAE,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,UAAU,KAAK,GAAG,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,qBAAqB,CACnB,OAAe,EACf,MAAmB,EACnB,KAAW;QAEX,sCAAsC;QACtC,IAAI,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;YACpF,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;gBAC7D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;oBAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnD,CAAC;gBACD,qDAAqD;gBACrD,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC5C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;oBACrC,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACrD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;wBACf,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAEtF,mBAAmB;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAE3D,iEAAiE;QACjE,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;QAEzC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,qBAAqB,CACnB,QAAgB,EAChB,MAAc,EACd,cAAuB;QAEvB,qCAAqC;QACrC,MAAM,YAAY,GAAG,cAAc,IAAI,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAC;QAE9D,+BAA+B;QAC/B,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAE7F,mEAAmE;QACnE,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,YAAY,GAAG,qBAAqB,CAAC;QAEzD,IAAI,WAAW,GAAG,YAAY,EAAE,CAAC;YAC/B,iDAAiD;YACjD,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC;iBAC5D,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,GAAG,YAAY,CAAC;iBACpE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEjC,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEjF,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,4BAA4B,WAAW,yBAAyB,YAAY,cAAc,QAAQ,EAAE;gBAC5G,iBAAiB,EAAE,SAAS;aAC7B,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAgB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAA0B,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,MAAM,GAA+B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,QAAiB;QAC1B,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,kBAAkB;IAClB,+DAA+D;IAEvD,kBAAkB,CAAC,SAAiB;QAC1C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,2BAA2B,SAAS,IAAI,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;QACzB,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QACnB,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEO,aAAa,CAAC,QAAgB,EAAE,SAAiB;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAE3B,8BAA8B;QAC9B,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,KAAK,CAAC,gBAAgB,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;YACpF,KAAK,CAAC,gBAAgB,GAAG,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;QAC9D,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,QAAgB,EAAE,UAAkB;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,YAAY,IAAI,UAAU,CAAC;IACnC,CAAC;IAEO,WAAW,CAAC,QAAgB,EAAE,WAAoB;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,KAAK,CAAC,YAAY,EAAE,CAAC;QACrB,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AA3WD,oDA2WC;AAED,+DAA+D;AAC/D,wBAAwB;AACxB,+DAA+D;AAE/D;;GAEG;AACH,SAAgB,kBAAkB,CAAC,aAAmC;IACpE,OAAO,IAAI,oBAAoB,CAAC,aAAa,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,IAAI,cAAc,GAAgC,IAAI,CAAC;AAEvD,SAAgB,sBAAsB;IACpC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"providerRetry.js","sourceRoot":"","sources":["../../src/routing/providerRetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Chinese Provider Reliability Playbook
|
|
2
|
+
|
|
3
|
+
This playbook captures retry/fail-fast guidance for Chinese LLM providers used by A3M.
|
|
4
|
+
|
|
5
|
+
## Why this exists
|
|
6
|
+
|
|
7
|
+
A generic `429 => retry` rule is often too coarse. Some Chinese-provider 429/4xx states are account/quota policy states that should fail fast instead of burning retries.
|
|
8
|
+
|
|
9
|
+
## A3M policy
|
|
10
|
+
|
|
11
|
+
- Retry:
|
|
12
|
+
- transient network failures (`ECONNRESET`, `ETIMEDOUT`, 5xx)
|
|
13
|
+
- throttling with temporary overload semantics
|
|
14
|
+
- 429 with explicit `Retry-After` timing
|
|
15
|
+
- Fail fast (non-retryable):
|
|
16
|
+
- auth/policy/billing/account states (401/402/403)
|
|
17
|
+
- account abnormal / access terminated
|
|
18
|
+
- hard quota exhaustion messaging (hour/week/month quota exhausted, org TPD exceeded)
|
|
19
|
+
|
|
20
|
+
## Implemented in code
|
|
21
|
+
|
|
22
|
+
- `src/routing/providerRetry.ts`
|
|
23
|
+
- `isPermanentProviderStateError(...)` now guards retries.
|
|
24
|
+
|
|
25
|
+
## Validation
|
|
26
|
+
|
|
27
|
+
- `eval/run_fault_injection.js`
|
|
28
|
+
- Includes `no_retry_on_chinese_quota_account_errors` scenario.
|
|
29
|
+
|
|
30
|
+
## Operational guidance
|
|
31
|
+
|
|
32
|
+
- Track provider-specific errors by normalized category:
|
|
33
|
+
- `transient`, `rate_limit_transient`, `quota_hard`, `auth`, `account_policy`, `server`
|
|
34
|
+
- Use this categorization to:
|
|
35
|
+
- reduce wasted retries
|
|
36
|
+
- improve fallback quality
|
|
37
|
+
- produce cleaner incident dashboards
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Claims and Evidence
|
|
2
|
+
|
|
3
|
+
This file maps product claims to reproducible evidence in-repo.
|
|
4
|
+
|
|
5
|
+
## Routing correctness and stability
|
|
6
|
+
|
|
7
|
+
- Claim: routing behavior is stable across releases.
|
|
8
|
+
- Evidence:
|
|
9
|
+
- `eval/benchmark_dataset.jsonl`
|
|
10
|
+
- `eval/golden_routes.json`
|
|
11
|
+
- `npm run eval:golden`
|
|
12
|
+
|
|
13
|
+
## Routing quality thresholds
|
|
14
|
+
|
|
15
|
+
- Claim: routing meets minimum quality bars for complexity/flags/domain/provider type.
|
|
16
|
+
- Evidence:
|
|
17
|
+
- `eval/thresholds.json`
|
|
18
|
+
- `eval/run_eval.js`
|
|
19
|
+
- `npm run eval:routing`
|
|
20
|
+
- Output artifact: `eval/results/latest.json`
|
|
21
|
+
|
|
22
|
+
## Reliability under failure
|
|
23
|
+
|
|
24
|
+
- Claim: retry/circuit-breaker/fallback logic works under failure scenarios.
|
|
25
|
+
- Evidence:
|
|
26
|
+
- `eval/run_fault_injection.js`
|
|
27
|
+
- `eval/fault_injection_thresholds.json`
|
|
28
|
+
- `npm run eval:faults`
|
|
29
|
+
- Output artifact: `eval/results/fault_injection_latest.json`
|
|
30
|
+
|
|
31
|
+
## Test coverage enforcement
|
|
32
|
+
|
|
33
|
+
- Claim: changes are tested in CI before merge.
|
|
34
|
+
- Evidence:
|
|
35
|
+
- `.github/workflows/ci.yml`
|
|
36
|
+
- Includes:
|
|
37
|
+
- `npm test`
|
|
38
|
+
- `npm run eval:routing`
|
|
39
|
+
- `npm run eval:golden`
|
|
40
|
+
- `npm run eval:faults`
|
|
41
|
+
- `npm run eval:shadow`
|
|
42
|
+
- `npm run test:py`
|
|
43
|
+
|
|
44
|
+
## Baseline governance
|
|
45
|
+
|
|
46
|
+
- Baseline file:
|
|
47
|
+
- `eval/baselines/main.json`
|
|
48
|
+
- Rule:
|
|
49
|
+
- Update baseline only when behavior change is intentional.
|
|
50
|
+
- PR must explain what changed and why.
|
|
51
|
+
|
|
52
|
+
## Experiment traceability
|
|
53
|
+
|
|
54
|
+
- Claim: evaluation outcomes are auditable over time.
|
|
55
|
+
- Evidence:
|
|
56
|
+
- `eval/lib/experiment_registry.js`
|
|
57
|
+
- `eval/experiments.jsonl` (local append-only run log)
|
|
58
|
+
- each eval runner appends run metadata + decision.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# A3M Engineering Spec (Canonical)
|
|
2
|
+
|
|
3
|
+
This is the canonical engineering behavior spec for A3M Router.
|
|
4
|
+
Marketing and launch content are non-canonical; if there is a conflict, this file wins.
|
|
5
|
+
|
|
6
|
+
## Core Routing Contract
|
|
7
|
+
|
|
8
|
+
- Input: `routeQuery(prompt: string, available_models?: string[], budget_multiplier?: number)`
|
|
9
|
+
- Output:
|
|
10
|
+
- `primary_model`
|
|
11
|
+
- `fallback_models`
|
|
12
|
+
- `confidence`
|
|
13
|
+
- `estimated_cost`
|
|
14
|
+
- `estimated_latency_ms`
|
|
15
|
+
- `features` (complexity + flags + domain)
|
|
16
|
+
- `provider_type`
|
|
17
|
+
|
|
18
|
+
## Reliability Components
|
|
19
|
+
|
|
20
|
+
- Retry handling:
|
|
21
|
+
- `ProviderRetryHandler` supports transient retries, backoff+jitter, and rate-limit handling.
|
|
22
|
+
- Health management:
|
|
23
|
+
- `ProviderHealthManager` maintains rolling health and circuit breaker states.
|
|
24
|
+
- Circuit breaker opens after configured consecutive failures.
|
|
25
|
+
- Fallback chain:
|
|
26
|
+
- Health-sorted fallback ordering with unavailable providers pushed down.
|
|
27
|
+
|
|
28
|
+
## Guardrails
|
|
29
|
+
|
|
30
|
+
- Input and output checks implemented in `src/security/guardrails.ts`.
|
|
31
|
+
- Includes prompt injection scoring, PII detection/redaction, and output validation hooks.
|
|
32
|
+
|
|
33
|
+
## Cost/Budget
|
|
34
|
+
|
|
35
|
+
- Budget enforcement and spend tracking:
|
|
36
|
+
- `src/cost/budgetEnforcer.ts`
|
|
37
|
+
- `src/cost/costTracker.ts`
|
|
38
|
+
|
|
39
|
+
## Proxy Server
|
|
40
|
+
|
|
41
|
+
- OpenAI-compatible endpoints implemented in `src/server/proxyServer.ts`.
|
|
42
|
+
- Expected behavior:
|
|
43
|
+
- Model resolution through mapper + router
|
|
44
|
+
- Provider call with fallback behavior
|
|
45
|
+
- Usage/cost logging for requests
|
|
46
|
+
|
|
47
|
+
## Validation Gates (Required)
|
|
48
|
+
|
|
49
|
+
- Node test suite: `npm test`
|
|
50
|
+
- Python tests: `npm run test:py`
|
|
51
|
+
- Routing eval: `npm run eval:routing`
|
|
52
|
+
- Golden routing regression: `npm run eval:golden`
|
|
53
|
+
- Fault injection reliability: `npm run eval:faults`
|
|
54
|
+
|
|
55
|
+
All gates above must pass for release readiness.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Release Checklist
|
|
2
|
+
|
|
3
|
+
Use this checklist before tagging a release.
|
|
4
|
+
|
|
5
|
+
## Mandatory quality gates
|
|
6
|
+
|
|
7
|
+
- [ ] `npm test` passes
|
|
8
|
+
- [ ] `npm run test:py` passes
|
|
9
|
+
- [ ] `npm run eval:routing` passes
|
|
10
|
+
- [ ] `npm run eval:golden` passes
|
|
11
|
+
- [ ] `npm run eval:faults` passes
|
|
12
|
+
- [ ] `npm run eval:report` passes
|
|
13
|
+
|
|
14
|
+
## Evidence artifacts reviewed
|
|
15
|
+
|
|
16
|
+
- [ ] `eval/results/latest.json` reviewed for routing summary
|
|
17
|
+
- [ ] `eval/results/fault_injection_latest.json` reviewed for reliability scenarios
|
|
18
|
+
- [ ] `eval/results/shadow_latest.json` reviewed for divergence/cost deltas
|
|
19
|
+
- [ ] `eval/results/report_latest.md` attached to release review
|
|
20
|
+
- [ ] Any baseline change in `eval/baselines/main.json` is intentional and explained
|
|
21
|
+
|
|
22
|
+
## Documentation consistency
|
|
23
|
+
|
|
24
|
+
- [ ] `docs/ENGINEERING_SPEC.md` reflects current behavior
|
|
25
|
+
- [ ] `docs/CLAIMS_AND_EVIDENCE.md` mappings are still valid
|
|
26
|
+
- [ ] Public claims do not exceed available evidence
|
|
27
|
+
|
|
28
|
+
## Release hygiene
|
|
29
|
+
|
|
30
|
+
- [ ] Version bump completed
|
|
31
|
+
- [ ] Changelog updated
|
|
32
|
+
- [ ] CI green on release commit
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Reproducibility Contract
|
|
2
|
+
|
|
3
|
+
This document defines the reproducible evaluation contract for A3M Router.
|
|
4
|
+
|
|
5
|
+
## Environment
|
|
6
|
+
|
|
7
|
+
- Node: `>=18` (CI uses Node 22)
|
|
8
|
+
- Python: `3.12` (for Python tests)
|
|
9
|
+
- Install:
|
|
10
|
+
- `npm ci`
|
|
11
|
+
- `python3 -m pip install pytest pytest-asyncio`
|
|
12
|
+
|
|
13
|
+
## Required commands
|
|
14
|
+
|
|
15
|
+
Run in repository root:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm test
|
|
19
|
+
npm run test:py
|
|
20
|
+
npm run eval:routing
|
|
21
|
+
npm run eval:golden
|
|
22
|
+
npm run eval:faults
|
|
23
|
+
npm run eval:shadow
|
|
24
|
+
npm run eval:report
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Deterministic inputs
|
|
28
|
+
|
|
29
|
+
- Core regression dataset:
|
|
30
|
+
- `eval/benchmark_dataset.jsonl`
|
|
31
|
+
- Golden snapshot:
|
|
32
|
+
- `eval/golden_routes.json`
|
|
33
|
+
- Thresholds:
|
|
34
|
+
- `eval/thresholds.json`
|
|
35
|
+
- `eval/fault_injection_thresholds.json`
|
|
36
|
+
|
|
37
|
+
## Artifacts generated
|
|
38
|
+
|
|
39
|
+
- `eval/results/latest.json`
|
|
40
|
+
- `eval/results/fault_injection_latest.json`
|
|
41
|
+
- `eval/results/shadow_latest.json`
|
|
42
|
+
- `eval/results/report_latest.md`
|
|
43
|
+
|
|
44
|
+
## Experiment registry
|
|
45
|
+
|
|
46
|
+
- Every eval run appends to:
|
|
47
|
+
- `eval/experiments.jsonl` (local artifact)
|
|
48
|
+
- Record includes:
|
|
49
|
+
- timestamp
|
|
50
|
+
- commit (if available)
|
|
51
|
+
- experiment id
|
|
52
|
+
- dataset version
|
|
53
|
+
- metrics
|
|
54
|
+
- decision
|
|
55
|
+
|
|
56
|
+
## Baseline update policy
|
|
57
|
+
|
|
58
|
+
- Baseline file: `eval/baselines/main.json`
|
|
59
|
+
- Only update baseline when behavior change is intentional.
|
|
60
|
+
- PR must explain:
|
|
61
|
+
- what changed
|
|
62
|
+
- why baseline needs update
|
|
63
|
+
- expected impact on cost/quality/reliability
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>A3M Router - Auto-Playing Demo</title>
|
|
7
|
+
<style>
|
|
8
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
9
|
+
|
|
10
|
+
body {
|
|
11
|
+
background: #0d1117;
|
|
12
|
+
color: #e6edf3;
|
|
13
|
+
font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', Monaco, monospace;
|
|
14
|
+
min-height: 100vh;
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-direction: column;
|
|
17
|
+
align-items: center;
|
|
18
|
+
justify-content: center;
|
|
19
|
+
padding: 20px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.container { max-width: 900px; width: 100%; }
|
|
23
|
+
|
|
24
|
+
h1 { color: #58a6ff; margin-bottom: 8px; font-size: 1.8rem; }
|
|
25
|
+
.tagline { color: #8b949e; margin-bottom: 24px; }
|
|
26
|
+
|
|
27
|
+
.scene {
|
|
28
|
+
background: #161b22;
|
|
29
|
+
border: 1px solid #30363d;
|
|
30
|
+
border-radius: 12px;
|
|
31
|
+
padding: 24px;
|
|
32
|
+
margin: 16px 0;
|
|
33
|
+
animation: fadeIn 0.5s ease;
|
|
34
|
+
display: none;
|
|
35
|
+
}
|
|
36
|
+
.scene.active { display: block; }
|
|
37
|
+
|
|
38
|
+
@keyframes fadeIn {
|
|
39
|
+
from { opacity: 0; transform: translateY(20px); }
|
|
40
|
+
to { opacity: 1; transform: translateY(0); }
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.line { margin: 6px 0; line-height: 1.5; }
|
|
44
|
+
.comment { color: #8b949e; }
|
|
45
|
+
.keyword { color: #ff7b72; }
|
|
46
|
+
.string { color: #a5d6ff; }
|
|
47
|
+
|
|
48
|
+
.error-text { color: #f85149; }
|
|
49
|
+
.success-text { color: #3fb950; }
|
|
50
|
+
.info-text { color: #58a6ff; }
|
|
51
|
+
.muted { color: #8b949e; }
|
|
52
|
+
.money { color: #3fb950; font-size: 1.3rem; font-weight: bold; }
|
|
53
|
+
|
|
54
|
+
.box {
|
|
55
|
+
background: #21262d;
|
|
56
|
+
border: 1px solid #30363d;
|
|
57
|
+
border-radius: 8px;
|
|
58
|
+
padding: 16px;
|
|
59
|
+
margin: 12px 0;
|
|
60
|
+
}
|
|
61
|
+
.box.error { border-color: #f85149; }
|
|
62
|
+
.box.success { border-color: #3fb950; }
|
|
63
|
+
|
|
64
|
+
.ascii {
|
|
65
|
+
background: #0d1117;
|
|
66
|
+
padding: 12px;
|
|
67
|
+
border-radius: 6px;
|
|
68
|
+
font-size: 0.85rem;
|
|
69
|
+
white-space: pre;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.cost-row { display: flex; gap: 16px; margin: 12px 0; }
|
|
73
|
+
.cost-card {
|
|
74
|
+
flex: 1;
|
|
75
|
+
background: #21262d;
|
|
76
|
+
border-radius: 8px;
|
|
77
|
+
padding: 16px;
|
|
78
|
+
text-align: center;
|
|
79
|
+
}
|
|
80
|
+
.cost-card.bad { border: 1px solid #f85149; }
|
|
81
|
+
.cost-card.good { border: 1px solid #3fb950; }
|
|
82
|
+
.cost-card .amount { font-size: 2rem; font-weight: bold; }
|
|
83
|
+
.cost-card.bad .amount { color: #f85149; }
|
|
84
|
+
.cost-card.good .amount { color: #3fb950; }
|
|
85
|
+
|
|
86
|
+
.install-box {
|
|
87
|
+
background: #161b22;
|
|
88
|
+
border: 2px solid #58a6ff;
|
|
89
|
+
border-radius: 12px;
|
|
90
|
+
padding: 24px;
|
|
91
|
+
text-align: center;
|
|
92
|
+
}
|
|
93
|
+
.install-cmd {
|
|
94
|
+
background: #0d1117;
|
|
95
|
+
padding: 12px 24px;
|
|
96
|
+
border-radius: 6px;
|
|
97
|
+
font-size: 1rem;
|
|
98
|
+
color: #3fb950;
|
|
99
|
+
margin: 12px 0;
|
|
100
|
+
font-family: monospace;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.footer {
|
|
104
|
+
margin-top: 24px;
|
|
105
|
+
color: #8b949e;
|
|
106
|
+
text-align: center;
|
|
107
|
+
font-size: 0.85rem;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.progress {
|
|
111
|
+
display: flex;
|
|
112
|
+
gap: 8px;
|
|
113
|
+
justify-content: center;
|
|
114
|
+
margin: 20px 0;
|
|
115
|
+
}
|
|
116
|
+
.dot {
|
|
117
|
+
width: 10px; height: 10px;
|
|
118
|
+
background: #30363d;
|
|
119
|
+
border-radius: 50%;
|
|
120
|
+
}
|
|
121
|
+
.dot.done { background: #58a6ff; }
|
|
122
|
+
</style>
|
|
123
|
+
</head>
|
|
124
|
+
<body>
|
|
125
|
+
<div class="container">
|
|
126
|
+
<h1>🔀 A3M Router</h1>
|
|
127
|
+
<p class="tagline">One prompt in. The right model out.</p>
|
|
128
|
+
|
|
129
|
+
<!-- Scene 1 -->
|
|
130
|
+
<div class="scene active" id="s1">
|
|
131
|
+
<h2 style="color: #f85149;">❌ Without A3M</h2>
|
|
132
|
+
<div class="box error">
|
|
133
|
+
<div class="line comment">#!/bin/bash</div>
|
|
134
|
+
<div class="line comment"># Your LLM app today</div>
|
|
135
|
+
<div class="line"></div>
|
|
136
|
+
<div class="line"><span class="keyword">const</span> response = <span class="keyword">await</span> openai.chat.completions.create({</div>
|
|
137
|
+
<div class="line"> model: <span class="string">"gpt-4o"</span>, <span class="comment">// Always expensive</span></div>
|
|
138
|
+
<div class="line"> messages: [{ role: <span class="string">"user"</span>, content: <span class="string">"Explain quantum entanglement"</span> }]</div>
|
|
139
|
+
<div class="line">});</div>
|
|
140
|
+
</div>
|
|
141
|
+
<div class="box error">
|
|
142
|
+
<div class="line error-text">❌ Problem: $0.015 per request</div>
|
|
143
|
+
<div class="line error-text">❌ No fallback if OpenAI goes down</div>
|
|
144
|
+
<div class="line error-text">❌ Manual model selection forever</div>
|
|
145
|
+
</div>
|
|
146
|
+
</div>
|
|
147
|
+
|
|
148
|
+
<!-- Scene 2 -->
|
|
149
|
+
<div class="scene" id="s2">
|
|
150
|
+
<h2 style="color: #3fb950;">✅ With A3M - One Line Change</h2>
|
|
151
|
+
<div class="box">
|
|
152
|
+
<div class="line comment"># With A3M: one line change</div>
|
|
153
|
+
<div class="line"><span class="keyword">const</span> response = <span class="keyword">await</span> fetch(<span class="string">"http://localhost:8787/v1/chat/completions"</span>, {</div>
|
|
154
|
+
<div class="line"> method: <span class="string">"POST"</span>,</div>
|
|
155
|
+
<div class="line"> body: JSON.stringify({</div>
|
|
156
|
+
<div class="line"> model: <span class="string">"auto"</span>, <span class="comment">// ← A3M picks the best</span></div>
|
|
157
|
+
<div class="line"> messages: [{ role: <span class="string">"user"</span>, content: <span class="string">"Explain quantum entanglement"</span> }]</div>
|
|
158
|
+
<div class="line"> })</div>
|
|
159
|
+
<div class="line">});</div>
|
|
160
|
+
</div>
|
|
161
|
+
<div class="box success">
|
|
162
|
+
<div class="line info-text">📊 Task: explanation → Complexity: simple → Budget: minimize</div>
|
|
163
|
+
<div class="line success-text">✅ Routed to: Groq (FREE, 847ms)</div>
|
|
164
|
+
<div class="line muted"> Cost: $0.00 | Quality: 94%</div>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
|
|
168
|
+
<!-- Scene 3 -->
|
|
169
|
+
<div class="scene" id="s3">
|
|
170
|
+
<h2 style="color: #d29922;">🔄 Graceful Failover</h2>
|
|
171
|
+
<div class="line comment"># A3M gracefully handles provider failures...</div>
|
|
172
|
+
<div class="ascii">
|
|
173
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
174
|
+
[Groq] — Attempting connection...
|
|
175
|
+
[Groq] — ✗ FAILED — 503 Service Unavailable
|
|
176
|
+
[Circuit Breaker] — Tripped after 3 failures
|
|
177
|
+
[DeepSeek] — HEALTHY — Switching...
|
|
178
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
179
|
+
</div>
|
|
180
|
+
<div class="box success">
|
|
181
|
+
<div class="line success-text">✅ Response delivered via DeepSeek fallback</div>
|
|
182
|
+
<div class="line muted"> Your app: never knew there was a problem</div>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
|
|
186
|
+
<!-- Scene 4 -->
|
|
187
|
+
<div class="scene" id="s4">
|
|
188
|
+
<h2 style="color: #3fb950;">💰 Cost Comparison</h2>
|
|
189
|
+
<div class="line comment"># Same query. Dramatically different costs.</div>
|
|
190
|
+
<div class="cost-row">
|
|
191
|
+
<div class="cost-card bad">
|
|
192
|
+
<div class="muted">WITHOUT A3M</div>
|
|
193
|
+
<div class="amount">$0.0015</div>
|
|
194
|
+
<div class="muted">GPT-4o @ $3.00/1K</div>
|
|
195
|
+
</div>
|
|
196
|
+
<div class="cost-card good">
|
|
197
|
+
<div class="muted">WITH A3M</div>
|
|
198
|
+
<div class="amount">$0.00</div>
|
|
199
|
+
<div class="muted">Groq @ $0.00/1K</div>
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
<div class="box success">
|
|
203
|
+
<div class="line success-text">💰 SAVINGS: 100% per query</div>
|
|
204
|
+
<div class="line"> At 1000 queries/day → <strong>$1.50 saved daily</strong></div>
|
|
205
|
+
<div class="line"> At 1000 queries/day → <strong>$547 saved yearly</strong></div>
|
|
206
|
+
</div>
|
|
207
|
+
</div>
|
|
208
|
+
|
|
209
|
+
<!-- Scene 5 -->
|
|
210
|
+
<div class="scene" id="s5">
|
|
211
|
+
<div class="install-box">
|
|
212
|
+
<div style="color: #58a6ff; font-size: 1.1rem;">Get started in 10 seconds:</div>
|
|
213
|
+
<div class="install-cmd">npm install -g adaptive-memory-multi-model-router</div>
|
|
214
|
+
<div class="muted"># Auto-detects your API keys, zero config</div>
|
|
215
|
+
<div class="install-cmd" style="color: #58a6ff;">npx a3m-router serve</div>
|
|
216
|
+
<div class="muted"># Change: model: 'gpt-4o' → model: 'auto'</div>
|
|
217
|
+
</div>
|
|
218
|
+
<div style="text-align: center; margin-top: 24px;">
|
|
219
|
+
<div class="muted">🔗 github.com/Das-rebel/adaptive-memory-multi-model-router</div>
|
|
220
|
+
<div class="muted">📦 npmjs.com/package/adaptive-memory-multi-model-router</div>
|
|
221
|
+
</div>
|
|
222
|
+
<div style="text-align: center; margin-top: 24px; color: #a371f7; font-size: 1.2rem;">
|
|
223
|
+
✨ One prompt in. The right model out. ✨
|
|
224
|
+
</div>
|
|
225
|
+
</div>
|
|
226
|
+
|
|
227
|
+
<div class="progress">
|
|
228
|
+
<div class="dot done" id="d1"></div>
|
|
229
|
+
<div class="dot" id="d2"></div>
|
|
230
|
+
<div class="dot" id="d3"></div>
|
|
231
|
+
<div class="dot" id="d4"></div>
|
|
232
|
+
<div class="dot" id="d5"></div>
|
|
233
|
+
</div>
|
|
234
|
+
|
|
235
|
+
<div class="footer">
|
|
236
|
+
Open Source LLM Router • 47+ Providers • Budget Enforcement • Semantic Cache
|
|
237
|
+
</div>
|
|
238
|
+
</div>
|
|
239
|
+
|
|
240
|
+
<script>
|
|
241
|
+
// Auto-playing demo - no button needed
|
|
242
|
+
const scenes = 5;
|
|
243
|
+
const delay = 8000; // 8 seconds per scene
|
|
244
|
+
|
|
245
|
+
function showScene(n) {
|
|
246
|
+
document.querySelectorAll('.scene').forEach(s => s.classList.remove('active'));
|
|
247
|
+
document.querySelectorAll('.dot').forEach(d => d.classList.remove('done'));
|
|
248
|
+
|
|
249
|
+
document.getElementById('s' + n).classList.add('active');
|
|
250
|
+
for (let i = 1; i <= n; i++) {
|
|
251
|
+
document.getElementById('d' + i).classList.add('done');
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
let current = 1;
|
|
256
|
+
showScene(current);
|
|
257
|
+
|
|
258
|
+
setInterval(() => {
|
|
259
|
+
current = current % scenes + 1;
|
|
260
|
+
showScene(current);
|
|
261
|
+
}, delay);
|
|
262
|
+
</script>
|
|
263
|
+
</body>
|
|
264
|
+
</html>
|