Skip to content

Commit af41b70

Browse files
committed
Implement changes after the release
1 parent 9abac00 commit af41b70

File tree

6 files changed

+154
-105
lines changed

6 files changed

+154
-105
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
create table ibexa_action_configuration
2+
(
3+
id int auto_increment primary key,
4+
identifier varchar(64) not null,
5+
type varchar(32) not null,
6+
enabled tinyint(1) not null,
7+
action_type_options json null,
8+
action_handler_options json null,
9+
action_handler_identifier varchar(64) null,
10+
created_at datetime null comment '(DC2Type:datetime_immutable)',
11+
updated_at datetime null comment '(DC2Type:datetime_immutable)',
12+
constraint ibexa_action_configuration_identifier_uc
13+
unique (identifier)
14+
)
15+
collate = utf8mb4_unicode_520_ci;
16+
17+
create index ibexa_action_configuration_enabled_idx
18+
on ibexa_action_configuration (enabled);
19+
20+
create index ibexa_action_configuration_identifier_idx
21+
on ibexa_action_configuration (identifier);
22+
23+
create table ibexa_action_configuration_ml
24+
(
25+
id int auto_increment primary key,
26+
action_configuration_id int not null,
27+
language_id bigint not null,
28+
name varchar(190) not null,
29+
description longtext null,
30+
constraint ibexa_action_configuration_ml_uidx
31+
unique (action_configuration_id, language_id),
32+
constraint ibexa_action_configuration_ml_to_action_configuration_fk
33+
foreign key (action_configuration_id) references ibexa_action_configuration (id)
34+
on update cascade on delete cascade,
35+
constraint ibexa_action_configuration_ml_to_language_fk
36+
foreign key (language_id) references ezcontent_language (id)
37+
on update cascade on delete cascade
38+
)
39+
collate = utf8mb4_unicode_520_ci;
40+
41+
create index ibexa_action_configuration_ml_action_configuration_idx
42+
on ibexa_action_configuration_ml (action_configuration_id);
43+
44+
create index ibexa_action_configuration_ml_language_idx
45+
on ibexa_action_configuration_ml (language_id);

docs/ai_actions/ai_actions.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ page_type: landing_page
55

66
# AI Actions
77

8-
Enhance the usability and flexibility of [[= product_name =]] by installing the AI Actions add-on that can automate various tasks, for example, generate alt text for images.
9-
Potentially, you can use AI for transforming text passages, generating illustrations for your articles based on a prompt, and so on.
8+
The AI Actions add-on enhances the usability and flexibility of [[= product_name =]] by automating various tasks.
9+
After you configure it, it can generate alt text for images or transform text passages.
10+
11+
You can also extend it to perform other tasks or support additional AI engines.
1012

1113
[[= cards([
1214
"ai_actions/ai_actions_guide",
13-
"ai_actions/configure_access_to_openai",
1415
"ai_actions/install_ai_actions",
1516
"ai_actions/extend_ai_actions"
1617
], columns=4) =]]

docs/ai_actions/ai_actions_guide.md

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -6,91 +6,93 @@ description: AI Actions add-on helps editors by automating repetitive tasks.
66

77
## What are AI Actions
88

9-
In the evolving landscape of digital experience, artificial intelligence becomes more and more important by enhancing user interaction and automating complex tasks.
10-
[[= product_name =]] can be equipped with the AI Actions add-on, which harnesses AI's potential to automate various time-consuming tasks, for example, generating alt text for images.
9+
In the evolving landscape of digital experience, artificial intelligence becomes more and more important by enhancing user interaction and automating complex processes.
10+
[[= product_name =]] can be equipped with the AI Actions add-on, which harnesses AI's potential to automate time-consuming editorial tasks.
11+
AI Actions is an extensible solution for integrating features provided by AI services into your workflows, all managed through a user-friendly interface.
1112

1213
Out-of-the-box, AI Actions includes two essential components: a framework package and an OpenAI connector package.
13-
By default it comes with two action types preconfigured:
14+
It comes pre-configured with the following action types:
1415

15-
- Generate alternative text: Generate alt text for accessibility purposes
16-
- Refine text: Rewrite existing text according to parameters set in a prompt
16+
- [Refine text](#refining-text): Rewrite existing text according to parameters set in a prompt
17+
- [Generate alternative text](#generating-alternative-text): Generate alt text for accessibility purposes
1718

18-
![AI Actions schematic](<img/guide_AI Actions.png>)
19+
![AI Actions schematic](img/guide_AI Actions.png)
1920

2021
You can extend its capabilities beyond the default setup by creating custom connector modules, allowing users to integrate additional AI services or customize the way data is processed and interpreted.
21-
For example, it can transform text, or generate illustrations for your articles based on a prompt.
22+
For example, it could transform images, or generate illustrations for your articles based on their contents.
2223
The possibilities are endless and you're not limited to a specific AI service, avoiding vendor lock-in.
2324

2425
## Availability
2526

26-
The AI Actions feature is an opt-in capability available as an LTS Update to the v4.6.x version of [[= product_name =]], regardless of its edition.
27-
To begin using AI Actions, you must first install the required packages and perform initial configuration.
27+
AI Actions are an opt-in capability available as an LTS Update to the v4.6.x version of [[= product_name =]], regardless of its edition.
28+
To begin using AI Actions, you must first [install the required packages and perform initial configuration](install_ai_actions.md).
2829

2930
!!! note "API Key"
3031

31-
The Open AI connector requires that you first [get an API key](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key).
32+
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).
3233

3334
## How it works
3435

35-
Built upon the PHP framework, AI Actions offer an extensible solution for integrating features provided by AI services into your workflows, all managed through a user-friendly interface.
36-
37-
The framework package is responsible for gathering information from various sources, such as Action types, Action configurations, and contextual details like SiteAccess, user details, locale settings, and more.
36+
AI Actions add-on is built upon the PHP framework.
37+
The framework package 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.
3838
This data can then be combined with user input.
39-
Then it's passed to a connector, such as the OpenAI connector, for final processing on [[= product_name =]] side.
40-
The connector wraps the data into a prompt or another suitable format and sends it to an external AI service.
41-
42-
When the AI Service returns a response, the response goes through the connector and passes to the framework.
43-
It can now be presented to the user in any way necessary.
39+
It's then passed to a service connector, such as the default OpenAI connector, for final processing on [[= product_name =]] side.
40+
The service connector wraps all data into a prompt or another suitable format and sends it to an external AI service.
4441

45-
AI Actions can also be extended beyond the default setup by creating custom connector modules, allowing users to integrate additional AI services or customize the way data is processed and interpreted.
42+
When the AI Service returns a response, the response goes back through the service connector and passes to the framework.
43+
It can then be presented to the user in any way necessary.
4644

4745
### Core concepts
4846

47+
#### AI service
48+
49+
AI service is a third party platform that provides access to artificial intelligence tools and capabilities.
50+
It executes tasks that it receives through a service connector.
51+
4952
#### Action
5053

51-
Actions are tasks or functions that the AI is set to perform.
52-
Each Action is a combination of an action type and an action configuration.
53-
Action types define what kind of task the AI performs, while action configurations specify how the task should be executed.
54+
Actions are tasks or functions that the AI service is set to perform.
55+
Each action is a combination of an AI action type and an AI action configuration.
56+
Action types define what kind of task the AI service performs, while AI action configurations specify how the task should be executed.
5457
This clear separation allows for a flexible system where actions can be created, managed, and customized with minimal effort.
5558

56-
#### Action type
59+
#### AI action type
5760

58-
Action types are predefined by developers.
59-
Each action type defines the structure and nature of the task that the AI service performs.
60-
Action types could be designed to generate alt text for images, summarize a passage of text, or even translate content into another language.
61-
By defining action types, developers can create a wide range of functionalities that can be deployed within the application.
61+
AI action types are templates predefined by developers.
62+
Each AI action type defines the structure and nature of the task that the AI service performs.
63+
AI action types could be designed, for example, to generate text based on an image, translate a passage of text, or generate a video clip based on a description.
64+
By defining AI action types, developers can create a wide range of functionalities that can be deployed within the application.
6265

63-
#### Action configuration
66+
#### AI action configuration
6467

65-
Website administrators use Action configurations to employ action types to generate actions.
66-
Action configurations are managed in the [Admin Panel](admin_panel.md), and allow administrators to customize and fine-tune the behavior of each action.
67-
Such tuning might involve setting specific parameters used the AI service, setting an expense limit, or configuring how the output should be handled.
68-
By making such adjustments, administrators can ensure that the actions are tailored to meet their requirements.
68+
AI action configurations store detailed parameters needed to generate AI actions based on AI action types.
69+
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.
70+
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.
71+
By making such adjustments, administrators can ensure that the actions are tailored to meet the needs of your organization.
6972

70-
#### Handler
73+
#### Models
7174

72-
Once an action is defined and configured, it must be executed, and this is where handlers come into play.
73-
Handlers are pieces of PHP code that are responsible for resolving an action.
74-
Each handler is designed to work with a specific AI service and action type pair.
75-
Handlers may include hardcoded prompts for conversational AI services like ChatGPT.
76-
They can also operate without prompts in the case of other types of AI.
77-
Handlers take parameters defined in the action type and action configuration, combine it with user input and any predefined settings or prompts, and pass this information to the AI service for processing.
75+
Once an AI action is defined and configured, it must be executed, and this is where models come into play.
76+
Each model is designed to work with a specific AI service and AI action type pair.
77+
Pieces of PHP code that are responsible for resolving a model are called handlers.
78+
They may include hardcoded prompts for conversational AI services like ChatGPT, or operate without prompts in the case of other types of AI.
79+
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.
7880

7981
### Triggering actions from the UI
8082

81-
Among other elements, AI Actions package includes UI components for:
83+
Among other elements, AI Actions add-on includes UI components for:
8284

83-
- action management in the Admin Panel,
84-
- alt-text generation feature in image management
85+
- AI action management in the **Admin** panel
8586
- text modification in online editor
87+
- alt-text generation feature in the image management modal
8688

8789
These areas are user-friendly and well integrated with the existing application’s UI.
88-
Administrators can manage action configurations with ease, while end-users can trigger actions with a click of a button.
90+
Administrators can manage action configurations with ease, while editors can trigger actions with a click of a button.
8991
Procedures are straightforward and intuitive, ensuring that users can quickly achieve their desired outcomes.
9092

9193
### Triggering actions programmatically
9294

93-
AI Actions add-on exposes a REST API interface that allows for programmatic execution of actions.
95+
AI Actions add-on exposes a REST API interface that allows for programmatic execution of AI actions.
9496
With the API, developers can automate tasks and execute actions on batches of content by integrating them into workflows.
9597
<!---By issuing commands through the API, developers can trigger actions based on external events:
9698
...--->
@@ -99,42 +101,40 @@ With the API, developers can automate tasks and execute actions on batches of co
99101

100102
### Management
101103

102-
The AI Actions allows you to control the lifecycle of action configurations.
103-
Users with the appropriate permissions, governed by role-based [policies](policies.md#ai-actions), can create, edit, execute, and delete action configurations.
104-
Additionally, configurations can be enabled or disabled depending on the organization's needs.
104+
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.
105+
Additionally, AI action configurations can be enabled or disabled depending on the organization's needs.
105106

106-
[Configurations management screen](ai_actions_list.md)
107+
![Configurations management screen](img/ai_actions_list.md)
107108

108-
An intuitive AI Actions interface within the Admin Panel displays a list of all available action configurations.
109-
Here, you can search for specific configurations and filter them by type or status.
110-
By accessing the detailed view of individual action configurations, it is possible to quickly review all the parameters.
109+
An intuitive AI Actions interface within the **Admin** panel displays a list of all available AI actions.
110+
Here, you can search for specific actions and filter them by type or status.
111+
By accessing the detailed view of individual AI actions, you can quickly review all their parameters.
111112

112113
### Extensibility
113114

114-
Built-in action types offer a good starting point, but the real power of AI Actions lies in extensibility.
115+
Built-in AI action types offer a good starting point, but the real power of the AI Actions add-on lies in extensibility.
115116
Extending AI Actions opens up new possibilities for content management and editing.
116-
Developers can extend the feature by adding new action types that use existing AI services or even integrating additional ones.
117-
This involves defining a new action type, writing a handler that communicates with the new service, and creating a form for configuring the options that extends the default action configuration form shown in the Admin Panel.
118-
For example, if this is your enterprise's requirement, a developer could write a handler that uses an AI service to generate complete articles based on a short description, or illustrations based on a body of an article.
117+
Developers can define new models and AI action types that use the existing AI service or even integrate additional services.
118+
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.
119+
For example, if this is your organization's requirement, a developer could write a handler that uses an AI service to <insert_a description and link to Marek's use case> generate complete articles based on a short description, or illustrations based on a body of an article.
119120

120121
## Use cases
121122

122-
Out of the box, the [[= product_name_base =]] AI Actions add-on comes with two action types that can help your oganization with the following tasks.
123-
However, before you can start using these features, some preliminary setup is required, which includes configuring access to an AI service.
123+
Out of the box, after you configure access to the OpenAI service, the [[= product_name_base =]] AI Actions add-on comes with two action types that can help your organization with the following tasks.
124124

125125
### Refining text
126126

127-
Content editors can benefit from using AI capabilities to enhance or modify text.
127+
Content editors can benefit from using AI capabilities to [enhance or modify text]([[= user_doc =]]/content_management/create_edit_content_items/#ai-assistant).
128128
With a few clicks, they can improve content quality or reduce the workload.
129-
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 grammar and spelling errors.
129+
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.
130130

131131
![AI Assistant](img/ai_assistant.png)
132132

133133
With seamless with the content creation UI in mind, this functionality is available in content types that include a RichText field, and certain Page Builder blocks.
134134

135135
### Generating alternative text
136136

137-
Media managers and content editors can benefit from employing AI to generate alt text for images, which results in improved accessibility and SEO.
137+
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.
138138
Once the feature is configured, editors can generate alt text for images they upload to the system by clicking one button.
139139

140140
![Alt text generation](img/alt_text_use_ai.png)

docs/ai_actions/configure_access_to_openai.md

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)