diff --git a/code_samples/ai_actions/config/mysql/add_ai_actions.sql b/code_samples/ai_actions/config/mysql/add_ai_actions.sql new file mode 100644 index 0000000000..21d9078c45 --- /dev/null +++ b/code_samples/ai_actions/config/mysql/add_ai_actions.sql @@ -0,0 +1,43 @@ +CREATE TABLE ibexa_action_configuration +( + id INT auto_increment PRIMARY KEY, + identifier VARCHAR(64) NOT NULL, + type VARCHAR(32) NOT NULL, + enabled TINYINT(1) NOT NULL, + action_type_options JSON NULL, + action_handler_options JSON NULL, + action_handler_identifier VARCHAR(64) NULL, + created_at DATETIME NULL COMMENT '(DC2Type:datetime_immutable)', + updated_at DATETIME NULL COMMENT '(DC2Type:datetime_immutable)', + CONSTRAINT ibexa_action_configuration_identifier_uc + UNIQUE (identifier) +) COLLATE = utf8mb4_unicode_520_ci; + +CREATE INDEX ibexa_action_configuration_enabled_idx + ON ibexa_action_configuration (enabled); + +CREATE INDEX ibexa_action_configuration_identifier_idx + ON ibexa_action_configuration (identifier); + +CREATE TABLE ibexa_action_configuration_ml +( + id INT auto_increment PRIMARY KEY, + action_configuration_id INT NOT NULL, + language_id BIGINT NOT NULL, + name VARCHAR(190) NOT NULL, + description LONGTEXT NULL, + CONSTRAINT ibexa_action_configuration_ml_uidx + UNIQUE (action_configuration_id, language_id), + CONSTRAINT ibexa_action_configuration_ml_to_action_configuration_fk + FOREIGN KEY (action_configuration_id) REFERENCES ibexa_action_configuration (id) + ON UPDATE CASCADE ON DELETE CASCADE, + CONSTRAINT ibexa_action_configuration_ml_to_language_fk + FOREIGN KEY (language_id) REFERENCES ezcontent_language (id) + ON UPDATE CASCADE ON DELETE CASCADE +) COLLATE = utf8mb4_unicode_520_ci; + +CREATE INDEX ibexa_action_configuration_ml_action_configuration_idx + ON ibexa_action_configuration_ml (action_configuration_id); + +CREATE INDEX ibexa_action_configuration_ml_language_idx + ON ibexa_action_configuration_ml (language_id); diff --git a/code_samples/ai_actions/config/postgresql/add_ai_actions.sql b/code_samples/ai_actions/config/postgresql/add_ai_actions.sql new file mode 100644 index 0000000000..3e24b1d3dc --- /dev/null +++ b/code_samples/ai_actions/config/postgresql/add_ai_actions.sql @@ -0,0 +1,13 @@ +CREATE TABLE ibexa_action_configuration (id SERIAL NOT NULL, identifier VARCHAR(64) NOT NULL, type VARCHAR(32) NOT NULL, enabled BOOLEAN NOT NULL, action_type_options JSON DEFAULT NULL, action_handler_options JSON DEFAULT NULL, action_handler_identifier VARCHAR(64) DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, PRIMARY KEY(id)); +CREATE INDEX ibexa_action_configuration_identifier_idx ON ibexa_action_configuration (identifier); +CREATE INDEX ibexa_action_configuration_enabled_idx ON ibexa_action_configuration (enabled); +CREATE UNIQUE INDEX ibexa_action_configuration_identifier_uc ON ibexa_action_configuration (identifier); +COMMENT ON COLUMN ibexa_action_configuration.created_at IS '(DC2Type:datetime_immutable)'; +COMMENT ON COLUMN ibexa_action_configuration.updated_at IS '(DC2Type:datetime_immutable)'; +CREATE TABLE ibexa_action_configuration_ml (id SERIAL NOT NULL, action_configuration_id INT NOT NULL, language_id BIGINT NOT NULL, name VARCHAR(190) NOT NULL, description TEXT DEFAULT NULL, PRIMARY KEY(id)); +CREATE INDEX ibexa_action_configuration_ml_name_idx ON ibexa_action_configuration_ml (name); +CREATE INDEX ibexa_action_configuration_ml_language_idx ON ibexa_action_configuration_ml (language_id); +CREATE INDEX ibexa_action_configuration_ml_action_configuration_idx ON ibexa_action_configuration_ml (action_configuration_id); +CREATE UNIQUE INDEX ibexa_action_configuration_ml_uidx ON ibexa_action_configuration_ml (action_configuration_id, language_id); +ALTER TABLE ibexa_action_configuration_ml ADD CONSTRAINT ibexa_action_configuration_ml_to_language_fk FOREIGN KEY (language_id) REFERENCES ezcontent_language (id) ON UPDATE CASCADE ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE ibexa_action_configuration_ml ADD CONSTRAINT ibexa_action_configuration_ml_to_action_configuration_fk FOREIGN KEY (action_configuration_id) REFERENCES ibexa_action_configuration (id) ON UPDATE CASCADE ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; diff --git a/docs/ai_actions/ai_actions.md b/docs/ai_actions/ai_actions.md new file mode 100644 index 0000000000..9ac1a4706d --- /dev/null +++ b/docs/ai_actions/ai_actions.md @@ -0,0 +1,18 @@ +--- +description: AI Actions help editors by automating repetitive tasks. +page_type: landing_page +month_change: true +--- + +# AI Actions + +The AI Actions LTS update enhances the usability and flexibility of [[= product_name =]] by automating various tasks. +After you configure it, it can generate alt text for images or transform text passages. + +You can also extend it to perform other tasks or support additional AI services. + +[[= cards([ +"ai_actions/ai_actions_guide", +"ai_actions/install_ai_actions", +"ai_actions/extend_ai_actions" +], columns=4) =]] \ No newline at end of file diff --git a/docs/ai_actions/ai_actions_guide.md b/docs/ai_actions/ai_actions_guide.md new file mode 100644 index 0000000000..b6912390d8 --- /dev/null +++ b/docs/ai_actions/ai_actions_guide.md @@ -0,0 +1,150 @@ +--- +description: AI Actions LTS update helps editors by automating repetitive tasks. +month_change: true +--- + +# AI Actions product guide + +## What are AI Actions + +Wherever you look, artificial intelligence becomes more and more important by enhancing user interaction and automating complex processes. +[[= product_name =]] can be equipped with the AI Actions [LTS update](ibexa_dxp_v4.6.md#lts-updates), which harnesses AI's potential to automate time-consuming editorial tasks. +AI Actions is an extensible solution for integrating features provided by AI services into your workflows, all managed through a user-friendly interface. + +Out-of-the-box, AI Actions solution includes two essential components: a framework package and an OpenAI connector package. +It comes pre-configured with the following action types: + +- [Refine text](#refining-text): Rewrite existing text according to instructions set in a prompt +- [Generate alternative text](#generating-alternative-text): Generate alt text for images for accessibility purposes + +![AI Actions schematic](img/guide_ai_actions.png) + +You can extend the solution's capabilities beyond the default setup by creating custom connector modules, allowing users to take advantage of additional AI services, or customize the way data is processed and interpreted. +For example, it could transform images, or generate illustrations for your articles based on their contents. +The possibilities are endless and you're not limited to a specific AI service, avoiding vendor lock-in. + +## Availability + +AI Actions are an opt-in capability available as an [LTS update](ibexa_dxp_v4.6.md#lts-updates) to the v4.6.x version of [[= product_name =]], regardless of its edition. +To begin using AI Actions, you must first [install the required packages and perform initial configuration](install_ai_actions.md). + +!!! note "API Key" + + The OpenAI connector requires that you first [get an API key](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key) and make sure that you [set up a billing method](https://help.openai.com/en/articles/9038407-how-can-i-set-up-billing-for-my-account). + +## How it works + +AI Actions LTS update relies on an extensible AI framework, which is responsible for gathering information from various sources, such as AI action types, AI action configurations, and contextual details like SiteAccess, user details, locale settings, and more. +This data can then be combined with user input. +It's then passed to a service connector, such as the default OpenAI connector, for final processing on [[= product_name =]] side. +The service connector wraps all data into a prompt or another suitable format and sends it to an external AI service. + +When the AI Service returns a response, the response goes back through the service connector and passes to the framework. +It can then be presented to the user in any way necessary. + +### Core concepts + +#### AI service + +AI service is a third party platform that provides access to artificial intelligence tools and capabilities. +It executes tasks that it receives through a service connector. + +#### Action + +Actions are tasks or functions that are executed by an external AI service. +Each action is a combination of an AI action type and an AI action configuration. +Action types define what kind of task the AI service performs, while AI action configurations specify how the task should be executed. +This clear separation allows for a flexible system where actions can be created, managed, and customized with minimal effort. + +#### AI action type + +AI action types are high level templates predefined by developers. +AI action types correspond to tasks that users intend to perform when they interact with the interface. Each AI action type defines the structure and nature of the task that the AI service performs, and is interpreted by a handler. + +Action type definitions specify the following information: + +- an identifier +- a set of input parameters +- a set of output fields +- a category of action, for example, "text to image", "video to text" + +AI action types could be designed, for example, to generate alternative text based on an image, translate a selected passage of text, or generate a video clip based on a description provided in the field. +By defining AI action types, developers can create a wide range of functionalities that can be deployed within the application. + +#### AI action configuration + +AI action configurations store detailed parameters needed to generate AI actions based on AI action types. +Website administrators manage AI action configurations in the [**Admin** panel](admin_panel.md), where they customize and fine-tune the behavior of each AI action. +It might involve setting specific parameters used by the AI service, a response length, an expense limit, or configuring how the output should be handled. +By making such adjustments, administrators can ensure that the actions are tailored to meet the needs of your organization. + +#### Model + +Once an AI action is defined and configured, it must be executed, and this is where models come into play. +Each model is designed to work with a specific AI service and AI action type pair. +Pieces of PHP code that are responsible for resolving a model are called handlers. +They may include hardcoded prompts for conversational AI services like ChatGPT, or operate without prompts in the case of other types of AI. +Handlers take parameters defined in the AI action type and configuration, combine it with user input and any predefined settings or prompts, and pass this information to the AI service for processing. + +### Triggering actions from the UI + +Among other elements, AI Actions LTS update includes UI components that are used in: + +- AI action management in the **Admin** panel +- text modification in online editor +- alt-text generation in the image management modal + +These areas are user-friendly and well integrated with the existing application’s UI. +Administrators can manage action configurations with ease, while editors can trigger actions with a click of a button. +Procedures are straightforward and intuitive, ensuring that users can quickly achieve their desired outcomes. + +### Triggering actions programmatically + +AI Actions LTS update exposes a REST API interface that allows for programmatic execution of AI actions. +With the API, developers can automate tasks and execute actions on batches of content by integrating them into workflows. + + +## Capabilities + +### Management + +Users with the appropriate permissions, governed by role-based [policies](policies.md#ai-actions), can control the lifecycle of AI actions by creating, editing, executing, and deleting them. +Additionally, AI action configurations can be enabled or disabled depending on the organization's needs. + +![Configurations management screen](img/ai_actions_list.png) + +An intuitive AI Actions interface within the **Admin** panel displays a list of all available AI actions. +Here, you can search for specific actions and filter them by type or status. +By accessing the detailed view of individual AI actions, you can quickly review all their parameters. + +### Extensibility + +Built-in AI action types offer a good starting point, but the real power of the AI Actions LTS update lies in extensibility. +Extending AI Actions opens up new possibilities for content management and editing. +Developers can define new models and AI action types that use the existing AI service or even integrate additional services. +The latter involves developing a new service connector, writing a handler that communicates with the new service, defining a new AI action type, and creating a form for configuring options, which extends the default action configuration form shown in the **Admin** panel. +For example, if this is your organization's requirement, a developer could write a handler that uses an AI service available internally, without exposing your data to a third-party service. + +## Use cases + +Out of the box, after you configure access to the OpenAI service, the [[= product_name_base =]] AI Actions LTS update comes with two action types that can help your organization with the following tasks. + +### Refining text + +Content editors can benefit from using AI capabilities to [enhance or modify text]([[= user_doc =]]/content_management/create_edit_content_items/#ai-assistant). +With a few clicks, they can improve content quality or reduce the workload. +While working on content, editors can select a specific passage and request that AI performs specific actions such as: adjusting the length of the text, changing the tone, or correcting linguistic errors. + +![AI Assistant](img/ai_assistant.png) + +This functionality is available in content types that include a RichText field, and certain Page Builder blocks. + +### Generating alternative text + +Media managers and content editors can benefit from employing AI to [generate alt text for images]([[= user_doc =]]/image_management/upload_images/#ai), which results in improved accessibility and SEO. +Once the feature is configured, editors can generate alt text for images they upload to the system by clicking one button. + +![Alt text generation](img/alt_text_use_ai.png) + +With some customization, administrators could use the API to run a batch process against a larger collection of illustrations. \ No newline at end of file diff --git a/docs/ai_actions/extend_ai_actions.md b/docs/ai_actions/extend_ai_actions.md new file mode 100644 index 0000000000..647fe2a0ec --- /dev/null +++ b/docs/ai_actions/extend_ai_actions.md @@ -0,0 +1,12 @@ +--- +description: Extend AI Actions by connecting to other services and adding new capabilities. +month_change: true +--- + +# Extend AI Actions + +By extending AI Actions you can enhance the attractiveness of mundane content management and editing tasks and make them less burdensome. +You can start from adding new action types that use the existing AI service, and evolve to integrating additional ones with completely new areas of application. +For example, you could write a handler that connects to a translation model and use it to translate your website on-the-fly, or generate illustrations based on a body of an article. + +## ... diff --git a/docs/ai_actions/img/ai_actions_list.png b/docs/ai_actions/img/ai_actions_list.png new file mode 100644 index 0000000000..7f4a884f85 Binary files /dev/null and b/docs/ai_actions/img/ai_actions_list.png differ diff --git a/docs/ai_actions/img/ai_assistant.png b/docs/ai_actions/img/ai_assistant.png new file mode 100644 index 0000000000..58773ced02 Binary files /dev/null and b/docs/ai_actions/img/ai_assistant.png differ diff --git a/docs/ai_actions/img/alt_text_use_ai.png b/docs/ai_actions/img/alt_text_use_ai.png new file mode 100644 index 0000000000..bdef9e5037 Binary files /dev/null and b/docs/ai_actions/img/alt_text_use_ai.png differ diff --git a/docs/ai_actions/img/diagram_source/AI Actions.drawio b/docs/ai_actions/img/diagram_source/AI Actions.drawio new file mode 100644 index 0000000000..71b7576241 --- /dev/null +++ b/docs/ai_actions/img/diagram_source/AI Actions.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/ai_actions/img/guide_ai_actions.png b/docs/ai_actions/img/guide_ai_actions.png new file mode 100644 index 0000000000..c13070e19b Binary files /dev/null and b/docs/ai_actions/img/guide_ai_actions.png differ diff --git a/docs/ai_actions/install_ai_actions.md b/docs/ai_actions/install_ai_actions.md new file mode 100644 index 0000000000..a8cb77860e --- /dev/null +++ b/docs/ai_actions/install_ai_actions.md @@ -0,0 +1,83 @@ +--- +description: Install the AI Actions LTS update. +month_change: true +--- + +# Install AI Actions + +AI Actions are available as an LTS update to [[= product_name =]] in version v4.6.x or higher, regardless of its edition. +To use this feature you must first install the packages and configure them. + +## Install packages + +Run the following commands to install the packages: + +``` bash +composer require ibexa/connector-ai +composer require ibexa/connector-openai +``` + +This command adds the framework code, a service connector with the OpenAI service, service handlers, Twig templates, and configurations required for using AI Actions. +It also modifies the permission system to account for the new functionality. + +## Configure AI Actions + +Once the packages are installed, before you can start using AI Actions, you must enable them by following these instructions. + +### Configure access to OpenAI + +Create an OpenAI account, [get an API key](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key), and make sure that you [set up a billing method](https://help.openai.com/en/articles/9038407-how-can-i-set-up-billing-for-my-account). + +Then, in the root folder of your project, modify the `.env` file: find the `OPENAI_API_KEY` variable and replace a placeholder value with the API key that you got from the AI service. + +```bash +###> ibexa/connector-openai ### +OPENAI_API_KEY=sk-svcacct-AFCrCt1h2s3i4s5i6s7t8h9e0a1p2i3c4o5d6e +###< ibexa/connector-openai ### +``` + +### Modify the database schema + +Create the `add_ai_actions.sql` file that contains the following code. + +=== "MySQL" + + ``` sql + [[= include_file('code_samples/ai_actions/config/mysql/add_ai_actions.sql', 0, None, ' ') =]] + ``` + +=== "PostgreSQL" + + ``` sql + [[= include_file('code_samples/ai_actions/config/postgresql/add_ai_actions.sql', 0, None, ' ') =]] + ``` + +Run the following command, where `` is the same name that you defined when you [installed [[= product_name =]]](../getting_started/install_ibexa_dxp.md#change-installation-parameters). + +=== "MySQL" + + ```bash + mysql -u -p < add_ai_actions.sql + ``` + +=== "PostgreSQL" + + ```bash + psql < add_ai_actions.sql + ``` + +This command modifies the existing database schema by adding database configuration required for using AI Actions. + +You can now restart you application and start [working with the AI Actions feature]([[= user_doc =]]/ai_actions/work_with_ai_actions//). + +### Install sample AI action configurations (optional) + +By installing a collection of sample AI action configurations you can quickly start using the feature. +You do it by following a standard [data migration](importing_data.md) procedure: + +```bash +php bin/console ibexa:migrations:import vendor/ibexa/connector-openai/src/bundle/Resources/migrations/action_configurations.yaml +php bin/console ibexa:migrations:migrate +``` + +Based on these examples, which reflect the most common use cases, you can learn to configure your own AI actions with greater ease. \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index dbe17ea65c..fcb5b8729b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -77,6 +77,7 @@

The latest release is v4.6

The latest version of Ibexa DXP is v4.6. You can now update your application to the latest version.
+
The newest LTS Update to Ibexa DXP v4.6 is AI Actions. Install it to let AI help you with editorial tasks.
Update your application diff --git a/docs/pim/pim_guide.md b/docs/pim/pim_guide.md index 2b1df8a8f0..e1a012c2fc 100644 --- a/docs/pim/pim_guide.md +++ b/docs/pim/pim_guide.md @@ -151,7 +151,7 @@ You can build upon it to connect to a remote PIM or ERP system, pull product dat ![Remote PIM](img/remote_pim_support.png) -Remote PIM support is available in all [[= product_name =]] editions as of version v.4.6.0. +Remote PIM support is available in all [[= product_name =]] editions as of version v4.6.0. An example implementation is delivered as an optional package that you can [install and customize](add_remote_pim_support.md) to fulfill your requirements. #### Capabilities diff --git a/docs/release_notes/ibexa_dxp_v4.6.md b/docs/release_notes/ibexa_dxp_v4.6.md index 9f736001dd..f013058f71 100644 --- a/docs/release_notes/ibexa_dxp_v4.6.md +++ b/docs/release_notes/ibexa_dxp_v4.6.md @@ -14,6 +14,24 @@ description: Ibexa DXP v4.6 brings improvements to Commerce, PIM and Personaliza **Update**: [v4.5.x to v4.6](https://doc.ibexa.co/en/latest/update_and_migration/from_4.5/update_from_4.5/) + +## LTS Updates + +LTS Updates are opt-in packages that bring cutting-edge technologies to an LTS release that they enhance, without compromising the product's stability. +The features brought by an LTS Update become a standard part of the next LTS release. + +### AI Actions + +The AI Actions LTS update enhances the usability and flexibility of [[=product_name=]] v4.6 LTS by harnessing the potential of artificial intelligence to automate time-consuming editorial tasks. +By default, the AI Actions feature can help users with their work in following scenarios: + +- Refining text: when editing a content item, users can request that a passage selected in online editor is modified, for example, by adjusting the length of the text, changing its tone, or correcting linguistic errors. +- Generating alternative text: when working with images, users can ask AI to generate alternative text for them, which helps improve accessibility and SEO. + +![AI Assistant](../ai_actions/img/ai_assistant.png) + +For more information, see [AI Actions product guide](../ai_actions/ai_actions_guide.md). + ## Notable changes ### Ibexa Headless @@ -680,4 +698,4 @@ The following view matchers have been introduced in Ibexa DXP v4.6.0: | [[= product_name_headless =]] | [[= product_name_exp =]] | [[= product_name_com =]] | |---------------|------------------|---------------| -| [[[= product_name_headless =]] v4.6](https://github.com/ibexa/headless/releases/tag/v4.6.0) | [[[= product_name_exp =]] v4.6](https://github.com/ibexa/experience/releases/tag/v4.6.0) | [[[= product_name_com =]] v4.6](https://github.com/ibexa/commerce/releases/tag/v4.6.0) | +| [[[= product_name_headless =]] v4.6](https://github.com/ibexa/headless/releases/tag/v4.6.0) | [[[= product_name_exp =]] v4.6](https://github.com/ibexa/experience/releases/tag/v4.6.0) | [[[= product_name_com =]] v4.6](https://github.com/ibexa/commerce/releases/tag/v4.6.0) | \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 9680b456fa..c3a2ec30df 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -321,6 +321,11 @@ nav: - Add login form: templating/layout/add_login_form.md - Add navigation menu: templating/layout/add_navigation_menu.md - Add search form to front page: templating/layout/add_search_form.md + - AI Actions: + - AI Actions: ai_actions/ai_actions.md + - AI Actions guide: ai_actions/ai_actions_guide.md + - Install AI Actions: ai_actions/install_ai_actions.md +# - Extend AI Actions: ai_actions/extend_ai_actions.md - PIM (Product management): - PIM (Product management): pim/pim.md - PIM guide: pim/pim_guide.md