Skip to content

Commit efbe0c6

Browse files
committed
IBX-9621: Document AI / Connect integration (#2690)
* IBX-9621: Document AI / Connect integration
1 parent 5cb57b0 commit efbe0c6

File tree

10 files changed

+126
-39
lines changed

10 files changed

+126
-39
lines changed

docs/administration/project_organization/bundles.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ To remove a bundle (either one you created yourself, or an out-of-the-box one th
7171
|---------|-----------|
7272
|ibexa/oss|Core packages|
7373
|ibexa/content-tree|content tree functionality|
74-
|ibexa/connect|[[[= product_name_connect =]]](https://doc.ibexa.co/projects/connect/en/latest/)|
74+
|ibexa/connect|[[[= product_name_connect =]]]([[= connect_doc =]]/)|
7575
|ibexa/calendar|Calendar tab with a calendar widget|
7676
|ibexa/connector-dam|Connector for DAM (Digital Asset Management) systems|
7777
|ibexa/elasticsearch|Integration with Elasticsearch search engine|

docs/ai_actions/ai_actions_guide.md

+25-6
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@ Wherever you look, artificial intelligence becomes more and more important by en
1212
AI Actions is an extensible solution for integrating features provided by AI services into your workflows, all managed through a user-friendly interface.
1313

1414
Out-of-the-box, AI Actions solution includes two essential components: a framework package and an OpenAI connector package.
15-
It comes pre-configured with the following action types:
15+
16+
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.
17+
From the developer's perspective, the integration removes the burden of maintaining third-party AI handlers, and accelerates the deployment of AI-based solutions.
18+
19+
AI Actions solution comes pre-configured with the following action types:
1620

1721
- [Refine text](#refining-text): Rewrite existing text according to instructions set in a prompt
1822
- [Generate alternative text](#generating-alternative-text): Generate alt text for images for accessibility purposes
@@ -26,20 +30,28 @@ The possibilities are endless and you're not limited to a specific AI service, a
2630
## Availability
2731

2832
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.
33+
[[= product_name_connect =]] integration is available starting with v4.6.19.
2934
To begin using AI Actions, you must first [install the required packages and perform initial configuration](install_ai_actions.md).
3035

31-
!!! note "API Key"
36+
### Prerequisites
37+
38+
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).
39+
40+
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#token).
3241

33-
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).
42+
!!! note "[[= product_name_connect =]] Availability"
43+
44+
[[= product_name_connect =]] comes with all contracts signed from 2023.
45+
If you signed your contract earlier, contact your customer success manager to use [[= product_name_connect =]].
3446

3547
## How it works
3648

3749
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.
3850
This data can then be combined with user input.
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.
51+
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.
52+
The service connector wraps all data into a prompt or another suitable format and sends it to an external service.
4153

42-
When the AI Service returns a response, the response goes back through the service connector and passes to the framework.
54+
When the external service returns a response, the response goes back through the service connector and passes to the framework.
4355
It can then be presented to the user in any way necessary.
4456

4557
### Core concepts
@@ -147,3 +159,10 @@ Once the feature is configured, editors can generate alt text for images they up
147159
![Alt text generation](img/alt_text_use_ai.png)
148160

149161
With some customization, administrators could use the API to run a batch process against a larger collection of illustrations.
162+
163+
### Performing advanced image to text analysis
164+
165+
With some additional customization, store managers could benefit from automating part of product management by integrating their [[= product_name =]] with Google Cloud Vision and [PIM](pim_guide.md) by using [[= product_name_connect =]].
166+
Instead of manually selecting and linking images stored in a [DAM](add_image_asset_from_dam.md) solution to their products, they could use of a no-code workflow where an AI service, for example, Google Cloud Vision, extracts text and attributes from product images, which are then matched with existing items in a product catalog.
167+
168+
This would enable automatic product identification, tagging, and catalog updates, resulting in less manual work and more efficient product management.
129 KB
Loading

docs/ai_actions/install_ai_actions.md

+92-24
Original file line numberDiff line numberDiff line change
@@ -6,37 +6,21 @@ month_change: true
66
# Install AI Actions
77

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

11-
## Install packages
12+
## Install the framework
1213

13-
Run the following commands to install the packages:
14+
Run the following command to install the package:
1415

1516
``` bash
1617
composer require ibexa/connector-ai
17-
composer require ibexa/connector-openai
1818
```
1919

20-
This command adds the framework code, a service connector with the OpenAI service, service handlers, Twig templates, and configurations required for using AI Actions.
20+
This command adds the framework code, service handlers, Twig templates, and configurations required for using AI Actions.
2121
It also modifies the permission system to account for the new functionality.
2222

23-
## Configure AI Actions
24-
25-
Once the packages are installed, before you can start using AI Actions, you must enable them by following these instructions.
26-
27-
### Configure access to OpenAI
28-
29-
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).
30-
31-
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.
32-
33-
```bash
34-
###> ibexa/connector-openai ###
35-
OPENAI_API_KEY=sk-svcacct-AFCrCt1h2s3i4s5i6s7t8h9e0a1p2i3c4o5d6e
36-
###< ibexa/connector-openai ###
37-
```
38-
39-
### Modify the database schema
23+
## Modify the database schema
4024

4125
Create the `add_ai_actions.sql` file that contains the following code.
4226

@@ -68,9 +52,31 @@ Run the following command, where `<database_name>` is the same name that you def
6852

6953
This command modifies the existing database schema by adding database configuration required for using AI Actions.
7054

71-
You can now restart you application and start [working with the AI Actions feature]([[= user_doc =]]/ai_actions/work_with_ai_actions/).
55+
!!! note "Next steps"
56+
57+
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).
58+
59+
Only then you can restart you application and start [working with the AI Actions feature]([[= user_doc =]]/ai_actions/work_with_ai_actions/).
60+
61+
## Configure access to OpenAI
62+
63+
Run the following command to install the service connector with the OpenAI service:
64+
65+
``` bash
66+
composer require ibexa/connector-openai
67+
```
68+
69+
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).
70+
71+
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.
72+
73+
```bash
74+
###> ibexa/connector-openai ###
75+
OPENAI_API_KEY=<your_api_key>
76+
###< ibexa/connector-openai ###
77+
```
7278

73-
### Install sample AI action configurations (optional)
79+
### Install sample OpenAI action configurations (optional)
7480

7581
By installing a collection of sample AI action configurations you can quickly start using the feature.
7682
You do it by following a standard [data migration](importing_data.md) procedure:
@@ -81,3 +87,65 @@ php bin/console ibexa:migrations:migrate
8187
```
8288

8389
Based on these examples, which reflect the most common use cases, you can learn to configure your own AI actions with greater ease.
90+
91+
## Configure access to [[= product_name_connect =]]
92+
93+
First, get the credentials by contacting [Ibexa Support](https://support.ibexa.co).
94+
95+
### Create team
96+
97+
In [[= product_name_connect =]], set up the account, and [create a team]([[= connect_doc =]]/access_management/teams/#creating-teams).
98+
Navigate to the team details page and note down the numerical value of the **Team id** variable.
99+
100+
Creating a team matters, because [scenarios]([[= connect_doc =]]/scenarios/creating_a_scenario/) that process data coming from your AI action are associated with a team.
101+
This way, if your organization has more than one [[= product_name =]] project, each project can be linked to a different team and so can be scenarios used in those projects.
102+
103+
If specific users from the team are supposed to modify scenario settings, you must [assign the right roles]([[= connect_doc =]]/access_management/teams/#managing-teams) to them.
104+
105+
### Create token
106+
107+
Navigate to your [[= product_name_connect =]] user's profile, and on the **API ACCESS** tab, create a new token.
108+
Copy the token code that appears next to the label.
109+
110+
![Creating an API token](img/connect_api_token.png)
111+
112+
### Set up credentials
113+
114+
In the root folder of your project, modify the `.env` file.
115+
Replace a placeholder value of the `IBEXA_CONNECT_TOKEN` variable with the token that you got from [[= product_name_connect =]] and provide a value of the `IBEXA_CONNECT_TEAM_ID` variable.
116+
117+
```bash
118+
###> ibexa/connect ###
119+
IBEXA_CONNECT_HOST=https://connect.ibexa.co
120+
IBEXA_CONNECT_API_PATH=/api/v2/
121+
# Token can be created in the user's profile in Ibexa Connect, under the 'API ACCESS' section.
122+
IBEXA_CONNECT_TOKEN=<your_api_token>
123+
# Use the URL below to read more on Ibexa Connect teams.
124+
# https://doc.ibexa.co/projects/connect/en/latest/access_management/teams/
125+
IBEXA_CONNECT_TEAM_ID=2
126+
###< ibexa/connect ###
127+
```
128+
129+
### Initiate integration
130+
131+
Initiate the models provided by the handler by issuing the following command:
132+
133+
```bash
134+
php bin/console ibexa:connect:init-connect-ai <team_id> <language> <action handler identifiers>
135+
```
136+
137+
For example:
138+
139+
```bash
140+
php bin/console ibexa:connect:init-connect-ai 2 en connect-image-to-text connect-text-to-text
141+
```
142+
143+
!!! note "Support for multiple [[= product_name_connect =]] languages"
144+
145+
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.
146+
147+
### Customize templates
148+
149+
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.
150+
151+
Once the templates are ready, you can build scenarios from them, either directly in [[= product_name_connect =]] or in [[[= product_name =]]'s user interface]([[= user_doc =]]/ai_actions/work_with_ai_actions/#create-new-ai-actions).

docs/content_management/images/add_image_asset_from_dam.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ The configuration for each connector depends on the requirements of the specific
2222
2323
You can create your own connectors, or use the provided example DAM connector for [Unsplash](https://unsplash.com/).
2424
25-
To add the Unsplash connector to your system add the `ibexa/connector-unsplash` bundle to your installation.
25+
To add the Unsplash connector to your system, add the `ibexa/connector-unsplash` bundle to your installation.
2626

2727
## Add Image Asset in Page Builder [[% include 'snippets/experience_badge.md' %]] [[% include 'snippets/commerce_badge.md' %]]
2828

docs/ibexa_engage/integrate_ibexa_connect.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ edition: experience
55

66
# Use Ibexa Connect
77

8-
You can use [[[= product_name_connect =]]](https://doc.ibexa.co/projects/connect/en/latest/general/ibexa_connect/) to create workflows.
8+
You can use [[[= product_name_connect =]]]([[= connect_doc =]]/general/ibexa_connect/) to create workflows.
99
[[= product_name_engage =]] collects user data and passes it directly to [[= product_name_connect =]].
1010
With this data, you can create scenarios, for example, to add a user to newsletter, or to specific user segment group.
1111

12-
For more information, see [[[= product_name_connect =]] documentation](https://doc.ibexa.co/projects/connect/en/latest/).
12+
For more information, see [[[= product_name_connect =]] documentation]([[= connect_doc =]]/).
1313

1414
## Integrate [[= product_name_engage =]] with [[= product_name_connect =]]
1515

@@ -55,4 +55,4 @@ To do it, perform the following actions::
5555
![Configure Ibexa Engage](configure_ibexa_engage.png "Configure Ibexa Engage")
5656

5757
4\. Then, go to **Engage** -> **Integrations** -> **Push rules** to define the default or specific rules for new campaign or website.
58-
Select the created webhook.
58+
Select the created webhook.

docs/personalization/integrate_recommendation_service.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ To let your visitors receive emails with recommendations:
167167
1\. With the [User API](api_reference/user_api.md#post-requests), add the `e-mail` attribute (or another identifier) to the user record.
168168

169169
2\. Prepare an endpoint to intercept push messages and pass them on, for example, to your mailing system.
170-
Out of many options, it could be an [[= product_name_connect =]] [webhook](https://doc.ibexa.co/projects/connect/en/latest/tools/webhooks/).
170+
Out of many options, it could be an [[= product_name_connect =]] [webhook]([[= connect_doc =]]/tools/webhooks/).
171171
The endpoint must meet the following requirements:
172172

173173
- must support POST requests

docs/release_notes/ibexa_dxp_v4.4.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ You can now take advantage of [[[= product_name_connect =]]](https://www.ibexa.c
8989
an iPaaS (integration platform-as-a-service) which allows you to connect [[= product_name =]] with third-party applications.
9090
[[= product_name_connect =]] features a low-code drag-and-drop interface and hundreds of connectors to different services that help you automate business processes.
9191

92-
See [[[= product_name_connect =]] documentation](https://doc.ibexa.co/projects/connect/en/latest/).
92+
See [[[= product_name_connect =]] documentation]([[= connect_doc =]]/).
9393

9494
![Example of an Ibexa Connect scenario](4.4_connect_scenario_example.png)
9595

docs/release_notes/ibexa_dxp_v4.5.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ For more information, see [Breached passwords](https://doc.ibexa.co/en/4.5/users
211211

212212
### [[= product_name_connect =]]
213213

214-
For list of changes in [[= product_name_connect =]], see [Ibexa app release notes](https://doc.ibexa.co/projects/connect/en/latest/general/ibexa_app_release_notes/).
214+
For list of changes in [[= product_name_connect =]], see [Ibexa app release notes]([[= connect_doc =]]/general/ibexa_app_release_notes/).
215215

216216
### Deprecations
217217

docs/release_notes/ibexa_dxp_v4.6.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -873,7 +873,7 @@ A new helper method `ibexa.helpers.contentType.getContentTypeDataByHref` has bee
873873

874874
#### [[= product_name_connect =]]
875875

876-
For a list of changes in [[= product_name_connect =]], see [Ibexa app release notes](https://doc.ibexa.co/projects/connect/en/latest/general/ibexa_app_release_notes/).
876+
For a list of changes in [[= product_name_connect =]], see [Ibexa app release notes]([[= connect_doc =]]/general/ibexa_app_release_notes/).
877877

878878
##### Scenario block
879879

0 commit comments

Comments
 (0)