A quick demo video showcasing the main feature of the project.
A more detailed video showing the whole app
- Feature 1: Download and manage models from hugging face
- Feature 2: Load the models in up to 4 bit quantization
- Feature 3: Support GGUF model format
- Feature 4: Chat with the model with alternative tokens
- Install Node.js (v20.18.0 or higher)
- Install npm (v10.8.2 or higher)
- Install Python (v3.12.3 or higher)
- Clone the repo:
git clone https://github.com/TC-Zheng/ActuosusAI.git
- Go to the project directory:
cd ActuosusAI - Install python dependencies via poetry:
poetry install
- Go the frontend directory and install frontend dependencies:
cd client npm install
By default, the GGUF models will only be run on cpu, to run GGUF models on GPU, you need to install the llama-cpp-python package with cuda support.
- Go to the project directory:
cd ActuosusAI - Open poetry shell:
poetry shell
- Run the following command:
CMAKE_ARGS="-DGGML_CUDA=on" pip install llama-cpp-python --force-reinstall --upgrade --no-cache-dir --verbose
-
Go to the project directory:
cd ActuosusAI -
Modify the .env file:
- Change the database_url and base_file_storage_path to your desired path.
- Add a huggingface_token if you want to download certain models on huggingface that need permissions.
-
Run the script:
./start_dev.sh
-
Or alternatively, you can
- go to actuosus_ai/app and run
uvicorn main:app --reload
- go to client and run
npm run dev
-
Open the UI in browser:
- Go to http://localhost:3000/ to see the app.
-
Quick start:
- You can start by typing this
openai-community/gpt2
- to the download field and download this small model and chat with it.
- Feature 1: Add docker support and other things that would make this app easier to run for people.
- Feature 2: Let user able to add existing local models to use with the app.
- Feature 3: Add chatting with instruction tuned models.
- Please let me know if there are other features people like to see
This is a personal hobby project I have with the purpose of learning and experimenting with ML models and my web development skill. I will be continuously adding new features and improving the existing ones. Here are some ideas of what I want to experiement on with this project:
- Dataset management
- Training/Finetuning management with history and logs.
- Memory option from either rag or finetuning
- More type of models support like vision/multi-modal, and potentially interacting with multiple models at once.
- And more
