{"adoption": {"forks": 326, "observed_at": "2026-08-28T04:08:22.647255+00:00", "stars": 3826}, "canonical_url": "https://ross.abutalabs.com/products/lorax", "card": {"archived": false, "artifact_type": "service", "description": "Multi-LoRA inference server that scales to 1000s of fine-tuned LLMs", "domain": ["large-language-models", "machine-learning", "apis", "self-hosted", "gpu-computing"], "enriched": true, "function": ["llm-inference", "http-server", "api-framework", "monitoring", "tracing"], "health_score": 82, "homepage": "https://loraexchange.ai", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["predibase/lorax"], "name": "predibase/lorax", "platform": ["python", "self-hosted"], "pushed_at": "2026-05-28T18:12:20+00:00", "repo": "predibase/lorax", "stars": 3826, "tags": ["lora", "model-serving", "openai-compatible-api", "fine-tuned-models", "adapter-hot-swapping", "continuous-batching", "quantization", "helm-charts", "docker", "kubernetes", "gpu", "linux"], "topics": ["fine-tuning", "gpt", "llama", "llm", "llm-inference", "llm-serving", "llmops", "lora", "model-serving", "pytorch", "transformers"], "urls": [], "use_cases": ["serve thousands of fine-tuned lora models on one gpu", "host a multi-tenant llm inference server with per-request adapters", "reduce cost of serving many fine-tuned llms", "run an openai-compatible api for custom fine-tuned models", "dynamically load huggingface lora adapters per request", "deploy llm serving on kubernetes with helm", "merge multiple lora adapters into an ensemble at inference time", "serve structured  output from fine-tuned llms"], "what_it_is": "LoRAX is a multi-LoRA inference server that serves thousands of fine-tuned LLM adapters on a single GPU by sharing a common base model. It provides an OpenAI-compatible REST API with dynamic adapter loading, heterogeneous continuous batching, and production features like Prometheus metrics and Kubernetes Helm charts.", "when_to_avoid": ["you only serve one or a few full fine-tuned models rather than LoRA adapters", "you need non-LoRA fine-tuning methods like full-weight tuning served together", "you need a simple local playground rather than a production serving server", "your base models differ per request, defeating shared-base-model efficiency"], "when_to_choose": ["you need to serve many fine-tuned LoRA adapters of the same base model cost-effectively", "you want an OpenAI-compatible API with per-request adapter selection", "you need production features like metrics, tracing, and Kubernetes deployment", "you want to merge adapters per request to build ensembles"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/lorax", "repo": "predibase/lorax", "role": "main", "score": 62}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:22.647255+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:26:21.836370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ce55f7eebce74c344ee35d0c0cf5dc3a7d13d603e5e1348f0fcbe25f284af70", "fetched_at": "2026-08-28T04:08:22.647255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/predibase/lorax"}, {"content_hash": "60e544500dc084161b6848561aabb34eebc954b1d885d4bd6dc5181080dec9a1", "fetched_at": "2026-08-29T09:21:11.777160+00:00", "kind": "homepage", "missing": false, "url": "https://loraexchange.ai"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:22.647255+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:26:21.836370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ce55f7eebce74c344ee35d0c0cf5dc3a7d13d603e5e1348f0fcbe25f284af70", "fetched_at": "2026-08-28T04:08:22.647255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/predibase/lorax"}, {"content_hash": "60e544500dc084161b6848561aabb34eebc954b1d885d4bd6dc5181080dec9a1", "fetched_at": "2026-08-29T09:21:11.777160+00:00", "kind": "homepage", "missing": false, "url": "https://loraexchange.ai"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:26:21.836370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ce55f7eebce74c344ee35d0c0cf5dc3a7d13d603e5e1348f0fcbe25f284af70", "fetched_at": "2026-08-28T04:08:22.647255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/predibase/lorax"}, {"content_hash": "60e544500dc084161b6848561aabb34eebc954b1d885d4bd6dc5181080dec9a1", "fetched_at": "2026-08-29T09:21:11.777160+00:00", "kind": "homepage", "missing": false, "url": "https://loraexchange.ai"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:22.647255+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:22.647255+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:22.647255+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:26:21.836370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ce55f7eebce74c344ee35d0c0cf5dc3a7d13d603e5e1348f0fcbe25f284af70", "fetched_at": "2026-08-28T04:08:22.647255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/predibase/lorax"}, {"content_hash": "60e544500dc084161b6848561aabb34eebc954b1d885d4bd6dc5181080dec9a1", "fetched_at": "2026-08-29T09:21:11.777160+00:00", "kind": "homepage", "missing": false, "url": "https://loraexchange.ai"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:22.647255+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:22.647255+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:26:21.836370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ce55f7eebce74c344ee35d0c0cf5dc3a7d13d603e5e1348f0fcbe25f284af70", "fetched_at": "2026-08-28T04:08:22.647255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/predibase/lorax"}, {"content_hash": "60e544500dc084161b6848561aabb34eebc954b1d885d4bd6dc5181080dec9a1", "fetched_at": "2026-08-29T09:21:11.777160+00:00", "kind": "homepage", "missing": false, "url": "https://loraexchange.ai"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:22.647255+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:22.647255+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:22.647255+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:26:21.836370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ce55f7eebce74c344ee35d0c0cf5dc3a7d13d603e5e1348f0fcbe25f284af70", "fetched_at": "2026-08-28T04:08:22.647255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/predibase/lorax"}, {"content_hash": "60e544500dc084161b6848561aabb34eebc954b1d885d4bd6dc5181080dec9a1", "fetched_at": "2026-08-29T09:21:11.777160+00:00", "kind": "homepage", "missing": false, "url": "https://loraexchange.ai"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:22.647255+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:22.647255+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:26:21.836370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ce55f7eebce74c344ee35d0c0cf5dc3a7d13d603e5e1348f0fcbe25f284af70", "fetched_at": "2026-08-28T04:08:22.647255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/predibase/lorax"}, {"content_hash": "60e544500dc084161b6848561aabb34eebc954b1d885d4bd6dc5181080dec9a1", "fetched_at": "2026-08-29T09:21:11.777160+00:00", "kind": "homepage", "missing": false, "url": "https://loraexchange.ai"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:26:21.836370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ce55f7eebce74c344ee35d0c0cf5dc3a7d13d603e5e1348f0fcbe25f284af70", "fetched_at": "2026-08-28T04:08:22.647255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/predibase/lorax"}, {"content_hash": "60e544500dc084161b6848561aabb34eebc954b1d885d4bd6dc5181080dec9a1", "fetched_at": "2026-08-29T09:21:11.777160+00:00", "kind": "homepage", "missing": false, "url": "https://loraexchange.ai"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:26:21.836370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ce55f7eebce74c344ee35d0c0cf5dc3a7d13d603e5e1348f0fcbe25f284af70", "fetched_at": "2026-08-28T04:08:22.647255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/predibase/lorax"}, {"content_hash": "60e544500dc084161b6848561aabb34eebc954b1d885d4bd6dc5181080dec9a1", "fetched_at": "2026-08-29T09:21:11.777160+00:00", "kind": "homepage", "missing": false, "url": "https://loraexchange.ai"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:26:21.836370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ce55f7eebce74c344ee35d0c0cf5dc3a7d13d603e5e1348f0fcbe25f284af70", "fetched_at": "2026-08-28T04:08:22.647255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/predibase/lorax"}, {"content_hash": "60e544500dc084161b6848561aabb34eebc954b1d885d4bd6dc5181080dec9a1", "fetched_at": "2026-08-29T09:21:11.777160+00:00", "kind": "homepage", "missing": false, "url": "https://loraexchange.ai"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 84, "longevity": 74, "rhythm": 28}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1048, "days_push": 97, "days_rel": 597, "gap_med": 48, "n_releases_24m": 4}, "score": 62, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}