{"id":24144534,"url":"https://github.com/themaximalist/ModelDeployer","last_synced_at":"2025-09-19T12:32:37.985Z","repository":{"id":216444859,"uuid":"739915456","full_name":"themaximalist/ModelDeployer","owner":"themaximalist","description":"API Proxy for AI models, rate limiting, management and more!","archived":false,"fork":false,"pushed_at":"2024-02-23T08:34:07.000Z","size":11489,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-24T17:34:12.390Z","etag":null,"topics":["ai","claude","deployment","gpt-3","gpt-4","llama","llamafile","models"],"latest_commit_sha":null,"homepage":"https://modeldeployer.com","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/themaximalist.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-01-06T23:34:44.000Z","updated_at":"2024-12-08T18:10:43.000Z","dependencies_parsed_at":"2024-03-29T22:41:12.163Z","dependency_job_id":"0fbd6b2d-f82d-471e-8d31-1a73109c0653","html_url":"https://github.com/themaximalist/ModelDeployer","commit_stats":null,"previous_names":["themaximal1st/modeldeployer","themaximalist/modeldeployer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/themaximalist/ModelDeployer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themaximalist%2FModelDeployer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themaximalist%2FModelDeployer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themaximalist%2FModelDeployer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themaximalist%2FModelDeployer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/themaximalist","download_url":"https://codeload.github.com/themaximalist/ModelDeployer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themaximalist%2FModelDeployer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272716879,"owners_count":24981448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","claude","deployment","gpt-3","gpt-4","llama","llamafile","models"],"created_at":"2025-01-12T06:11:44.149Z","updated_at":"2025-09-19T12:32:36.424Z","avatar_url":"https://github.com/themaximalist.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Model Deployer\n\n\u003cimg src=\"public/logo.png\" alt=\"Model Deployer — API Proxy for AI models, rate limiting, management and more!\" class=\"logo\" style=\"max-width: 400px\" /\u003e\n\n\u003cdiv class=\"badges\" style=\"text-align: center; margin-top: -10px;\"\u003e\n\u003ca href=\"https://github.com/themaximal1st/modeldeployer\"\u003e\u003cimg alt=\"GitHub Repo stars\" src=\"https://img.shields.io/github/stars/themaximal1st/modeldeployer\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.npmjs.com/package/@themaximalist/modeldeployer\"\u003e\u003cimg alt=\"NPM Downloads\" src=\"https://img.shields.io/npm/dt/%40themaximalist%2Fmodeldeployer\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/themaximal1st/modeldeployer\"\u003e\u003cimg alt=\"GitHub code size in bytes\" src=\"https://img.shields.io/github/languages/code-size/themaximal1st/modeldeployer\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/themaximal1st/modeldeployer\"\u003e\u003cimg alt=\"GitHub License\" src=\"https://img.shields.io/github/license/themaximal1st/modeldeployer\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\n\n[Model Deployer](https://modeldeployer.com) is the simplest way to deploy AI models for your applications.\n\n\u003cdiv class=\"compressed-group\"\u003e\n\n**Features**\n\n* Proxy to hundreds of local and remote AI models (LLM, Stable Diffusion, VectorDBs)\n* A single interface for all LLM models, built on [LLM.js](https://llmjs.themaximalist.com)\n* A single interface for all embeddings, built on [Embeddings.js](https://embeddingsjs.themaximalist.com)\n* Easily view usage history for each app user\n* Rate-limit users based on pre-defined limits\n* Track cost and usage cross hundreds of AI models\n* Free, paid, and user-provided API key are supported\n* Prevent free users from consuming your API tokens\n* Pre-pay with credits *(coming soon)*\n* Monthly subscription *(coming soon)*\n* Self-hosted or hosted at [Model Deployer](https://modeldeployer.com)\n* MIT License\n\n\u003c/div\u003e\n\n## Install\n\nModel Deployer requires a Postgres DB setup.\n\nThen in your shell, install from GitHub:\n\n```bash\ngit clone https://github.com/themaximal1st/ModelDeployer.git\ncd ModelDeployer\nnpm install\ncp .env.template .env # edit DB connection\nnpm run dev\n```\n\nVisit [http://localhost:3000](http://localhost:3000) and you'll see Model Deployer.\n\n\u003ctable class=\"images\"\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n  \u003cimg src=\"public/screenshot-models.png\" alt=\"Model Deployer let's you manage AI models in production\" /\u003e\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\nYou should be able to create a user, a model, and an API key.\n\n## LLM\n\nThen you can use [LLM.js](https://llmjs.themaximalist.com) to interact with your API:\n\n```javascript\nimport LLM from \"@themaximalist/llm.js\"\nawait LLM(\"what color is the sky?\", {\n    service: \"modeldeployer\",\n    model: \"api-key\"\n});\n```\n\nYour LLM request will use whatever model and settings you setup in Model Deployer.\n\n## Embeddings\n\nModel Deployer also works with [Embeddings.js](https://embeddingsjs.themaximalist.com).\n\n```javascript\nimport Embeddings from \"@themaximalist/embeddings.js\"\nawait Embeddings(\"what color is the sky?\", {\n    service: \"modeldeployer\",\n    model: \"api-key\"\n});\n```\n\nJust like with using Model Deployer with Large Language Models, your text embedding request will use whichever model and settings you've setup.\n\n## Vector Database\n\nModel Deployer also works with [VectorDB.js](https://vectordbjs.themaximalist.com)—an in-memory text similarity database.\n\nBecause `VectorDB.js` works with `Embeddings.js`—simply pass the `service` and `model` as an option.\n\n```javascript\nimport VectorDB from \"@themaximalist/vectordb.js\"\nconst db = new VectorDB({\n  embeddings: {\n    service: \"modeldeployer\",\n    model: \"api-key\",\n  }\n});\n\nawait db.add(\"orange\");\nawait db.add(\"blue\");\n\nconst result = await db.search(\"light orange\");\n// [ { input: 'orange', distance: 0.3109036684036255 } ]\n```\n\n## Philosophy\n\nI built [LLM.js](https://llmjs.themaximalist.com) because I wanted to give people control over how they use AI models in their apps.\n\nIt's great to use GPT-4 and Claude, but it sucks to get locked in. And it's hard to use local models.\n\n`LLM.js` solves these problems, by creating a single simple interface that works with dozens of popular models.\n\nAs great as it is, it doesn't fully solve the problem.\n\nBundling an app with a local model is not practical, the binaries are hundreds of MBs or even GBs.\n\nDownloading the model on first start also isn't practical. Some users will patiently sit through this, but most won't. The first 10 seconds mean everything on a new app—making users wait will not work.\n\n**How do you offer the power of server models, with the flexibility of local open-source models?**\n\nModel Deployer is the solution. It's an open-source server to manage models for your users. It trades a little bit of privacy for user experience.\n\nImportantly, it's built on a 100% open stack. So for users who care, (if you're reading this you probably care), there are ways to go fully local, and self hosted.\n\nThis accomplishes the best of both worlds. Free, open-source, MIT licensed model deployment tech that integrates into the existing remote/local AI toolchain.\n\n\n## License\n\nMIT\n\n\n## Author\n\nCreated by [The Maximalist](https://twitter.com/themaximal1st), see our [open-source projects](https://themaximalist.com/products).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemaximalist%2FModelDeployer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthemaximalist%2FModelDeployer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemaximalist%2FModelDeployer/lists"}