Skip to content

Prem provides a unified environment to develop AI applications and deploy AI models on your infrastructure

License

Notifications You must be signed in to change notification settings

SmartAgentProtocol/prem-app

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

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

  • Install Prem on your MacOS - Dowload the latest Prem Desktop App
    • 8GB+ RAM required to be allocated to your Docker engine.
    • If you installed Docker Desktop for Mac for the first time, from the Whale ๐Ÿณ icon in the task bar, go to Settings -> Resources and increase it to more than 8GB.
  • Install Prem on your Linux server (Ubuntu, Debian) - Installer script
  • Try out on the live demo instance - app.prem.ninja

๐Ÿ“„ 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

If you encounter issues or you want to build the Prem App docker image inside your Linux server

CPU

git clone https://github.com/premAI-io/prem-app.git
cd ./prem-app
docker-compose up -d

GPU (NVIDIA)

git clone https://github.com/premAI-io/prem-app.git
cd ./prem-app
docker-compose up -f docker-compose.yml -f docker-compose.gpu.yml -d

And you will have the UI at http://{localhost|server_ip}:1420.

Make sure that in Settings the Backend URL is set to http://{localhost|server_ip}:8000

Product Roadmap

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 prepare, package and publish an AI service on Prem. Instructions coming soon.

Interfaces

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

Contributing

Requirements

Run the app with Tauri

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

npm i
npm run tauri dev

Run the app with React

# 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
  • VITE_DESTINATION : browser | desktop
  • 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 โค๏ธ

About

Prem provides a unified environment to develop AI applications and deploy AI models on your infrastructure

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 83.3%
  • CSS 13.1%
  • Rust 2.4%
  • JavaScript 0.5%
  • Shell 0.5%
  • HTML 0.2%