Private AI Hub - Host your own Generative AI Services
Project description
Private AI Hub (P8Hub)
"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.
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
- Go to http://localhost:5678/ to see the user interface.
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.
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
- Go to http://localhost:5678/ to see the user interface.
2. Run your frontend
- Install the dependencies:
cd frontend
npm install
- Run the app:
npm run dev
- Go to http://localhost:3000/ to see the user interface. Use this address to develop the frontend.
References
- Next Template: https://github.com/shadcn-ui/next-template.
- PAutoBot: https://github.com/nrl-ai/pautobot.
This project was created for the Docker AI/ML Hackathon 2023.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file p8hub-0.0.2.tar.gz
.
File metadata
- Download URL: p8hub-0.0.2.tar.gz
- Upload date:
- Size: 630.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.31.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eae4a231ed1a4a2bc44dbf33664a0221ec446aaa2533b518220d3c8a8d0dfd88 |
|
MD5 | 1b3b4254ab22482798da877b45ec20fa |
|
BLAKE2b-256 | e3b8a4dce9d1cd32ecadb058afe36c194771dcb2c94d25e1003ae2659b0b9d80 |
File details
Details for the file p8hub-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: p8hub-0.0.2-py3-none-any.whl
- Upload date:
- Size: 649.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.31.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bb7f7995583bb14766cfb5a97ede775cd166a00f88fb7cd43c4f3885c0767b8 |
|
MD5 | 8c5650147e7fae8f74a15825d461571a |
|
BLAKE2b-256 | a689b09623f66b7e5ce423e437b8d30fe3ec927f5c17c942bc2b7416be43fdb0 |