|
1 |
| -# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors |
2 |
| -# SPDX-License-Identifier: AGPL-3.0-or-later |
3 | 1 | .DEFAULT_GOAL := help
|
4 | 2 |
|
| 3 | +APP_ID := llm2 |
| 4 | +APP_NAME := Local large language model |
| 5 | +APP_VERSION := 2.2.2 |
| 6 | +JSON_INFO := "{\"id\":\"$(APP_ID)\",\"name\":\"$(APP_NAME)\",\"daemon_config_name\":\"manual_install\",\"version\":\"$(APP_VERSION)\",\"secret\":\"12345\",\"port\":9081}" |
| 7 | + |
| 8 | + |
5 | 9 | .PHONY: help
|
6 | 10 | help:
|
7 |
| - @echo "Welcome to Txt2TxtProvider development. Please use \`make <target>\` where <target> is one of" |
| 11 | + @echo " Welcome to $(APP_NAME) $(APP_VERSION)!" |
| 12 | + @echo " " |
| 13 | + @echo " Please use \`make <target>\` where <target> is one of" |
| 14 | + @echo " " |
| 15 | + @echo " build-push builds CPU images and uploads them to ghcr.io" |
| 16 | + @echo " " |
| 17 | + @echo " > Next commands are only for the dev environment with nextcloud-docker-dev!" |
| 18 | + @echo " > They must be run from the host you are developing on, not in a Nextcloud container!" |
| 19 | + @echo " " |
| 20 | + @echo " run29 installs $(APP_NAME) for Nextcloud 29" |
| 21 | + @echo " run30 installs $(APP_NAME) for Nextcloud 30" |
| 22 | + @echo " run installs $(APP_NAME) for Nextcloud Latest" |
8 | 23 | @echo " "
|
9 |
| - @echo " Next commands are only for dev environment with nextcloud-docker-dev!" |
10 |
| - @echo " They should run from the host you are developing on(with activated venv) and not in the container with Nextcloud!" |
11 |
| - @echo " " |
12 |
| - @echo " build-push build image and upload to ghcr.io" |
13 |
| - @echo " " |
14 |
| - @echo " run29 install Txt2TxtProvider for Nextcloud 29" |
15 |
| - @echo " run install Txt2TxtProvider for Nextcloud Last" |
16 |
| - @echo " " |
17 |
| - @echo " For development of this example use PyCharm run configurations. Development is always set for last Nextcloud." |
18 |
| - @echo " First run 'Txt2TxtProvider' and then 'make registerXX', after that you can use/debug/develop it and easy test." |
19 |
| - @echo " " |
20 |
| - @echo " register29 perform registration of running Txt2TxtProvider into the 'manual_install' deploy daemon." |
21 |
| - @echo " register perform registration of running Txt2TxtProvider into the 'manual_install' deploy daemon." |
| 24 | + @echo " > Commands for manual registration of ExApp($(APP_NAME) should be running!):" |
| 25 | + @echo " " |
| 26 | + @echo " register29 performs registration of running $(APP_NAME) into the 'manual_install' deploy daemon." |
| 27 | + @echo " register30 performs registration of running $(APP_NAME) into the 'manual_install' deploy daemon." |
| 28 | + @echo " register performs registration of running $(APP_NAME) into the 'manual_install' deploy daemon." |
| 29 | + |
22 | 30 |
|
23 | 31 | .PHONY: build-push
|
24 | 32 | build-push:
|
25 | 33 | docker login ghcr.io
|
26 |
| - docker build --push --platform linux/amd64 --tag ghcr.io/nextcloud/llm2:2.2.1 --tag ghcr.io/nextcloud/llm2:latest . |
27 |
| - |
28 |
| -.PHONY: download-models |
29 |
| -download-models: |
30 |
| - cd models && \ |
31 |
| - wget -nc https://download.nextcloud.com/server/apps/llm/leo-hessianai-13B-chat-bilingual-GGUF/leo-hessianai-13b-chat-bilingual.Q4_K_M.gguf \ |
32 |
| - && wget -nc https://huggingface.co/TheBloke/TinyLlama-1.1B-Chat-v1.0-GGUF/resolve/main/tinyllama-1.1b-chat-v1.0.Q4_0.gguf \ |
33 |
| - && wget -nc https://download.nextcloud.com/server/apps/llm/llama-2-7b-chat-ggml/llama-2-7b-chat.Q4_K_M.gguf \ |
34 |
| - && wget -nc https://huggingface.co/Nextcloud-AI/llm_neuralbeagle_14_7b_gguf/resolve/main/neuralbeagle14-7b.Q4_K_M.gguf |
| 34 | + docker buildx build --push --platform linux/amd64 --tag ghcr.io/nextcloud/$(APP_ID):$(APP_VERSION) --tag ghcr.io/nextcloud/$(APP_ID):latest . |
35 | 35 |
|
36 | 36 | .PHONY: run29
|
37 | 37 | run29:
|
38 |
| - docker exec master-stable29-1 sudo -u www-data php occ app_api:app:unregister llm2 --silent || true |
39 |
| - docker exec master-stable29-1 sudo -u www-data php occ app_api:app:register llm2 --force-scopes \ |
40 |
| - --info-xml https://raw.githubusercontent.com/cloud-py-api/llm2/appinfo/info.xml |
| 38 | + docker exec master-stable29-1 sudo -u www-data php occ app_api:app:unregister $(APP_ID) --silent --force || true |
| 39 | + docker exec master-stable29-1 sudo -u www-data php occ app_api:app:register $(APP_ID) \ |
| 40 | + --info-xml https://raw.githubusercontent.com/nextcloud/$(APP_ID)/main/appinfo/info.xml |
| 41 | + |
| 42 | +.PHONY: run30 |
| 43 | +run30: |
| 44 | + docker exec master-stable30-1 sudo -u www-data php occ app_api:app:unregister $(APP_ID) --silent --force || true |
| 45 | + docker exec master-stable30-1 sudo -u www-data php occ app_api:app:register $(APP_ID) \ |
| 46 | + --info-xml https://raw.githubusercontent.com/nextcloud/$(APP_ID)/main/appinfo/info.xml |
41 | 47 |
|
42 | 48 | .PHONY: run
|
43 | 49 | run:
|
44 |
| - docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister llm2 --silent || true |
45 |
| - docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:register llm2 --force-scopes \ |
46 |
| - --info-xml https://raw.githubusercontent.com/cloud-py-api/llm2/appinfo/info.xml |
| 50 | + docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister $(APP_ID) --silent --force || true |
| 51 | + docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:register $(APP_ID) \ |
| 52 | + --info-xml https://raw.githubusercontent.com/nextcloud/$(APP_ID)/main/appinfo/info.xml |
47 | 53 |
|
48 | 54 | .PHONY: register29
|
49 | 55 | register29:
|
50 |
| - docker exec master-stable29-1 sudo -u www-data php occ app_api:app:unregister llm2 --silent || true |
51 |
| - docker exec master-stable29-1 sudo -u www-data php occ app_api:app:register llm2 manual_install --json-info \ |
52 |
| - "{\"id\":\"llm2\",\"name\":\"Local large language model\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"port\":9081,\"scopes\":[\"AI_PROVIDERS\"],\"system\":0}" \ |
53 |
| - --force-scopes --wait-finish |
| 56 | + docker exec master-stable29-1 sudo -u www-data php occ app_api:app:unregister $(APP_ID) --silent --force || true |
| 57 | + docker exec master-stable29-1 sudo -u www-data php occ app_api:app:register $(APP_ID) manual_install --json-info $(JSON_INFO) --wait-finish |
| 58 | + |
| 59 | +.PHONY: register30 |
| 60 | +register30: |
| 61 | + docker exec master-stable30-1 sudo -u www-data php occ app_api:app:unregister $(APP_ID) --silent --force || true |
| 62 | + docker exec master-stable30-1 sudo -u www-data php occ app_api:app:register $(APP_ID) manual_install --json-info $(JSON_INFO) --wait-finish |
54 | 63 |
|
55 | 64 | .PHONY: register
|
56 | 65 | register:
|
57 |
| - docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister llm2 --silent || true |
58 |
| - docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:register llm2 manual_install --json-info \ |
59 |
| - "{\"id\":\"llm2\",\"name\":\"Local large language model\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"port\":9081,\"scopes\":[\"AI_PROVIDERS\"],\"system\":0}" \ |
60 |
| - --force-scopes --wait-finish |
| 66 | + docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:unregister $(APP_ID) --silent --force || true |
| 67 | + docker exec master-nextcloud-1 sudo -u www-data php occ app_api:app:register $(APP_ID) manual_install --json-info $(JSON_INFO) --wait-finish |
0 commit comments