/app

BitGPT it's your personal AI in your pocket

Primary LanguageTypeScriptMIT LicenseMIT

Logo

๐Ÿค– Prem - Self Sovereign AI Infrastructure

Version Release Twitter Discord

Prem provides a unified environment to develop AI applications and deploy AI models on your infrastructure. Abstracting away all technical complexities for AI deployment and ushering in a new era of privacy-centric AI applicationsโ€Š-โ€Šusers can finally retain control and ownership of their models.

๐Ÿš€ Getting started

๐Ÿ“„ Usage

In-depth documentation for installing and using Prem is available at dev.premai.io

Demo

GettingStarted.mp4

Install on Linux

Install everything needed to run Prem on Ubuntu/Debian server.

wget -q https://get.prem.ninja/install.sh -O install.sh; sudo bash ./install.sh

Product Roadmap

Basic Cloud Primitives

The idea is to offer a fully open-source and functional PaaS specifically designed for AI services management and deployment. For this reason, we are working on the Basic Cloud Primitives necessary to offer a full solution:

  • Domains and SSL Management.
  • Basic Authentication
  • API Keys Management
  • Payments (Fiat, BTC, Crypto)
  • Multiple Orchestrators Support (k8s, docker swarm)

The AI services expose an HTTP API interface, standardized for their interface type. For example, all models of type Chat expose the OpenAI API for easy of integration of existing tool and AI app ecosystem. Each service we support it's published on the Prem Registry.

Anyone can implement, package and publish an AI service on Prem. You can check how here.

Let us know which Model / Feature you wanna see in Prem here

Interfaces

  • ๐Ÿ˜ƒ Chat
  • ๐Ÿ“• Embedding
  • ๐Ÿ›๏ธ Vector Store
  • ๐ŸŽจ Diffuser
  • ๐Ÿ’ป Coder
  • ๐ŸŽต Text to Audio
  • ๐ŸŽต Audio to Text
  • ๐Ÿ–ผ๏ธ Upscaler
  • ๐Ÿ“ท Vision
  • ๐Ÿ“– Summary
  • ๐Ÿ“น Video

Contributing

Requirements

Run the app with Tauri (Desktop App)

Make sure to remove any value in the .env file.

npm i
npm run tauri dev

Run the app with React (Browser App)

# run the daemon
docker-compose up -d premd

# copy .env.example file in .env
cp .env.example

npm i
npm run dev

Environment Variables

  • VITE_BACKEND_URL : destination of the premd
  • IS_PACKAGED : true | false used for server packaging.
  • VITE_DEVELOPER_MODE: 0 | 1

Contributing to Prem Daemon

Running the Daemon locally

git clone https://github.com/premAI-io/prem-daemon.git
cd ./prem-daemon

# create a python virtual environment and activate it
virtualenv venv -p=3.10
source ./venv/bin/activate

# install the necessary dependencies
pip install -r requirements.txt

# configure pre-commit hooks
pre-commit install

# run the webserver
cp .env.example .env
python main.py

Mock Registry

In order to use the mock registry, you can specify the REGISTRY_URL environment variable as following:

PREM_REGISTRY_URL=https://raw.githubusercontent.com/premAI-io/prem-daemon/main/resources/mocks/manifests.json

The mock registry is not fully tested. Few interfaces could be broken.

Running the test cases

pytest

Release Checklist

  • Create a tag with the new version in prem-daemon
  • Create a tag with the new version in prem-app
  • Manually set the new tag as latest in prem-app
  • Update the version in prem-box using the bump.sh command.

Acknowledgments

Thank You โค๏ธ