Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions docs/ai_actions/ai_actions.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
---
description: AI Actions help editors by automating repetitive tasks.
page_type: landing_page
edition: lts-update
month_change: false
---

# AI Actions

The AI Actions LTS update enhances the usability and flexibility of [[= product_name =]] by automating various tasks.
AI Actions enhance 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/configure_ai_actions",
"ai_actions/extend_ai_actions",
], columns=4) =]]
24 changes: 11 additions & 13 deletions docs/ai_actions/ai_actions_guide.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: AI Actions LTS update helps editors by automating repetitive tasks.
edition: lts-update
description: AI Actions help editors by automating repetitive tasks.
month_change: true
---

Expand All @@ -9,12 +8,12 @@ month_change: true
## 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](editions.md#lts-updates), which harnesses AI's potential to automate time-consuming editorial tasks.
[[= product_name =]] is equipped with the AI Actions feature, 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.

As of version v4.6.19, AI Actions can integrate with [[[= product_name_connect =]]]([[= connect_doc =]]/general/ibexa_connect/), to give you an opportunity to build complex data transformation workflows without having to rely on custom code.
AI Actions can integrate with [[[= product_name_connect =]]]([[= connect_doc =]]/general/ibexa_connect/), to give you an opportunity to build complex data transformation workflows without having to rely on custom code.
From the developer's perspective, the integration removes the burden of maintaining third-party AI handlers, and accelerates the deployment of AI-based solutions.

AI Actions solution comes pre-configured with the following action types:
Expand All @@ -30,15 +29,14 @@ The possibilities are endless and you're not limited to a specific AI service, a

## Availability

AI Actions are an opt-in capability available as an [LTS update](editions.md#lts-updates) starting with the v4.6.12 version of [[= product_name =]], regardless of its edition.
[[= product_name_connect =]] integration is available starting with v4.6.19.
To begin using AI Actions, you must first [install the required packages and perform initial configuration](install_ai_actions.md).
[[= product_name_cloud =]] is available in all [[= product_name =]] editions.
To begin using AI Actions, you must first [perform the initial configuration](configure_ai_actions.md).

### Prerequisites

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).

Integration with [[= product_name_connect =]] requires that you first [get the credentials]([[= connect_doc =]]/general/ibexa_connect/#access-ibexa-connect) to your account, and the [API token](install_ai_actions.md#create-token).
Integration with [[= product_name_connect =]] requires that you first [get the credentials]([[= connect_doc =]]/general/ibexa_connect/#access-ibexa-connect) to your account, and the [API token](configure_ai_actions.md#create-token).

!!! note "[[= product_name_connect =]] Availability"

Expand All @@ -47,7 +45,7 @@ Integration with [[= product_name_connect =]] requires that you first [get the c

## 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.
AI Actions rely 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 or the [[= product_name_connect =]] 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 service.
Expand Down Expand Up @@ -101,7 +99,7 @@ Handlers take parameters defined in the AI action type and configuration, combin

### Triggering actions from the UI

Among other elements, AI Actions LTS update includes UI components that are used in:
Among other elements, AI Actions include UI components that are used in:

- AI action management in the **Admin** panel
- text modification in online editor
Expand All @@ -113,7 +111,7 @@ Procedures are straightforward and intuitive, ensuring that users can quickly ac

### Triggering actions programmatically

AI Actions LTS update exposes a REST API interface that allows for programmatic execution of AI actions.
AI Actions feature 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.
For more information, see the [AI actions section in the REST API Reference](../api/rest_api/rest_api_reference/rest_api_reference.html#ai-actions-execute-ai-action).

Expand All @@ -132,15 +130,15 @@ By accessing the detailed view of individual AI actions, you can quickly review

### Extensibility

Built-in AI action types offer a good starting point, but the real power of the AI Actions LTS update lies in extensibility.
Built-in AI action types offer a good starting point, but the real power of AI Actions 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.
Out of the box, after you configure access to the OpenAI service, the [[= product_name_base =]] AI Actions come with two action types that can help your organization with the following tasks.

### Refining text

Expand Down
Original file line number Diff line number Diff line change
@@ -1,73 +1,22 @@
---
description: Install the AI Actions LTS update.
edition: lts-update
description: Configure AI Actions.
month_change: true
---

# Install AI Actions
# Configure AI Actions

AI Actions are available as an LTS update to [[= product_name =]] starting with version v4.6.12 or higher, regardless of its edition.
To use this feature you must first install the package.
You can then install and configure the service connectors or build your own ones.

## Install framework

Run the following command to install the package:

``` bash
composer require ibexa/connector-ai
```

This command adds the framework code, service handlers, Twig templates, and configurations required for using AI Actions.
It also modifies the permission system to account for the new functionality.

## Modify 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 `<database_name>` 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 <username> -p <password> <database_name> < add_ai_actions.sql
```

=== "PostgreSQL"

```bash
psql <database_name> < add_ai_actions.sql
```

This command modifies the existing database schema by adding database configuration required for using AI Actions.
AI Actions are available in [[= product_name =]] regardless of its edition.
To use this feature you must first configure the built-in service connectors or build your own ones.

!!! note "Next steps"

Once the framework is installed and configured, before you can start using AI Actions, you can configure access to [[= product_name_base =]]-made service connectors by following the instructions below, or [create your own](extend_ai_actions.md#create-custom-action-handler).
Once the framework is configured, before you can start using AI Actions, you can configure access to [[= product_name_base =]]-made service connectors by following the instructions below, or [create your own](extend_ai_actions.md#create-custom-action-handler).

Only then you can restart you application and start [working with the AI Actions feature]([[= user_doc =]]/ai_actions/work_with_ai_actions/).

## Configure access to OpenAI
## Configure access to OpenAI (optional)

Run the following command to install the service connector with the OpenAI service:

``` bash
composer require ibexa/connector-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).
To use the built-in connector with the OpenAI service, you need to 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.

Expand All @@ -77,15 +26,9 @@ OPENAI_API_KEY=<your_api_key>
###< ibexa/connector-openai ###
```

### Install sample OpenAI 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:
### Sample OpenAI action configurations

```bash
php bin/console ibexa:migrations:import vendor/ibexa/connector-openai/src/bundle/Resources/migrations/action_configurations.yaml
php bin/console ibexa:migrations:migrate
```
The AI actions come with sample AI action configurations to quickly get you started on using the feature.

Based on these examples, which reflect the most common use cases, you can learn to configure your own AI actions with greater ease.

Expand Down Expand Up @@ -161,7 +104,7 @@ php bin/console ibexa:connect:init-connect-ai 2 en connect-image-to-text connect

The [`language` attribute](https://developers.make.com/api-documentation/api-reference/templates#templates-1) determines the language in which template details such as module names will be displayed in [[= product_name_connect =]]'s UI.

### Customize templates
### Customize templates

Return to the [[= product_name_connect =]] dashboard and modify the **Template for connect...handler** [templates]([[= connect_doc =]]/scenarios/scenario_templates/) by defining the logic needed to process the data.

Expand Down
1 change: 0 additions & 1 deletion docs/ai_actions/extend_ai_actions.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: Extend AI Actions by connecting to other services and adding new capabilities.
edition: lts-update
month_change: false
---

Expand Down
6 changes: 3 additions & 3 deletions docs/content_management/data_migration/importing_data.md
Original file line number Diff line number Diff line change
Expand Up @@ -346,9 +346,9 @@ You can also update attributes, including changing which attribute group they be

You can't change the attribute type of an existing attribute.

##### Date and time attributes [[% include 'snippets/lts-update_badge.md' %]]
##### Date and time attributes

If you're using attributes of the [date and time type](date_and_time.md), you can manage it through the migrations as well, for example:
You can manage the [date and time attribute type](date_and_time.md) through the migrations, for example:

``` yaml
[[= include_file('code_samples/data_migration/examples/create_datetime_attribute.yaml') =]]
Expand Down Expand Up @@ -487,7 +487,7 @@ When updating a content type, use:
[[= include_file('code_samples/data_migration/examples/update_tag.yaml') =]]
```

### AI action configurations [[% include 'snippets/lts-update_badge.md' %]]
### AI action configurations

- The following example shows how you can create a new action configuration in your system:

Expand Down
15 changes: 11 additions & 4 deletions docs/ibexa_products/editions.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Compare all features available in [[= product_name_headless =]], [[= product_nam
| Feature | [[= product_name_headless =]] | [[= product_name_exp =]] | [[= product_name_com =]] |
|-----------------|-----------------|-----------------|-----------------|
| [Content model](content_model.md) | &#10004; | &#10004; | &#10004; |
| [AI Actions](ai_actions_guide.md) | &#10004; | &#10004; | &#10004; |
| [User management](user_management_guide.md) | &#10004; | &#10004; | &#10004; |
| [Focus Mode]([[= user_doc =]]/getting_started/discover_ui/#focus-mode) | &#10004; | &#10004; | &#10004; |
| [Image editor]([[= user_doc =]]/image_management/edit_images/) | &#10004; | &#10004; | &#10004; |
Expand All @@ -30,6 +31,7 @@ Compare all features available in [[= product_name_headless =]], [[= product_nam
| [Editorial workflow]([[= user_doc =]]/content_management/workflow_management/editorial_workflow/) | &#10004; | &#10004; | &#10004; |
| [Digital Asset Management]([[= user_doc =]]/dam/ibexa_dam/) | &#10004; | &#10004; | &#10004; |
| [Product Information Management]([[= user_doc =]]/pim/pim/) | &#10004; | &#10004; | &#10004; |
| [Date and time attribute type](date_and_time.md) | &#10004; | &#10004; | &#10004; |
| [Personalization](personalization_guide.md) | &#10004; | &#10004; | &#10004; |
| [Migrations](managing_migrations.md) | &#10004; | &#10004; | &#10004; |
| [[[= product_name_connect =]]]([[= connect_doc =]]) | &#10004; | &#10004; | &#10004; |
Expand Down Expand Up @@ -60,7 +62,12 @@ Compare all features available in [[= product_name_headless =]], [[= product_nam
LTS Updates are opt-in packages that bring additional features to the [LTS releases](release_process_and_roadmap.md#long-term-support-releases) that they enhance.
The features brought by LTS Updates become standard parts of the next LTS release.

| Feature | [[= product_name_headless =]] | [[= product_name_exp =]] | [[= product_name_com =]] |
|-----------------|-----------------|-----------------|-----------------|
| [AI Actions](ai_actions_guide.md) | &#10004; | &#10004; | &#10004; |
| [Date and time attribute type](date_and_time.md) | &#10004; | &#10004; | &#10004; |
There aren't any LTS Updates available for the v5 release yet.
The ones released for 4.6 LTS are included out of the box in [[= product_name =]] 5.0 LTS:

- [AI Actions](ai_actions_guide.md)
- [Date and time attribute type](date_and_time.md)


<!-- | Feature | [[= product_name_headless =]] | [[= product_name_exp =]] | [[= product_name_com =]] |
|-----------------|-----------------|-----------------|-----------------| -->
21 changes: 3 additions & 18 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,11 @@
</div>
</div>
<div class="row notifications">
<div class="col-12 col-lg-6">
<div class="col-12 col-lg-12">
<div class="notification notification--latest-release" id="tile2">
<div class="notification__content">
<h2>The latest release is [[= latest_tag_4_6 =]]</h2>
<div>The latest version of Ibexa DXP is [[= latest_tag_4_6 =]]. You can now update your application to the latest version.</div>
<h2>The latest release is [[= latest_tag_5_0 =]]</h2>
<div>The latest version of Ibexa DXP is [[= latest_tag_5_0 =]]. You can now update your application to the latest version.</div>
</div>
<div class="notification__cta">
<a href="release_notes/ibexa_dxp_v4.6/">Release notes</a>
Expand All @@ -86,21 +86,6 @@
</div>
</div>
</div>
<div class="col-12 col-lg-6">
<div class="notification notification--lts-update" id="tile3">
<div class="notification__content">
<h2>The newest LTS Update is the Date and time attribute type</h2>
<div>Install it to add time-related values to product specifications.</div>
</div>
<div class="notification__cta">
<a href="pim/attributes/date_and_time">Learn more about this LTS Update</a>
<a href="ibexa_products/editions#lts-updates">Discover other LTS Updates</a>
</div>
<div class="notification__image">
<img src="images/notification-lts-update.svg" alt="LTS Update" />
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
Expand Down
Loading