From 4df370589deaad872a3c171bc35daaf8baa455fe Mon Sep 17 00:00:00 2001 From: Simon L Date: Wed, 18 Oct 2023 18:05:07 +0200 Subject: [PATCH] rework local-ai to download models automatically Signed-off-by: Simon L --- community-containers/local-ai/local-ai.json | 5 ++++- community-containers/local-ai/readme.md | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/community-containers/local-ai/local-ai.json b/community-containers/local-ai/local-ai.json index 262234e9..700b823d 100644 --- a/community-containers/local-ai/local-ai.json +++ b/community-containers/local-ai/local-ai.json @@ -31,11 +31,14 @@ ], "nextcloud_exec_commands": [ "mkdir '/mnt/ncdata/admin/files/nextcloud-aio-local-ai'", - "mkdir '/mnt/ncdata/admin/files/nextcloud-aio-local-ai/models'", + "touch '/mnt/ncdata/admin/files/nextcloud-aio-local-ai/models.txt'", "echo 'Scanning nextcloud-aio-local-ai folder for admin user...'", "php /var/www/html/occ files:scan --path='/admin/files/nextcloud-aio-local-ai'", "php /var/www/html/occ app:install integration_openai", "php /var/www/html/occ config:app:set integration_openai url --value http://nextcloud-aio-local-ai:8080" + ], + "backup_volumes": [ + "nextcloud_aio_localai_models" ] } ] diff --git a/community-containers/local-ai/readme.md b/community-containers/local-ai/readme.md index 14536e24..d8bb2305 100644 --- a/community-containers/local-ai/readme.md +++ b/community-containers/local-ai/readme.md @@ -2,7 +2,22 @@ This container bundles Local AI and auto-configures it for you. ### Notes -- After the container was started the first time, you should see a new `nextcloud-aio-local-ai` folder when you open the files app with the default `admin` user. In there you should see a `models` folder. Now you can download models from e.g. https://download.nextcloud.com/server/apps/stt_whisper/ or https://download.nextcloud.com/server/apps/llm/ or others that are mentioned in https://localai.io/model-compatibility/index.html#model-compatibility-table and put them into the `models` folder. ⚠️⚠️ Please refer to https://localai.io/features/ how each model needs to be named. Afterwards restart all containers from the AIO interface and the models should automatically get active. Additionally after doing so, you might want to enable or disable specific features for your models in the integration_openai settings: `https://your-nc-domain.com/settings/admin/connected-accounts` +- After the container was started the first time, you should see a new `nextcloud-aio-local-ai` folder when you open the files app with the default `admin` user. In there you should see a `models.yaml` config file. You can now add models in there. Please refer [here](https://github.com/go-skynet/model-gallery/blob/main/index.yaml) where you can get further urls that you can put in there. Afterwards restart all containers from the AIO interface and the models should automatically get downloaded by the local-ai container and activated. +- Example for content of `models.yaml`: +```yaml +# Stable Diffusion in NCNN with c++, supported txt2img and img2img +- url: github:go-skynet/model-gallery/stablediffusion.yaml + +# Port of OpenAI's Whisper model in C/C++ +- url: github:go-skynet/model-gallery/whisper-base.yaml + name: whisper-1 + +# A commercially licensable model based on GPT-J and trained by Nomic AI on the v0 GPT4All dataset. +- url: github:go-skynet/model-gallery/gpt4all-j.yaml + name: gpt4all-j +``` +- Additionally after doing so, you might want to enable or disable specific features for your models in the integration_openai settings: `https://your-nc-domain.com/settings/admin/connected-accounts` +- The models folder where models get downloaded to is covered by AIOs backup solution - See https://github.com/nextcloud/all-in-one/tree/main/community-containers how to add it to the AIO stack ### Repository