Fork me on GitHub

Model Deployer — Deploy AI models in production

Model Deployer

GitHub Repo stars NPM Downloads GitHub code size in bytes GitHub License


Model Deployer is the simplest way to deploy AI models for your applications.

Features

Install

Model Deployer requires a Postgres DB setup.

Then in your shell, install from GitHub:

git clone https://github.com/themaximal1st/ModelDeployer.git
cd ModelDeployer
npm install
cp .env.template .env # edit DB connection
npm run dev

Visit http://localhost:3000 and you’ll see Model Deployer.

Model Deployer let's you manage AI models in production

You should be able to create a user, a model, and an API key.

LLM

Then you can use LLM.js to interact with your API:

import LLM from "@themaximalist/llm.js"
await LLM("what color is the sky?", {
    service: "modeldeployer",
    model: "api-key"
});

Your LLM request will use whatever model and settings you setup in Model Deployer.

Embeddings

Model Deployer also works with Embeddings.js.

import Embeddings from "@themaximalist/embeddings.js"
await Embeddings("what color is the sky?", {
    service: "modeldeployer",
    model: "api-key"
});

Just like with using Model Deployer with Large Language Models, your text embedding request will use whichever model and settings you’ve setup.

Vector Database

Model Deployer also works with VectorDB.js—an in-memory text similarity database.

Because VectorDB.js works with Embeddings.js—simply pass the service and model as an option.

import VectorDB from "@themaximalist/vectordb.js"
const db = new VectorDB({
  embeddings: {
    service: "modeldeployer",
    model: "api-key",
  }
});

await db.add("orange");
await db.add("blue");

const result = await db.search("light orange");
// [ { input: 'orange', distance: 0.3109036684036255 } ]

Philosophy

I built LLM.js because I wanted to give people control over how they use AI models in their apps.

It’s great to use GPT-4 and Claude, but it sucks to get locked in. And it’s hard to use local models.

LLM.js solves these problems, by creating a single simple interface that works with dozens of popular models.

As great as it is, it doesn’t fully solve the problem.

Bundling an app with a local model is not practical, the binaries are hundreds of MBs or even GBs.

Downloading 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.

How do you offer the power of server models, with the flexibility of local open-source models?

Model 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.

Importantly, 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.

This accomplishes the best of both worlds. Free, open-source, MIT licensed model deployment tech that integrates into the existing remote/local AI toolchain.

License

MIT

Author

Created by The Maximalist, see our open-source projects.