Skip to content
/ p8hub Public

Private AI Hub (P8Hub) - Host and use your own AI Services. Keep everything simple and private.

Notifications You must be signed in to change notification settings

nrl-ai/p8hub

Repository files navigation

Private AI Hub (P8Hub)

+⭐ Follow vietanhdev for project updates.

"Host and use your own AI Services. Keep everything simple and private."

In an era where AI is transforming every aspect of our lives, I recognized the need for a private and easy-to-use platform where individuals and small teams could host and utilize their own AI services. The inspiration for P8Hub came from the desire to make AI technologies accessible and private, democratizing them for all.

P8Hub

Architecture

Architecture

The architecture of P8Hub consists of two main components: a FastAPI backend and a Next.js frontend. The backend and frontend communicate with each other via REST API. For ease of deployment, I build frontend into static files and serve them from the backend. The interaction with Docker (running, stopping, and monitoring services) is done via Python on Whales package.

Features

Some features are still in development. You can check the progress here.

  • Monitor hardware resources.
  • Service management (start, stop/delete).
  • Service logs viewer.
  • OllamaLLM - General chatbot service.
  • Teachable AI - Teach the computer to classify images - STEAM.
  • docTR - Document Text Recognition.
  • Whishper - Text to speech service.
  • TTS Generation (GPU Only)
  • Docker extension.
  • Image generation service.
  • Add documentation.
  • Add tests.
  • App editor.

The applications were not selected carefully due to limited time. I think many more interesting AI applications can be integrated into P8Hub. If you have any suggestions, please let me know or create a pull request.

I. Installation and Usage

1. Installation

  • Python 3.9 or higher.
  • Install p8hub:
pip install p8hub

2. Usage

  • Run the app:
python -m p8hub.app

or just:

p8hub

You can also run Private AI Hub publicly to your network or change the port with parameters. Example:

p8hub --host 0.0.0.0 --port 8080

3. Docker Extension (Experimental)

Docker Extension allows to extend the functionality of Docker Desktop. We've developed a Docker Extension for P8Hub. You can install it by running:

make install-extension

You should see the extension in Docker Desktop's UI.

P8Hub Docker Extension

Architecture:

P8Hub Docker Extension Architecture

II. Development

1. Clone the source code

git clone https://github.com/vietanhdev/p8hub
cd p8hub

2. Run your backend

  • Python 3.9 or higher.
  • To install from source, from p8hub source code directory, run:
pip install -e .
  • Run the app:
python -m p8hub.app

2. Run your frontend

  • Install the dependencies:
cd frontend
npm install
  • Run the app:
npm run dev

References

DockerML Hackathon 2023

This project was created for the Docker AI/ML Hackathon 2023.