From 1115b1bad7dc26901b9528e8342bfea367c520af Mon Sep 17 00:00:00 2001 From: Jana Peper Date: Mon, 9 Dec 2024 11:44:50 +0100 Subject: [PATCH 1/3] feat: describe task type disabling Signed-off-by: Jana Peper --- admin_manual/ai/app_assistant.rst | 2 ++ developer_manual/digging_deeper/task_processing.rst | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/admin_manual/ai/app_assistant.rst b/admin_manual/ai/app_assistant.rst index 7cfe7bb6565..0ac29824e49 100644 --- a/admin_manual/ai/app_assistant.rst +++ b/admin_manual/ai/app_assistant.rst @@ -36,6 +36,8 @@ Related apps Artificial intelligence at Nextcloud is built in a modular way, allowing you to choose from a variety of solutions for your needs. In order to make use of the various features of the Assistant you will need additional apps that act as backends to provide the actual implementation of the AI functionality. In the Nextcloud administration settings under "Artificial intelligence" you can select which AI backend app to use for which tasks. Note that some of the backend apps are only community maintained, while others are available for Customer support upon request. +The AI admin settings will show all types of Assistant Tasks that are implemented by all your installed apps. Task types can be disabled in the AI admin settings so they are not available for the Assistant or other apps even if they are implemented. All implemented Task types are enabled by default. + **Note**: At Nextcloud we focus on creating on-premise AI apps that run fully self-hosted on your own servers in order to preserve your privacy and data sovereignty. However, you can also offload these resource-heavy tasks to an :ref:`"AI as a Service" provider`. **Note**: When using our on-premise AI apps, make sure you have a GPU with enough VRAM that fits all the features you need. For each app documented here you will find its hardware requirements. diff --git a/developer_manual/digging_deeper/task_processing.rst b/developer_manual/digging_deeper/task_processing.rst index d86172b86e3..71445be9780 100644 --- a/developer_manual/digging_deeper/task_processing.rst +++ b/developer_manual/digging_deeper/task_processing.rst @@ -14,7 +14,7 @@ Consuming the Task Processing API To consume the Task Processing API, you will need to :ref:`inject` ``\OCP\TaskProcessing\IManager``. This manager offers the following methods: * ``hasProviders()`` This method returns a boolean which indicates if any providers have been registered. If this is false you cannot use the TextProcessing feature. - * ``getAvailableTaskTypes()`` This method returns an array of task types indexed by their ID with their names and additional metadata. + * ``getAvailableTaskTypes(bool $showDisabled = false)`` This method returns an array of enabled task types indexed by their ID with their names and additional metadata. If you set ``$showdisabled`` to ``true``, it will include disabled task types. * ``scheduleTask(Task $task)`` This method provides the actual scheduling functionality. The task is defined using the Task class. This method runs the task asynchronously in a background job. * ``getTask(int $id)`` This method fetches a task specified by its id. * ``deleteTask(Task $task)`` This method deletes a task @@ -111,6 +111,9 @@ The following built-in task types are available: * Output shape: * ``output``: ``Text`` + +Task types can be disabled in the AI admin settings so they are not available for the Assistant or other apps even if they are implemented. All implemented Task types are enabled by default. + LLM Prompts and multilingual I/O ################################ From f605d6c2eedd3187d5ea356168d440a19e6f5229 Mon Sep 17 00:00:00 2001 From: Jana Peper Date: Mon, 9 Dec 2024 15:48:23 +0100 Subject: [PATCH 2/3] feat: describe task processing occ commands Signed-off-by: Jana Peper --- admin_manual/ai/app_assistant.rst | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/admin_manual/ai/app_assistant.rst b/admin_manual/ai/app_assistant.rst index 0ac29824e49..12ba2900316 100644 --- a/admin_manual/ai/app_assistant.rst +++ b/admin_manual/ai/app_assistant.rst @@ -139,6 +139,41 @@ To enable/disable the text-to-image smart picker for all the users. To enable/disable the speech-to-text smart picker for all the users. +Task processing +~~~~~~~~~~~~~~~ + +1. List Tasks + +.. code-block:: + + occ taskprocessing:task:list + +lists all task processing tasks. + +2. Get Task + +.. code-block:: + + occ taskprocessing:task:get $TASK_ID + +shows all information for a specific task. + +3. Enable or disable a Task type + +.. code-block:: + + occ taskprocessing:task:enabled $TASK_TYPE_ID 1 + +Set 1 to enable and 0 to disable an implemented task type. + +4. Get Task statistics + +.. code-block:: + + occ taskprocessing:task:stats + +shows statistics for all task processing Tasks. + Image storage ~~~~~~~~~~~~~ From 6b4b9960536ba7de9c75b177eacfb199998c4a5a Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Thu, 12 Dec 2024 13:06:37 +0100 Subject: [PATCH 3/3] Update developer_manual/digging_deeper/task_processing.rst Co-authored-by: janepie <49834966+janepie@users.noreply.github.com> Signed-off-by: Marcel Klehr --- developer_manual/digging_deeper/task_processing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/developer_manual/digging_deeper/task_processing.rst b/developer_manual/digging_deeper/task_processing.rst index 71445be9780..ce558c124ca 100644 --- a/developer_manual/digging_deeper/task_processing.rst +++ b/developer_manual/digging_deeper/task_processing.rst @@ -14,7 +14,7 @@ Consuming the Task Processing API To consume the Task Processing API, you will need to :ref:`inject` ``\OCP\TaskProcessing\IManager``. This manager offers the following methods: * ``hasProviders()`` This method returns a boolean which indicates if any providers have been registered. If this is false you cannot use the TextProcessing feature. - * ``getAvailableTaskTypes(bool $showDisabled = false)`` This method returns an array of enabled task types indexed by their ID with their names and additional metadata. If you set ``$showdisabled`` to ``true``, it will include disabled task types. + * ``getAvailableTaskTypes(bool $showDisabled = false)`` This method returns an array of enabled task types indexed by their ID with their names and additional metadata. If you set ``$showdisabled`` to ``true`` (available since NC31), it will include disabled task types. * ``scheduleTask(Task $task)`` This method provides the actual scheduling functionality. The task is defined using the Task class. This method runs the task asynchronously in a background job. * ``getTask(int $id)`` This method fetches a task specified by its id. * ``deleteTask(Task $task)`` This method deletes a task