diff --git a/content/en/docs/genai/reference-guide/external-platforms/mx-genai-connector.md b/content/en/docs/genai/reference-guide/external-platforms/mx-genai-connector.md
index 393518f1490..21eee04084a 100644
--- a/content/en/docs/genai/reference-guide/external-platforms/mx-genai-connector.md
+++ b/content/en/docs/genai/reference-guide/external-platforms/mx-genai-connector.md
@@ -305,15 +305,6 @@ To check your JDK version and update it if necessary, follow these steps:
2. You may also need to update Gradle. To do this, go to **Edit** > **Preferences** > **Deployment** > **Gradle directory**. Click **Browse** and select the appropriate Gradle version from the Mendix folder. For Mendix 10.10 and above, use Gradle 8.5. For Mendix 10 versions below 10.10, use Gradle 7.6.3. Then save your settings by clicking **OK**.
3. Rerun the project.
-
-### Missing Jackson Core Dependency
-
-This applies to cases where your app fails to compile and throws the following error: `Missing dependencies: com.fasterxml.jackson.core:jackson-core:2.22.0`.
-
-This dependency is advertised in Maven repositories but does not actually exist. When you build your app, the automated dependency management attempts to download it and fails because the version is unavailable.
-
-To resolve this issue, download and install [GenAI Commons 6.2.2](https://marketplace.mendix.com/link/component/239448) from Mendix Marketplace. This module includes a fixed Jackson Core dependency configuration and will allow your app to compile successfully. Once Maven resolves the issue, dependency ranges will be used again to re-enable automated dependency management, including automatic vulnerability fixes.
-
### Migrating From Add-on Module to App Module
Because the module has been changed with version 3.0.0 from an add-on to an app module, updating it via Marketplace requires a migration to ensure it works properly with your app.
diff --git a/content/en/docs/genai/reference-guide/external-platforms/openai.md b/content/en/docs/genai/reference-guide/external-platforms/openai.md
index 82aab3672e5..28c0277c386 100644
--- a/content/en/docs/genai/reference-guide/external-platforms/openai.md
+++ b/content/en/docs/genai/reference-guide/external-platforms/openai.md
@@ -319,15 +319,6 @@ To check your JDK version and update it if necessary, follow these steps:
2. You may also need to update Gradle. To do this, go to **Edit** > **Preferences** > **Deployment** > **Gradle directory**. Click **Browse** and select the appropriate Gradle version from the Mendix folder. For Studio Pro 10.10 and above, use Gradle 8.5. For Studio Pro 10 versions below 10.10, use Gradle 7.6.3. Click **OK** to save your settings.
3. Rerun the project.
-
-### Missing Jackson Core Dependency
-
-This applies to cases where your app fails to compile and throws the following error: `Missing dependencies: com.fasterxml.jackson.core:jackson-core:2.22.0`.
-
-This dependency is advertised in Maven repositories but does not actually exist. When you build your app, the automated dependency management attempts to download it and fails because the version is unavailable.
-
-To resolve this issue, download and install [GenAI Commons 6.2.2](https://marketplace.mendix.com/link/component/239448) from Mendix Marketplace. This module includes a fixed Jackson Core dependency configuration and will allow your app to compile successfully. Once Maven resolves the issue, dependency ranges will be used again to re-enable automated dependency management, including automatic vulnerability fixes.
-
### Chat Completions with Vision and JSON Mode (Microsoft Foundry)
Microsoft Foundry does not support the use of JSON mode and function calling in combination with image (vision) input and will return a `400 - model error`. Make sure the optional input parameters `ResponseFormat` and `ToolCollection` are set to `empty` for all chat completion operations if you want to use vision with Microsoft Foundry.
diff --git a/content/en/docs/genai/reference-guide/genai-commons.md b/content/en/docs/genai/reference-guide/genai-commons.md
index d68cba09a4f..3fe7f40d76c 100644
--- a/content/en/docs/genai/reference-guide/genai-commons.md
+++ b/content/en/docs/genai/reference-guide/genai-commons.md
@@ -2,7 +2,7 @@
title: "GenAI Commons"
url: /agents/genai-for-mx/commons/
linktitle: "GenAI Commons"
-description: "Describes the purpose, configuration and usage of the GenAI Commons module from the Mendix Marketplace that allows developers to integrate GenAI common principles and patterns into their Mendix app."
+description: "Describes the purpose, configuration, and usage of the GenAI Commons module from Mendix Marketplace, which allows developers to integrate common generative AI principles and patterns into Mendix apps."
weight: 10
aliases:
- /appstore/modules/genai-commons/
@@ -12,15 +12,15 @@ aliases:
## Introduction {#introduction}
-The [GenAI Commons](https://marketplace.mendix.com/link/component/239448) module combines common generative AI patterns found across various models on the market. Platform-supported GenAI-connectors use the underlying data structures and their operations. This makes it easier to develop vendor-agnostic AI-enhanced apps with Mendix, for example by using one of the connectors or the [Conversational UI](/agents/genai-for-mx/conversational-ui/) module.
+The [GenAI Commons](https://marketplace.mendix.com/link/component/239448) module combines common generative AI patterns found across various models on the market. Platform-supported GenAI connectors use the underlying data structures and their operations. This makes it easier to develop vendor-agnostic AI-enhanced apps with Mendix, for example by using one of the connectors or the [Conversational UI](/agents/genai-for-mx/conversational-ui/) module.
-If two different connectors both adhere to the GenAI Commons module, they can be easily swapped, which reduces dependency on the model providers. In addition, the initial implementation of AI capabilities using the connectors becomes a drag-and-drop experience, so that developers can quickly get started. The module exposes useful operations which developers can use to build a request to a large language model (LLM) and to handle the response.
+Connectors that adhere to the GenAI Commons module can be easily swapped, reducing dependency on model providers. The connectors provide a drag-and-drop experience for implementing AI capabilities and help you get started quickly. The module exposes useful operations for building requests to a large language model (LLM) and handling responses.
-Developers who want to connect to another LLM provider or their own service are advised to use the GenAI Commons module as well. This speeds up the development and ensures that common principles are taken into account. Lastly, other developers or consumers of the connector can adapt to it more quickly.
+If you want to connect to another LLM provider or your own service, Mendix recommends using the GenAI Commons module in this case too. This speeds up development and ensures that common principles are taken into account. Other developers or consumers of the connector can also adapt to it more quickly.
### Limitations {#limitations}
-The current scope of the module is focused on text and image generation, as well as embeddings and knowledge base use cases.
+The current scope of the module focuses on text and image generation, embeddings, and knowledge base use cases.
### Dependencies {#dependencies}
@@ -30,33 +30,33 @@ You must also download the [Community Commons](/appstore/modules/community-commo
## Installation {#installation}
-If you are starting from the [Blank GenAI app](https://marketplace.mendix.com/link/component/227934), or the [AI Bot Starter App](https://marketplace.mendix.com/link/component/227926), the GenAI Commons module is already included and does not need to be downloaded manually.
+If you start from the [Blank GenAI app](https://marketplace.mendix.com/link/component/227934) or the [AI Bot Starter App](https://marketplace.mendix.com/link/component/227926), the GenAI Commons module is already included and does not need to be downloaded manually.
-If you start from a blank app, or have an existing project where you want to include a connector for which the GenAI Commons module is required, you must install GenAI Commons manually. First, install the [Community Commons](/appstore/modules/community-commons-function-library/) module, and then follow the instructions in [Using Marketplace Content](/appstore/use-content/) to install the [GenAI Commons](https://marketplace.mendix.com/link/component/239448) module.
+If you start from a blank app or have an existing app where you want to include a connector that requires the GenAI Commons module, you must install GenAI Commons manually. First, install the [Community Commons](/appstore/modules/community-commons-function-library/) module. Then follow the instructions in [Using Marketplace Content](/appstore/use-content/) to install the [GenAI Commons](https://marketplace.mendix.com/link/component/239448) module.
## Implementation {#implementation}
-GenAI Commons is the foundation of large language model implementations within the [Mendix Cloud GenAI Connector](/agents/mx-cloud-genai/mxgenai-connector/), [OpenAI connector](/agents/reference-guide/external-connectors/openai/), and the [Amazon Bedrock connector](/appstore/modules/aws/amazon-bedrock/), but may also be used to build other GenAI service implementations on top of it by reusing the provided domain model and exposed actions.
+GenAI Commons is the foundation of large language model implementations within the [Mendix Cloud GenAI Connector](/agents/mx-cloud-genai/mxgenai-connector/), [OpenAI connector](/agents/reference-guide/external-connectors/openai/), and the [Amazon Bedrock connector](/appstore/modules/aws/amazon-bedrock/). You can also use it to build other GenAI service implementations by reusing the provided domain model and exposed actions.
-Although GenAI Commons technically defines additional capabilities typically found in chat completion APIs, such as image processing (vision) and tools (function calling), it depends on the connector module of choice for whether these are actually implemented and supported by the LLM. To learn which additional capabilities a connector supports and for which models these can be used, refer to the documentation of that connector.
+GenAI Commons defines additional capabilities typically found in chat completion APIs, such as image processing (vision) and tools (function calling). Whether these capabilities are implemented and supported by the LLM depends on the connector module you choose. To learn which additional capabilities a connector supports and for which models these can be used, refer to the documentation of that connector.
### Token Usage
-GenAI Commons can help store usage data, allowing admins to understand token usage. Usage data is persisted only if the constant `StoreUsageMetrics` is set to *true* (exception in version 5.3.0 and above: if [StoreTraces](#traceability) is set to *true*, Usage data is stored as well). In general, this is only supported for chat completions and embedding operations.
+GenAI Commons can store usage data, allowing admins to understand token usage. Usage data is persisted only if the constant `StoreUsageMetrics` is set to *true* (exception in version 5.3.0 and above: if [StoreTraces](#traceability) is set to *true*, usage data is stored as well). This is only supported for chat completions and embedding operations.
-To clean up usage data in a deployed app, you can enable the daily scheduled event `ScE_Usage_Cleanup` in the Mendix Cloud Portal. Use the `Usage_CleanUpAfterDays` constant to control for how long token usage data should be persisted.
+To clean up usage data in a deployed app, enable the daily scheduled event `ScE_Usage_Cleanup` in the Mendix Cloud Portal. Use the `Usage_CleanUpAfterDays` constant to control how long token usage data is persisted.
-Lastly, the [Conversational UI module](/agents/genai-for-mx/conversational-ui/) provides pages, snippets, and logic to display and export token usage information. For this to work, the module roles `UsageMonitoring` from both Conversational UI as well as GenAI Commons need to be assigned to the applicable project roles.
+The [Conversational UI module](/agents/genai-for-mx/conversational-ui/) provides pages, snippets, and logic to display and export token usage information. For this to work, assign the module roles `UsageMonitoring` from both Conversational UI and GenAI Commons to the applicable project roles.
### Traceability {#traceability}
Traceability was introduced in version 5.3.0 of the GenAI Commons module.
-By default, the chat completions operations of GenAI Commons store data in your application's database for traceability reasons. This makes it easier to understand the usage of GenAI in your app and why the model behaved in a certain way, for example, by reviewing tool usage. Trace data is only persisted if the constant `StoreTraces` is set to *true*.
+By default, the chat completions operations of GenAI Commons store data in your application's database for traceability. This makes it easier to understand GenAI usage in your app and why the model behaved in a certain way, for example, by reviewing tool usage. Trace data is only persisted if the constant `StoreTraces` is set to *true*.
-As traces may contain sensitive and personally identifiable information, you should determine, on a case-by-case basis, whether storing this data is compliant. To enable read-access to a user (typically an admin user), grant the module role `TraceMonitoring` to the applicable project roles.
+Traces may contain sensitive and personally identifiable information. Determine on a case-by-case basis whether storing this data is compliant. To enable read access for a user (typically an admin user), grant the module role `TraceMonitoring` to the applicable project roles.
-To clean up trace data in a deployed app, you can enable the daily scheduled event `ScE_Trace_Cleanup` in the [Mendix Cloud Portal](https://genai.home.mendix.com/). Use the `Trace_CleanUpAfterDays` constant to control the retention period of the trace data.
+To clean up trace data in a deployed app, enable the daily scheduled event `ScE_Trace_Cleanup` in the [Mendix Cloud Portal](https://genai.home.mendix.com/). Use the `Trace_CleanUpAfterDays` constant to control the retention period of the trace data.
## Technical Reference {#technical-reference}
@@ -70,45 +70,45 @@ The domain model in Mendix is a data model that describes the information in you
#### `DeployedModel` {#deployed-model}
-The `DeployedModel` represents a GenAI model that can be invoked by the Mendix app. It contains a display name and a technical name/identifier. It also contains the name of the microflow to be executed for the specified model and other information relevant to connect to a model. The creation of Deployed Models is handled by the connectors themselves (see their specializations) where admins can configure those at runtime.
+The `DeployedModel` represents a GenAI model that can be invoked by the Mendix app. It contains a display name, a technical name (or identifier), the name of the microflow to run for the specified model, and other information relevant to connecting to a model. The creation of Deployed Models is handled by the connectors themselves (see their specializations), where admins can configure them at runtime.
-The `DeployedModel` entity replaces the capabilities that were covered by the `Connection` entity for model invocations in earlier versions of GenAI Commons. For knowledge base interactions, the `DeployedKnowledgeBase` entity is used.
+The `DeployedModel` entity replaces the capabilities that the `Connection` entity covered for model invocations in earlier versions of GenAI Commons. For knowledge base interactions, the `DeployedKnowledgeBase` entity is used.
| Attribute | Description |
| --- | --- |
| `DisplayName` | The display name of the deployed model. |
-| `Architecture` | The architecture of the deployed model; e.g. OpenAI or Amazon Bedrock. |
+| `Architecture` | The architecture of the deployed model (for example, OpenAI or Amazon Bedrock). |
| `Model` | The model identifier of the LLM provider. |
| `OutputModality` | The type of information the model returns. |
| `Microflow` | The microflow to execute for the specified model and modality. |
-| `SupportsSystemPrompt` | An enum to specify if the model supports system prompts. |
-| `SupportsConversationsWithHistory` | An enum to specify if the model supports conversation with history. |
-| `SupportsFunctionCalling` | An enum to specify if the model supports function calling. |
-| `IsActive` | A boolean to specify if the model is active/usable with the current authentication settings and user preference. |
+| `SupportsSystemPrompt` | Enum to specify if the model supports system prompts. |
+| `SupportsConversationsWithHistory` | Enum to specify if the model supports conversation with history. |
+| `SupportsFunctionCalling` | Enum to specify if the model supports function calling. |
+| `IsActive` | Boolean to specify if the model is active/usable with the current authentication settings and user preference. |
#### `ConsumedKnowledgeBase` {#consumed-knowledge-base}
The `ConsumedKnowledgeBase` represents a GenAI knowledge base resource. Each connector module that integrates with knowledge base resources implements its own specialization. If multiple collections of data are supported by the knowledge base resource, these collections will be a specialization of `DeployedKnowledgeBase`. The consumed knowledge base can be added to the request when calling an LLM, along with the identifier of such a collection, so that the logic can use the chosen data in the knowledge base for text generation. The consumed knowledge base entity contains a display name, architecture, and a label field specifying how the concept of a collection should be called in the user front-end, for example, **Index** for Azure Search Resources.
-Furthermore, it contains the name of the microflow to be executed to do a retrieval for the specified deployed knowledge base specialization, a microflow that returns the selectable options in the front-end for the data collections (identifiers) inside of the resource, and lastly, a microflow that based on the chosen colleciton identifier retrieves an instance of the connector-specific specialization of `DeployedKnowledgeBase`.
+Furthermore, it contains the name of the microflow to be run to do a retrieval for the specified deployed knowledge base specialization, a microflow that returns the selectable options in the front end for the data collections (identifiers) inside the resource, and a microflow that retrieves an instance of the connector-specific specialization of `DeployedKnowledgeBase` based on the chosen collection identifier.
As these objects are created as a specialization by the logic in connectors themselves (specializations), such a specialization typically contains more specific data required for the connection to the resource according to the provider infrastructure details, such as endpoints and credentials. Admins need to configure this at runtime.
-`ConsumedKnowledgeBase` entity is introduced in module version 6.0.0. To migrate data from erlier versions, refer to the [GenAI migration guide](/agents/genai-for-mx/migration-guide/#march-2026).
+The `ConsumedKnowledgeBase` entity was introduced in module version 6.0.0. To migrate data from earlier versions, refer to the [GenAI migration guide](/agents/genai-for-mx/migration-guide/#march-2026).
| Attribute | Description |
| --- | --- |
| `DisplayName` | The display name of the consumed knowledge base. |
| `Architecture` | The architecture of the consumed knowledge base, for example, Mendix Cloud or Amazon Bedrock. |
-| `CollectionIdentifierLabel` | The name of a deployed knowledge base (collection), in the language of the provider. (for example, **Index** for Azure Search Resources). This is used in the front end when building agents. |
+| `CollectionIdentifierLabel` | The name of a deployed knowledge base (collection) in the language of the provider (for example, **Index** for Azure Search Resources). This is used in the front end when building agents. |
| `RetrievalMicroflow` | The microflow to retrieve information for the specified knowledge base resource. |
-| `GetCollectionsMicroflow` | The microflow to execute to retrieve selectable options for collections present in the specified consumed knowledge base. |
+| `GetCollectionsMicroflow` | The microflow to run to retrieve selectable options for collections present in the specified consumed knowledge base. |
| `GetDeployedKnowledgeBaseMicroflow` | The microflow to retrieve selectable options for collections present in the specified consumed knowledge base. |
-| `IsSelectable` | A boolean to specify if the knowledge base resource is active or usable when defining agents. |
+| `IsSelectable` | Boolean to specify if the knowledge base resource is active or usable when defining agents. |
#### `DeployedKnowledgeBase` {#deployed-knowledge-base}
-The `DeployedKnowledgeBase` represents a GenAI knowledge base collection that can be added to the request when calling an LLM. It refers to a discrete dataset as part of the [ConsumedKnowledgeBase](#consumed-knowledge-base). It contains a display name, a technical name (or identifier), the name of the microflow to be executed for the specified knowledge base specialization, and other relevant information to connect to the knowledge base. These objects are created by the connectors themselves (see their specializations), allowing admins to configure them at runtime.
+The `DeployedKnowledgeBase` represents a GenAI knowledge base collection that can be added to the request when calling an LLM. It refers to a discrete dataset as part of the [ConsumedKnowledgeBase](#consumed-knowledge-base). It contains a display name, a technical name (or identifier), the name of the microflow to be run for the specified knowledge base specialization, and other relevant information to connect to the knowledge base. These objects are created by the connectors themselves (see their specializations), allowing admins to configure them at runtime.
The `DeployedKnowledgeBase` entity replaces the capabilities covered by the `Connection` entity for knowledge base interaction in earlier versions of GenAI Commons.
@@ -117,8 +117,8 @@ The `DeployedKnowledgeBase` entity replaces the capabilities covered by the `Con
| `DisplayName` | The display name of the deployed knowledge base. |
| `Name` | The name of the deployed knowledge base. |
| `Architecture` | The architecture of the deployed model, for example, Mendix Cloud or Amazon Bedrock. |
-| `Microflow` | The microflow to execute to retrieve information for the specified knowledge. |
-| `IsActive` | A boolean to specify if the knowledge base is active/usable with the current authentication settings and user preference. |
+| `Microflow` | The microflow to run to retrieve information for the specified knowledge base. |
+| `IsActive` | Boolean to specify if the knowledge base is active and usable with the current authentication settings and user preference. |
#### `InputModality` {#Usage}
@@ -130,21 +130,21 @@ Accepted input modality of the associated deployed model.
#### `Usage` {#Usage}
-This entity represents usage statistics of a call to an LLM. It refers to a complete LLM interaction; in case there are several iterations (for example, recursive processing of function calls), everything should be aggregated into one Usage record.
+This entity represents usage statistics of a call to an LLM. It refers to a complete LLM interaction. If there are several iterations (for example, recursive processing of function calls), everything is aggregated into one Usage record.
-Following the principles of GenAI Commons, it must be stored based on the response for every successful call to a system of an LLM provider. This is only applicable to text and file operations and embedding operations.
+Following the principles of GenAI Commons, it must be stored based on the response for every successful call to a system of an LLM provider. This applies only to text and file operations and embedding operations.
The data stored in this entity is to be used later on for token consumption monitoring.
| Attribute | Description |
| --- | --- |
-| `UsageId` | The usage id is set internally to identify a usage based on the conversation ID. |
-| `Architecture` | The architecture of the used deployed model; e.g. OpenAI or Amazon Bedrock. |
+| `UsageId` | The usage ID, set internally to identify a usage based on the conversation ID. |
+| `Architecture` | The architecture of the used deployed model (for example, OpenAI or Amazon Bedrock). |
| `DeployedModelDisplayName` | DisplayName of the DeployedModel. |
| `InputTokens` | The amount of tokens consumed by an LLM call that is related to the input. |
| `OutputTokens` | The amount of tokens consumed by an LLM call that is related to the output. |
| `TotalTokens` | The total amount of tokens consumed by an LLM call. |
-| `DurationMilliseconds` | The duration in milliseconds of the technical part of the call to the system of the LLM provider. This excludes custom pre and postprocessing but corresponds to a complete LLM interaction. |
+| `DurationMilliseconds` | The duration in milliseconds of the technical part of the call to the system of the LLM provider. This excludes custom preprocessing and postprocessing but corresponds to a complete LLM interaction. |
| `_DeploymentIdentifier` | Internal object used to identify the DeployedModel used. |
| `EndTime` | The end time after the final model invocation is completed. |
@@ -157,7 +157,7 @@ The data stored in this entity is to be used later on for traceability use cases
| Attribute | Description |
| --- | --- |
-| `TraceId` | The trace ID is set internally to identify a trace. |
+| `TraceId` | The trace ID, set internally to identify a trace. |
| `StartTime` | The start time of the initial model invocation. |
| `EndTime` | The end time after the final model invocation is completed. |
| `DurationMilliseconds` | The duration between the start and end of the whole model invocation. |
@@ -165,8 +165,8 @@ The data stored in this entity is to be used later on for traceability use cases
| `Output` | The response of the final message sent by the model (usually an assistant message). |
| `SystemPrompt` | The system prompt that was used for the model invocation. |
| `HasError` | Indicates if any span call has failed. |
-| `_AgentVersionId` | The id of the agent version (if applicable) as sent via the request. |
-| `_ConversationId` | The id of the conversation (if applicable) as sent via the request. This is usually created by the model provider. |
+| `_AgentVersionId` | The ID of the agent version (if applicable) as sent via the request. |
+| `_ConversationId` | The ID of the conversation (if applicable) as sent via the request. Usually created by the model provider. |
#### `Span` {#span}
@@ -174,7 +174,7 @@ A span is created for each interaction between Mendix and the LLM (such as chat
| Attribute | Description |
| --- | --- |
-| `SpanId` | The span ID is set internally to identify a span. |
+| `SpanId` | The span ID, set internally to identify a span. |
| `StartTime` | The start time of the model invocation. |
| `EndTime` | The end time after the model invocation is completed. |
| `DurationMilliseconds` | The duration between the start and end of the whole model invocation. |
@@ -205,7 +205,7 @@ A tool span is created for each tool call requested by the LLM. The tool call is
| `ToolName` | The name of the tool that was called. |
| `ToolDescription` | The description of the tool. |
| `_ToolCallId` | The ID of the tool call used by the model to map an assistant message containing a tool call with the output of the tool call (tool message). |
-| `ToolCallStatus` | The current status of the tool call. |
+| `ToolCallStatus` | The current status of the tool call. |
`ToolSpan` was introduced in version 5.3.0.
@@ -238,14 +238,14 @@ The `Request` is an input object for the chat completions operations defined in
| Attribute | Description |
| --- | --- |
-| `_Id` | The Id attribute describes the unique identifier of the session. Reuse the same value to continue the same session. |
-| `SystemPrompt` | A `SystemPrompt` provides the model with context, instructions, or guidelines. |
+| `_Id` | The unique identifier of the session. Reuse the same value to continue the same session. |
+| `SystemPrompt` | Provides the model with context, instructions, or guidelines. |
| `MaxTokens` | Maximum number of tokens per request. |
-| `Temperature` | `Temperature` controls the randomness of the model response. Low values generate a more predictable output, while higher values allow creativity and diversity. It is recommended to steer either the temperature or `TopP`, but not both. |
-| `TopP` | `TopP` is an alternative to temperature for controlling the randomness of the model response. `TopP` defines a probability threshold so that only words with probabilities greater than or equal to the threshold will be included in the response. It is recommended to steer either the temperature or `TopP`, but not both. |
+| `Temperature` | Controls the randomness of the model response. Low values generate a more predictable output, while higher values allow creativity and diversity. Mendix recommends steering either the temperature or `TopP`, but not both. |
+| `TopP` | An alternative to temperature for controlling the randomness of the model response. `TopP` defines a probability threshold so that only words with probabilities greater than or equal to the threshold will be included in the response. Mendix recommends steering either the temperature or `TopP`, but not both. |
| `ToolChoice` | Controls which (if any) tool is called by the model. For more information, see the [ENUM_ToolChoice](#enum-toolchoice) section containing a description of the possible values. |
-| `_AgentVersionId` | The `AgentVersionId` is set if the execution of the request was called from an Agent. |
-| `SaveToolCallHistory` | Indicates if the tool calls should be stored for later continuation (must be implemented). |
+| `_AgentVersionId` | The `AgentVersionId`, set if the execution of the request was called from an Agent. |
+| `SaveToolCallHistory` | Indicates if the tool calls are stored for later continuation (must be implemented). |
#### `Message` {#message}
@@ -255,8 +255,8 @@ A message that is part of the request or the response. Each instance contains da
| --- | --- |
| `Role` | The role of the message's author. For more information, see the [ENUM_Role](#enum-messagerole) section. |
| `Content` | The text content of the message. |
-| `MessageType` | The type of the message can be either text or file, where file means that the associated FileCollection should be taken into account. For more information, see the [ENUM_MessageType](#enum-messagetype) section.|
-| `ToolCallId` | The id of the tool call proposed by the model that this message is responding to. This attribute is only applicable for messages with the role `tool`. |
+| `MessageType` | The type of the message can be either text or file. File means that the associated FileCollection is taken into account. For more information, see the [ENUM_MessageType](#enum-messagetype) section.|
+| `ToolCallId` | The ID of the tool call proposed by the model that this message is responding to. Only applicable for messages with the role `tool`. |
#### `FileCollection` {#filecollection}
@@ -268,16 +268,16 @@ This is a file in a collection of files that belongs to a message. Each instance
| Attribute | Description |
| --- | --- |
-| `FileContent` | Depending on the `ContentType`, this is either a URL or the base64-encoded file data. |
-| `ContentType` | This describes the type of file data. Supported content types are either URL or base64-encoded file data. For more information, see the [ENUM_ContentType](#enum-contenttype) section.
-| `FileType` | Currently only images and documents are supported file types. In general, not all file types might be supported by all AI providers or models. For more information, see the [ENUM_FileType](#enum-filetype).
-| `TextContent` | An optional text content describing the file content. |
-| `FileExtension` | Extension of the file, e.g. *png* or *pdf*. Note that this attribute may only be filled if the ContentType equals *Base64* and can be empty. |
+| `FileContent` | Depending on the `ContentType`, either a URL or the base64-encoded file data. |
+| `ContentType` | Describes the type of file data. Supported content types are either URL or base64-encoded file data. For more information, see the [ENUM_ContentType](#enum-contenttype) section.
+| `FileType` | Currently only images and documents are supported file types. In general, not all file types are supported by all AI providers or models. For more information, see the [ENUM_FileType](#enum-filetype).
+| `TextContent` | Optional text content describing the file content. |
+| `FileExtension` | Extension of the file, for example, *png* or *pdf*. Note that this attribute may only be filled if the ContentType equals *Base64* and can be empty. |
| `FileName` | If a FileDocument is added, the `Filename` is extracted automatically. |
#### `ToolCollection` {#toolcollection}
-This is an optional collection of tools to be sent along with the `Request`. Using tool call capabilities (also known as function calling) might not be supported by certain AI providers or models. This entity functions as a wrapper entity for tools and has no attributes.
+This is an optional collection of tools to be sent along with the `Request`. Using tool call capabilities (also known as function calling) may not be supported by certain AI providers or models. This entity functions as a wrapper entity for tools and has no attributes.
#### `Tool` {#tool}
@@ -285,19 +285,19 @@ A tool in the tool collection. This is sent along with the request to expose a l
| Attribute | Description |
| --- | --- |
-| `Name` | The name of the tool to call. This is used by the model in the response to identify which function needs to be called. |
-| `Description` | An optional description of the tool, used by the model in addition to the name attribute to choose when and how to call the tool. |
+| `Name` | The name of the tool to call. Used by the model in the response to identify which function needs to be called. |
+| `Description` | An optional description of the tool, used by the model along with the name attribute to choose when and how to call the tool. |
| `ToolType` | The type of the tool. Refer to the documentation supplied by your AI provider for information about the supported types. |
| `Microflow` | The name (string) of the microflow that this tool represents. Note that tool microflows do not respect entity access of the current user. Make sure that you only return information that the user is allowed to view, otherwise confidential information may be visible to the current user in the assistant's response. |
-| `MCPServerName` | The name of the MCP server (only appliable for MCP Tools). |
-| `Schema` | The schema represents the raw JSON schema defined by the tool. This is typically the case when the tool is external and not a Mendix microflow. |
+| `MCPServerName` | The name of the MCP server (only applicable for MCP Tools). |
+| `Schema` | Represents the raw JSON schema defined by the tool. Typically the case when the tool is external and not a Mendix microflow. |
| `DisplayDescription` | (Optional) A description meant for users if tools are shown in the UI. |
| `DisplayTitle` | (Optional) A title meant for users if tools are shown in the UI. |
| `UserAccessApproval` | Controls how the tool calling should behave.
HiddenForUser (Default): automatic tool approval, tools are not shown to users.
VisibleForUser: automatic tool approval, tools are visible to users.
UserConfirmationRequired: user decides if tools are called or not. |
#### `Function` {#function}
-A tool of the type *function*. This is a specialization of [Tool](#tool) and represents a microflow in the same Mendix application. The return value of this microflow when executed as a function is sent to the model in the next iteration and hence must be of type String.
+A tool of the type *function*. This is a specialization of [Tool](#tool) and represents a microflow in the same Mendix app. The return value of this microflow when run as a function is sent to the model in the next iteration and hence must be of type String.
{{% alert color="info" %}}
Since this microflow runs in the context of the user, you can make sure that it only shows data that is relevant to the current user.
@@ -305,20 +305,20 @@ Since this microflow runs in the context of the user, you can make sure that it
#### `KnowledgeBaseRetrieval` {#knowledge-base-retrieval}
-A tool of the type *function*. This is a specialization of [Tool](#tool) and represents a microflow in the same Mendix application. It is typically used internally inside of connector operations to enable the model with a knowledge base retrieval.
+A tool of the type *function*. This is a specialization of [Tool](#tool) and represents a microflow in the same Mendix app. It is typically used internally inside connector operations to enable the model with a knowledge base retrieval.
| Attribute | Description |
| --- | --- |
-| `MinimumSimilarity` | Specifies the minimum similarity score (usually 0-1) of the passed chunk and the knowledge chunks in the knowledge base. |
-| `MaxNumberOfResults` | Specifies the maximum number of results that should be retrieved from the knowledge base. |
+| `MinimumSimilarity` | The minimum similarity score (usually 0-1) of the passed chunk and the knowledge chunks in the knowledge base. |
+| `MaxNumberOfResults` | The maximum number of results to retrieve from the knowledge base. |
#### `StopSequence` {#stopsequence}
-For many models, `StopSequence` can pass a list of character sequences (for example a word) along with the request. The model will stop generating content when a word of that list occurs next.
+For many models, `StopSequence` can pass a list of character sequences (for example, a word) along with the request. The model stops generating content when a word from that list occurs next.
| Attribute | Description |
| --- | --- |
-| `Sequence` | A sequence of characters that would prevent the model from generating further content. |
+| `Sequence` | A sequence of characters that prevents the model from generating further content. |
#### `Response` {#response}
@@ -326,12 +326,12 @@ The response returned by the model contains usage metrics and a response message
| Attribute | Description |
| --- | --- |
-| `_ID_` | The ID attribute describes the unique identifier of the session. Reuse the same value to continue the same session. If no ID was set by the LLM connector, an internal ID is created. |
+| `_ID_` | The unique identifier of the session. Reuse the same value to continue the same session. If no ID was set by the LLM connector, an internal ID is created. |
| `RequestTokens` | Number of tokens in the request. |
| `ResponseTokens` | Number of tokens in the generated response. |
| `TotalTokens` | Total number of tokens (request + response). |
| `DurationMilliseconds` | Duration in milliseconds for the call to the LLM to be finished. |
-| `StopReason` | The reason why the model stopped is to generate further content. See AI provider documentation for possible values. |
+| `StopReason` | The reason why the model stopped generating further content. For possible values, see the provider's documentation. |
| `ResponseText` | The text content of the response message. |
#### `ToolCall` {#toolcall}
@@ -342,8 +342,8 @@ A tool call object may be generated by the model in certain scenarios, such as a
| --- | --- |
| `Name` | The name of the tool to call. This refers to the `Name` attribute of one of the [Tools](#tool) in the Request. |
| `ToolType` | The type of the tool. View AI provider documentation for supported types. |
-| `ToolCallId` | This is a model-generated ID of the proposed tool call. It is used by the model to map an assistant message containing a tool call with the output of the tool call (tool message). |
-| `Input` | The input is the raw tool JSON input generated by the model, usually passed for external tools where no mapping to a microflow is required. |
+| `ToolCallId` | A model-generated ID of the proposed tool call. It is used by the model to map an assistant message containing a tool call with the output of the tool call (tool message). |
+| `Input` | The raw tool JSON input generated by the model, usually passed for external tools where no mapping to a microflow is required. |
| `Status` | The current status of the ToolCall to determine next steps and UI display. |
| `ToolResult` | The result of the tool call. |
| `IsError` | Indicates if the tool call failed. |
@@ -356,7 +356,7 @@ An optional reference for a response message.
| --- | --- |
| `Title` | The title of the reference. |
| `Content` | The content of the reference. |
-| `Source` | The source of the reference, e.g. a URL. |
+| `Source` | The source of the reference (for example, a URL). |
| `SourceType` | The type of the source. For more information, see [ENUM_SourceType](#enum-sourcetype). |
| `Index` | Used to make references identifiable and sortable.|
@@ -375,7 +375,7 @@ An optional citation. This entity can visualize the link between a part of the g
{{< figure src="/attachments/genai/genaicommons/genai-commons-domain-model-embeddings.png" alt="">}}
-This entity represents a collection of chunks. It is a wrapper entity for [Chunk](#chunk-entity) objects or specialization(s) to pass it to operations that execute embedding calculations or knowledge base interaction.
+This entity represents a collection of chunks. It is a wrapper entity for [Chunk](#chunk-entity) objects or specializations to pass it to operations that execute embedding calculations or knowledge base interaction.
#### `Chunk` {#chunk-entity}
@@ -393,11 +393,11 @@ This entity represents a discrete piece of knowledge that can be used for embedd
| Attribute | Description |
| --- | --- |
-| `ChunkID` | This is a system-generated UUID for the chunk in the knowledge base. |
-| `HumanReadableID` | This is a front-end reference to the KnowledgeBaseChunk so that users know what it refers to (e.g. URL, document location, human-readable record ID). |
-| `MxObjectID` | If the KnowledgeBaseChunk was based on a Mendix object during creation, this will contain the GUID of that object at the time of creation. |
-| `MxEntity` | If the KnowledgeBaseChunk was based on a Mendix object during creation, this will contain its full entity name at the time of creation. |
-| `Similarity` | In case the chunk was retrieved from the knowledge base as part of a similarity search (for example, nearest neighbors retrieval) this will contain the cosine similarity to the input vector for the retrieval that was executed. |
+| `ChunkID` | A system-generated UUID for the chunk in the knowledge base. |
+| `HumanReadableID` | A front-end reference to the KnowledgeBaseChunk so that users know what it refers to (for example, URL, document location, human-readable record ID). |
+| `MxObjectID` | If the KnowledgeBaseChunk was based on a Mendix object during creation, this contains the GUID of that object at the time of creation. |
+| `MxEntity` | If the KnowledgeBaseChunk was based on a Mendix object during creation, this contains its full entity name at the time of creation. |
+| `Similarity` | If the chunk was retrieved from the knowledge base as part of a similarity search (for example, nearest neighbors retrieval), this contains the cosine similarity to the input vector for the retrieval that was executed. |
#### `MetadataCollection` {#metadatacollection-entity}
@@ -409,7 +409,7 @@ This entity represents additional information to be stored with the [KnowledgeBa
| Attribute | Description |
| --- | --- |
-| `Key` | This is the name of the metadata and typically tells how the value should be interpreted. |
+| `Key` | The name of the metadata and typically indicates how to interpret the value. |
| `Value` | The value of the metadata that provides additional information about the chunk in the context of the given key. |
#### `EmbeddingsOptions` {#embeddingsoptions-entity}
@@ -436,12 +436,12 @@ An optional input object for the image generation operations to set optional req
| Attribute | Description |
| --- | --- |
-| `Height` | This determines the height of the image. |
-| `Width` | This determines the width of the image. |
-| `NumberOfImages` | This determines the number of images to be generated. |
-| `Seed` | This can be used to influence the randomness of the generation. Ensures the reproducibility and consistency of the generated images by controlling the initial state of the random number generator. |
-| `CfgScale` | This can be used to influence the randomness of the generation. Adjusts the balance between adherence to the prompt and creative randomness in the image generation process. |
-| `ImageGenerationType` | This describes the type of image generation. Currently, only text to image is supported. For more information, see [ENUM_ImageGenerationType](#enum-imagegenerationtype). |
+| `Height` | The height of the image. |
+| `Width` | The width of the image. |
+| `NumberOfImages` | The number of images to be generated. |
+| `Seed` | Can be used to influence the randomness of the generation. Ensures the reproducibility and consistency of the generated images by controlling the initial state of the random number generator. |
+| `CfgScale` | Can be used to influence the randomness of the generation. Adjusts the balance between adherence to the prompt and creative randomness in the image generation process. |
+| `ImageGenerationType` | The type of image generation. Currently, only text to image is supported. For more information, see [ENUM_ImageGenerationType](#enum-imagegenerationtype). |
### Microflow Activities {#microflows}
@@ -453,7 +453,7 @@ Chat completions, embeddings, and image generation operations can be used by pas
It is recommended that you adapt to the same interface when developing custom chat completions or image generation operations, such as integration with different AI providers. The generic interfaces are described below. For more detailed information, refer to the documentation of the connector that you want to use, since it may expect specializations of the generic GenAI common entities as an input.
-##### Chat Completions (with history) {#chat-completions-with-history}
+##### Chat Completions (With History) {#chat-completions-with-history}
The `Chat Completions (with history)` operation supports more complex use cases where a list of (historical) messages (for example, comprising the conversation or context so far) is sent as part of the request to the LLM. Note that the response might not be complete if tools with [UserAccessApproval](#enum-useraccessapproval) other than `HiddenForUser` are added or the request specifies that the tool messages should be stored ([SaveToolCallHistory](#request)). In such cases, implement the logic to call the action again, with [toolcalls](#toolcall) appended to the assistant's message as well as messages of role tool to the request. If you are using the [ConversationalUI](/agents/genai-for-mx/conversational-ui/#human-in-the-loop) module, this is automatically handled.
@@ -461,8 +461,8 @@ The `Chat Completions (with history)` operation supports more complex use cases
| Name | Type | Notes | Description |
| --- | --- | --- |--- |
-| `DeployedModel` | [DeployedModel](#deployed-model) | mandatory | The DeployedModel entity replaces the Connection entity. It contains the name of the microflow to be executed for the specified model and other information relevant to connect to a model. The OutputModality of the DeployedModel needs to be Text. |
-| `Request` | [Request](#request) | mandatory | This is an object that contains messages, optional attribute, and an optional [ToolCollection](#toolcollection). |
+| `DeployedModel` | [DeployedModel](#deployed-model) | mandatory | The DeployedModel entity replaces the Connection entity. It contains the name of the microflow to run for the specified model and other information relevant to connect to a model. The OutputModality of the DeployedModel needs to be Text. |
+| `Request` | [Request](#request) | mandatory | An object that contains messages, optional attribute, and an optional [ToolCollection](#toolcollection). |
###### Return Value
@@ -470,7 +470,7 @@ The `Chat Completions (with history)` operation supports more complex use cases
| --- | --- | --- |
| `Response` | [Response](#response) | A `Response` object that contains the assistant's response. |
-##### Chat Completions (without history) {#chat-completions-without-history}
+##### Chat Completions (Without History) {#chat-completions-without-history}
The `Chat Completions (without history)` operation supports scenarios where there is no need to send a list of (historic) messages comprising the conversation so far as part of the request. Note that the response might not be complete if tools with [UserAccessApproval](#enum-useraccessapproval) other than `HiddenForUser` are added or the request specifies that the tool messages should be stored ([SaveToolCallHistory](#request)). In such cases, implement a logic to call the action again, with [toolcalls](#toolcall) appended to the assistant's message as well as messages of role tool to the request. For more information, refer to [Human in the loop](/agents/genai-for-mx/conversational-ui/#human-in-the-loop).
@@ -479,9 +479,9 @@ The `Chat Completions (without history)` operation supports scenarios where ther
| Name | Type | Notes | Description |
| --- | --- | ---| --- |
| `UserPrompt` | String | mandatory | A user message is the input from a user. |
-| `DeployedModel` | [DeployedModel](#deployed-model) | mandatory | The DeployedModel entity replaces the Connection entity. It contains the name of the microflow to be executed for the specified model and other information relevant to connecting to a model. The OutputModality of the DeployedModel needs to be Text. |
-| `OptionalRequest` | [Request](#request) | optional | This is an optional object that contains optional attributes and an optional [ToolCollection](#toolcollection). If no Request is passed, one will be created. |
-| `OptionalFileCollection` | [FileCollection](#filecollection) | optional | This is an optional collection of files to be sent along with the request to use vision or document chat. |
+| `DeployedModel` | [DeployedModel](#deployed-model) | mandatory | The DeployedModel entity replaces the Connection entity. It contains the name of the microflow to run for the specified model and other information relevant to connecting to a model. The OutputModality of the DeployedModel needs to be Text. |
+| `OptionalRequest` | [Request](#request) | optional | An optional object that contains optional attributes and an optional [ToolCollection](#toolcollection). If no Request is passed, one is created. |
+| `OptionalFileCollection` | [FileCollection](#filecollection) | optional | An optional collection of files to be sent along with the request to use vision or document chat. |
###### Return Value
@@ -498,7 +498,7 @@ The `Generate Embeddings (Chunk Collection)` operation allows the invocation of
| Name | Type | Notes | Description |
| --- | --- | ---| --- |
| `ChunkCollection` | [ChunkCollection](#chunkcollection) | mandatory | A ChunkCollection with Chunks for which an embedding vector should be generated. Use operations from GenAI commons to create a ChunkCollection and add Chunks or KnowledgeBaseChunks to it. |
-| `DeployedModel` | [DeployedModel](#deployed-model) | mandatory | The DeployedModel entity replaces the Connection entity. It contains the name of the microflow to be executed for the specified model and other information relevant to connecting to a model. The OutputModality needs to be Embeddings. |
+| `DeployedModel` | [DeployedModel](#deployed-model) | mandatory | The DeployedModel entity replaces the Connection entity. It contains the name of the microflow to run for the specified model and other information relevant to connecting to a model. The OutputModality needs to be Embeddings. |
| `EmbeddingOptions` | [EmbeddingsOptions](#embeddingsoptions-entity) | optional | Can be used to pass optional request attributes. |
###### Return Value
@@ -509,14 +509,14 @@ The `Generate Embeddings (Chunk Collection)` operation allows the invocation of
##### Generate Embeddings (String) {#embeddings-string}
-The `Generate Embeddings (String)` operation allows the invocation of the embeddings API with a String input and returns an `EmbeddingsResponse` object with token usage statistics, if applicable. The `EmbeddingsResponse_GetFirstVector` microflow from GenAI Commons can be used to retrieve the corresponding embedding vector in a String representation. This operation supports scenarios where the vector embedding of a single string must be generated, e.g. to perform a nearest neighbor search across an existing knowledge base.
+The `Generate Embeddings (String)` operation allows the invocation of the embeddings API with a String input and returns an `EmbeddingsResponse` object with token usage statistics, if applicable. The `EmbeddingsResponse_GetFirstVector` microflow from GenAI Commons can be used to retrieve the corresponding embedding vector in a String representation. This operation supports scenarios where the vector embedding of a single string must be generated, for example, to perform a nearest neighbor search across an existing knowledge base.
###### Input Parameters
| Name | Type | Notes | Description |
| --- | --- | ---| --- |
| `InputText` | String | mandatory | Input text to create the embedding vector. |
-| `DeployedModel` | [DeployedModel](#deployed-model) | mandatory | The DeployedModel entity replaces the Connection entity. It contains the name of the microflow to be executed for the specified model and other information relevant to connecting to a model. The OutputModality needs to be Embeddings. |
+| `DeployedModel` | [DeployedModel](#deployed-model) | mandatory | The DeployedModel entity replaces the Connection entity. It contains the name of the microflow to run for the specified model and other information relevant to connecting to a model. The OutputModality needs to be Embeddings. |
| `EmbeddingOptions` | [EmbeddingsOptions](#embeddingsoptions-entity) | optional | Can be used to pass optional request attributes.|
###### Return Value
@@ -533,9 +533,9 @@ The `Generate Image` operation supports the generation of images based on a `Use
| Name | Type | Notes | Description |
| --- | --- | --- |--- |
-| `DeployedModel` | [DeployedModel](#deployed-model) | mandatory | The DeployedModel entity replaces the Connection entity. It contains the name of the microflow to be executed for the specified model and other information relevant to connect to a model. The OutputModality needs to be Image. |
-| `UserPrompt` | String | mandatory | This is the description the image will be based on. |
-| `ImageOptions` | [ImageOptions](#imageoptions-entity) | optional | This can be used to pass optional request attributes. |
+| `DeployedModel` | [DeployedModel](#deployed-model) | mandatory | The DeployedModel entity replaces the Connection entity. It contains the name of the microflow to run for the specified model and other information relevant to connect to a model. The OutputModality needs to be Image. |
+| `UserPrompt` | String | mandatory | The description the image will be based on. |
+| `ImageOptions` | [ImageOptions](#imageoptions-entity) | optional | Can be used to pass optional request attributes. |
###### Return Value
@@ -555,10 +555,10 @@ This microflow can add a new [Message](#message) to the [Request](#request) obje
| Name | Type | Notes | Description |
| --- | --- | --- | --- |
-| `Request` | [Request](#request) | mandatory | This is the request object that contains the functional input for the model to generate a response. |
+| `Request` | [Request](#request) | mandatory | The request object that contains the functional input for the model to generate a response. |
| `ENUM_MessageRole` | [ENUM_MessageRole](#enum-messagerole) | mandatory | The role of the message author. |
-| `FileCollection` | [FileCollection](#filecollection) | optional | This is an optional collection of files that are part of the message. |
-| `ContentString` | String | mandatory | This is the textual content of the message. |
+| `FileCollection` | [FileCollection](#filecollection) | optional | An optional collection of files that are part of the message. |
+| `ContentString` | String | mandatory | The textual content of the message. |
###### Return Value
@@ -568,22 +568,22 @@ This microflow can add a new [Message](#message) to the [Request](#request) obje
##### Create Request {#chat-create-request}
-This microflow can be used to create a request for a chat completion operation. This is the request object that contains the top-level functional input for the language model to generate a response.
+Use this microflow to create a request for a chat completion operation. This is the request object that contains the top-level functional input for the language model to generate a response.
###### Input Parameters
| Name | Type | Notes | Description |
| --- | --- | --- | --- |
| `SystemPrompt` | String | optional | A system message can specify the assistant persona or give the model more guidance, context, or instructions. This attribute is optional. |
-| `Temperature` | Decimal | optional | This is the sampling temperature. Higher values will make the output more random, while lower values make it more focused and deterministic. This attribute is optional. |
-| `MaxTokens` | Integer/Long | Depends on AI provider or model | This is the maximum number of tokens to generate in the chat completion. The total length of input tokens and generated tokens is limited by the model's context length. This attribute is optional. |
-| `TopP` | Decimal | optional | This is an alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with Top_p probability mass. Mendix generally recommends altering Top_p or Temperature but not both. This attribute is optional. |
+| `Temperature` | Decimal | optional | The sampling temperature. Higher values make the output more random, while lower values make it more focused and deterministic. This attribute is optional. |
+| `MaxTokens` | Integer/Long | Depends on AI provider or model | The maximum number of tokens to generate in the chat completion. The total length of input tokens and generated tokens is limited by the model's context length. This attribute is optional. |
+| `TopP` | Decimal | optional | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with Top_p probability mass. Mendix recommends altering Top_p or Temperature but not both. This attribute is optional. |
###### Return Value
| Name | Type | Description |
| --- | --- | --- |
-| `Request` | [Request](#request) | This is the created request object. |
+| `Request` | [Request](#request) | The created request object. |
##### Files: Add File to Collection {#add-file-to-collection}
@@ -594,9 +594,9 @@ Use this microflow to add a file to an existing [FileCollection](#filecollection
| Name | Type | Notes | Description |
| --- | --- | --- | --- |
| `FileCollection` | [FileCollection](#filecollection) | mandatory | The wrapper object for Files. The File Collection is an optional part of a [Message](#message). |
-| `URL` | String | Either URL or FileDocument is required. | This is the URL of the file. |
+| `URL` | String | Either URL or FileDocument is required. | The URL of the file. |
| `FileDocument` | `System.FileDocument` | Either URL or FileDocument is required. | The file for which the contents are part of a message. |
-| `ENUM_FileType` | [ENUM_FileType](#enum-filetype) | mandatory | This is the type of the file. |
+| `ENUM_FileType` | [ENUM_FileType](#enum-filetype) | mandatory | The type of the file. |
| `TextContent` | String | mandatory | An optional text content describing the file content or giving it a specific name. |
###### Return Value
@@ -611,16 +611,16 @@ To include files within a message, you must provide them in the form of a file c
| Name | Type | Notes | Description |
| --- | --- | --- | --- |
-| `URL` | String | Either URL or FileDocument is required. | This is the URL of the file. |
+| `URL` | String | Either URL or FileDocument is required. | The URL of the file. |
| `FileDocument` | `System.FileDocument` | Either URL or FileDocument is required. | The file for which the contents are part of a message. |
-| `ENUM_FileType` | [ENUM_FileType](#enum-filetype) | mandatory | This is the type of the file. |
+| `ENUM_FileType` | [ENUM_FileType](#enum-filetype) | mandatory | The type of the file. |
| `TextContent` | String | optional | An optional text content describing the file content or giving it a specific name. |
###### Return Value
| Name | Type | Description |
| --- | --- | --- |
-| `FileCollection` | [FileCollection](#filecollection) | This is the created file collection with the new file associated with it. |
+| `FileCollection` | [FileCollection](#filecollection) | The created file collection with the new file associated with it. |
##### Tools: Add Function to Request {#add-function-to-request}
@@ -634,25 +634,25 @@ Adds a new Function to a [ToolCollection](#toolcollection) that is part of a Req
| `ToolName` | String | mandatory | The name of the tool to use/call. |
| `ToolDescription` | String | optional | A description of what the tool does, used by the model to choose when and how to call the tool. |
| `FunctionMicroflow` | Microflow | mandatory | The microflow that is called within this function. A function microflow can have none or multiple primitive input parameters. Additionally, a Request and/or Tool object can be added as input. The microflow needs to return a String.
Note that function microflows do not respect entity access of the current user. Make sure that you only return information that the user is allowed to view, otherwise confidential information may be visible to the current user in the assistant's response. |
-| `UserAccessApproval` | [Enumeration GenAICommons.ENUM_UserAccessApproval](#enum-useraccessapproval) | optional | Control how the tool calling should behave.
HiddenForUser (Default): automatic tool approval, tools are not shown to users.
VisibleForUser: automatic tool approval, tools are visible to users.
UserConfirmationRequired: user decides if tools are called or not. |
+| `UserAccessApproval` | [Enumeration GenAICommons.ENUM_UserAccessApproval](#enum-useraccessapproval) | optional | Control how the tool-calling behaves.
HiddenForUser (Default): automatic tool approval, tools are not shown to users.
VisibleForUser: automatic tool approval, tools are visible to users.
UserConfirmationRequired: user decides if tools are called or not. |
| `DisplayTitle` | String | optional | A title meant for users if tools are shown in the UI. |
| `DisplayDescription` | String | optional | A description meant for users if tools are shown in the UI. |
{{% alert color="info" %}}
Since this microflow runs in the context of the user, you can make sure that it only shows data that is relevant to the current user.
-The microflow can have none, a single, or multiple primitive input parameters such as Boolean, Datetime, Decimal, Enumeration, Integer or String. Additionally, they may accept the [Request](#request) or [Tool](#tool) objects as inputs. The microflow can only return a String value.
-Note that calling the microflow may fail if the model passes parameters in the wrong format, for example, a decimal number for an integer parameter. Such errors are logged and returned to the model, which may either inform the user or retry the tool call. The model can also pass empty values, so proper validation is recommended.
+The microflow can have none, a single, or multiple primitive input parameters such as Boolean, Datetime, Decimal, Enumeration, Integer, or String. Additionally, they may accept the [Request](#request) or [Tool](#tool) objects as inputs. The microflow can only return a String value.
+Note that calling the microflow may fail if the model passes parameters in the wrong format, for example, a decimal number for an integer parameter. Such errors are logged and returned to the model, which may either tell the user or retry the tool call. The model can also pass empty values, so proper validation is recommended.
{{% /alert %}}
###### Return Value
| Name | Type | Description |
| --- | --- | --- |
-| `Function` | [Function](#function) | This is the function object that was added to [ToolCollection](#toolcollection) which is part of the request. This object can be used optionally as input for controlling the tool choice of the [Request](#request), see [Tools: Set Tool Choice](#set-toolchoice). |
+| `Function` | [Function](#function) | The function object that was added to [ToolCollection](#toolcollection) which is part of the request. This object can be used optionally as input for controlling the tool choice of the [Request](#request), see [Tools: Set Tool Choice](#set-toolchoice). |
##### Tools: Set Tool Choice {#set-toolchoice}
-Use this microflow to control how the model should determine which function to leverage (typically to gather additional information). The microflow sets the ToolChoice within a [Request](#request). This controls which (if any) function is called by the model. If the ENUM_ToolChoice equals `tool`, the `Tool` input is required which will become the tool choice. This will force the model to call that particular tool.
+Use this microflow to control how the model determines which function to use (typically to gather additional information). The microflow sets the ToolChoice within a [Request](#request). This controls which (if any) function is called by the model. If the ENUM_ToolChoice equals `tool`, the `Tool` input is required and becomes the tool choice. This forces the model to call that particular tool.
###### Input Parameters
@@ -680,10 +680,10 @@ This tool adds a function that performs a retrieval from a knowledge base to a [
| `Name` | String | mandatory | The name of the knowledge base to use or call. Technically, this is the name of the tool that is passed to the LLM. This needs to be unique per request (if multiple tools/knowledge base retrievals are added). |
| `Description` | String | optional | A description of the knowledge base's purpose, used by the model to determine when and how to invoke it. |
| `ConsumedKnowledgeBase` | Object | mandatory | The knowledge base resource that is called within this tool. This also determines which provider (and connector) is used. Only specialization objects are allowed, not a generalized GenAICommons object. |
-| `CollectionIdentifier` | String | Mandatory | This is a string reference to the dataset (collection) which is part of the consumed knowledge base, that contains the relevant data for the LLM. For example, for Mendix Cloud knowledge base resources, this would correspond to the name of a `Collection`. Refer to the documentation of the specific connector to learn more. |
-| `MaxNumberOfResults` | Integer | optional | This can be used to limit the number of results that should be retrieved. |
+| `CollectionIdentifier` | String | Mandatory | A string reference to the dataset (collection) which is part of the consumed knowledge base, that contains the relevant data for the LLM. For example, for Mendix Cloud knowledge base resources, this would correspond to the name of a `Collection`. Refer to the documentation of the specific connector to learn more. |
+| `MaxNumberOfResults` | Integer | optional | Can be used to limit the number of results that should be retrieved. |
| `MinimumSimilarity` | Decimal | optional | Filters the results to retrieve only chunks with a similarity score greater than or equal to the specified value. The score ranges from 0 (no similarity) to 1.0 (the same vector). |
-| `MetadataCollection` | Object | optional | Optional: This contains a list for additional filtering in the retrieve. Only chunks that comply with the metadata labels will be returned. |
+| `MetadataCollection` | Object | optional | Optional: Contains a list for additional filtering in the retrieve. Only chunks that comply with the metadata labels will be returned. |
| `DisplayTitle` | String | optional | A title meant for users if knowledge base retrievals are shown in the UI. |
| `IsVisible` | Boolean | optional | If set to true, the knowledge base is visible for the user in chat. |
@@ -703,8 +703,8 @@ This operation processes a response that was created by an image generation oper
| Name | Type | Notes | Description |
|---|---|---|---|
-| `ResponseImageEntity` | Entity | mandatory | This is to specify the entity of the returned image. Must be of type `System.Image` or its specializations. |
-| `Response` | [Response](#response) | mandatory | This is the response that was returned by an image generation operation. It points to a message with the FileContent to create the image. |
+| `ResponseImageEntity` | Entity | mandatory | Specifies the entity of the returned image. Must be of type `System.Image` or its specializations. |
+| `Response` | [Response](#response) | mandatory | The response that was returned by an image generation operation. It points to a message with the FileContent to create the image. |
###### Return Value
@@ -720,8 +720,8 @@ This operation processes a response that was created by an image generation oper
| Name | Type | Notes | Description |
|---|---|---|---|
-| `ResponseImageEntity` | Entity | mandatory | This is to specify the entity of the returned image. Must be of type `System.Image` or its specializations. |
-| `Response` | [Response](#response) | mandatory | This is the response that was returned by an image generation operation. It points to a message with the FileContent to create the image. |
+| `ResponseImageEntity` | Entity | mandatory | Specifies the entity of the returned image. Must be of type `System.Image` or its specializations. |
+| `Response` | [Response](#response) | mandatory | The response that was returned by an image generation operation. It points to a message with the FileContent to create the image. |
###### Return Value
@@ -747,7 +747,7 @@ Use this microflow to get the list of references that may be included in the mod
##### Get Response Text {#chat-get-model-response-text}
-This microflow can get the content from the latest assistant message over association `Response_Message`. Use this microflow to get the response text from the latest assistant response message. In many cases, this is the main value needed for further logic after the operation or is displayed to the end user. Note that the content can be directly extracted from the [Response's](#response) attribute `ResponseText`.
+This microflow can get the content from the latest assistant message over association `Response_Message`. Use this microflow to get the response text from the latest assistant response message. Often, this is the main value needed for further logic after the operation or is displayed to the end-user. Note that the content can be directly extracted from the [Response's](#response) attribute `ResponseText`.
###### Input Parameters
@@ -759,7 +759,7 @@ This microflow can get the content from the latest assistant message over associ
| Name | Type | Description |
|---|---|---|
-| `ResponseText` | String | This is the string `Content` of the message with role `assistant` that was generated by the model as a response to a user message. |
+| `ResponseText` | String | The string `Content` of the message with role `assistant` that was generated by the model as a response to a user message. |
#### GenAI (Request Building, Expert)
@@ -771,8 +771,8 @@ This microflow can be used to add an optional [StopSequence](#stopsequence) to t
| Name | Type | Notes | Description |
|---|---|---|---|
-| `Request` | [Request](#request) | mandatory | This is the request object that contains the functional input for the model to generate a response. |
-| `StopSequence` | String | mandatory | This is the stop sequence string, which is used to make the model stop generating tokens at a desired point. |
+| `Request` | [Request](#request) | mandatory | The request object that contains the functional input for the model to generate a response. |
+| `StopSequence` | String | mandatory | The stop sequence string, which is used to make the model stop generating tokens at a desired point. |
###### Return Value
@@ -809,7 +809,7 @@ This microflow adds a new [Chunk](#chunk-entity) to the [ChunkCollection](#chunk
| Name | Type | Notes | Description |
|--- |--- |--- |--- |
| `InputText` | String | mandatory | Input text to generate an embedding vector. |
-| `ChunkCollection` | [ChunkCollection](#chunkcollection) | mandatory | ChunkCollection to add the new Chunks to. |
+| `ChunkCollection` | [ChunkCollection](#chunkcollection) | mandatory | The ChunkCollection to add the new Chunks to. |
###### Return Value
@@ -825,11 +825,11 @@ This Java action adds a new [KnowledgeBaseChunk](#knowledgebasechunk-entity) to
| Name | Type | Notes | Documentation |
|--- |--- |--- |--- |
-| `ChunkCollection` | [ChunkCollection](#chunkcollection) | mandatory | This is the ChunkCollection to which the KnowledgebaseChunk will be added. This ChunkCollection is the input for other operations. |
+| `ChunkCollection` | [ChunkCollection](#chunkcollection) | mandatory | The ChunkCollection to which the KnowledgebaseChunk will be added. This ChunkCollection is the input for other operations. |
| `InputText` | String | mandatory | Input text to generate an embedding vector. |
-| `HumanReadableID` | String | mandatory | This is a front-end identifier that can be used for showing or retrieving sources in a custom way. If it is not relevant, "empty" must be passed explicitly here. |
+| `HumanReadableID` | String | mandatory | A front-end identifier that can be used for showing or retrieving sources in a custom way. If it is not relevant, "empty" must be passed explicitly here. |
| `MxObject` | Type parameter | optional | This parameter is used to capture the Mendix object to which the chunk refers. This can be used for finding the record in the Mendix database later on after the retrieval step. |
-| `MetadataCollection` | [MetadataCollection](#metadatacollection-entity) | optional | This is an optional MetadataCollection that contains extra information about the KnowledgeBaseChunk. Any key-value pairs can be stored. In the retrieval operations, it is possible to filter on one or multiple metadata key-value pairs. |
+| `MetadataCollection` | [MetadataCollection](#metadatacollection-entity) | optional | An optional MetadataCollection that contains extra information about the KnowledgeBaseChunk. Any key-value pairs can be stored. In the retrieval operations, it is possible to filter on one or multiple metadata key-value pairs. |
###### Return Value
@@ -891,8 +891,8 @@ This microflow adds a new [Metadata](#metadatacollection-entity) object to a giv
| Name | Type | Notes | Description |
|--- |--- |--- |--- |
-| `Key` | String | mandatory | This is the name of the metadata and typically tells how the value should be interpreted. |
-| `Value` | String | mandatory | This is the value of the metadata that provides additional information about the chunk in the context of the given key. |
+| `Key` | String | mandatory | The name of the metadata; typically indicates how to interpret the value. |
+| `Value` | String | mandatory | The value of the metadata that provides additional information about the chunk in the context of the given key. |
| `MetadataCollection` | [MetadataCollection](#metadatacollection-entity) | mandatory | The MetadataCollection to which the new Metadata object will be added. |
###### Return Value
@@ -907,8 +907,8 @@ This microflow creates a new [MetadataCollection](#metadatacollection-entity) an
| Name | Type | Notes | Description |
|--- |--- |--- |--- |
-| `Key` | String | mandatory | This is the name of the metadata and typically tells how the value should be interpreted. |
-| `Value` | String | mandatory | This is the value of the metadata that provides additional information about the chunk in the context of the given key. |
+| `Key` | String | mandatory | The name of the metadata; typically indicates how to interpret the value. |
+| `Value` | String | mandatory | The value of the metadata that provides additional information about the chunk in the context of the given key. |
###### Return Value
@@ -953,8 +953,8 @@ This microflow creates a new [MetadataCollection](#metadatacollection-entity) an
| Name | Caption | Description |
| --- | --- | --- |
-| `image` | **Image** | The file represents an image (e.g. a *.png* file). |
-| `document` | **Document** | The file represents a document (e.g. a *.pdf* file). |
+| `image` | **Image** | The file represents an image (for example, a *.png* file). |
+| `document` | **Document** | The file represents a document (for example, a *.pdf* file). |
#### `ENUM_ToolChoice` {#enum-toolchoice}
@@ -1021,17 +1021,9 @@ This microflow creates a new [MetadataCollection](#metadatacollection-entity) an
This section lists possible solutions to known issues.
-### Missing Jackson Core Dependency
-
-This applies to cases where your app fails to compile and throws the following error: `Missing dependencies: com.fasterxml.jackson.core:jackson-core:2.22.0`.
-
-This dependency is advertised in Maven repositories but does not actually exist. When you build your app, the automated dependency management attempts to download it and fails because the version is unavailable.
-
-To resolve this issue, download and install [GenAI Commons 6.2.2](https://marketplace.mendix.com/link/component/239448) from Mendix Marketplace. This module includes a fixed Jackson Core dependency configuration and will allow your app to compile successfully. Once Maven resolves the issue, dependency ranges will be used again to re-enable automated dependency management, including automatic vulnerability fixes.
-
### Outdated JDK Version Causing Errors while Calling a REST API {#outdated-jdk-version}
-The Java Development Kit (JDK) is a framework needed by Mendix Studio Pro to deploy and run applications. For more information, see [Studio Pro System Requirements](/refguide/system-requirements/). Usually, the correct JDK version is installed during the installation of Studio Pro, but in some cases, it may be outdated. An outdated version can cause exceptions when calling REST-based services with large data volumes, like for example embeddings operations or chat completions with vision.
+The Java Development Kit (JDK) is a framework needed by Mendix Studio Pro to deploy and run apps. For more information, see [Studio Pro System Requirements](/refguide/system-requirements/). Usually, the correct JDK version is installed during the installation of Studio Pro, but sometimes it may be outdated. An outdated version can cause exceptions when calling REST-based services with large data volumes, such as embeddings operations or chat completions with vision.
Mendix has seen the following two exceptions when using JDK versions below `jdk-11.0.5.0-hotspot`:
`java.net.SocketException - Connection reset` or
@@ -1041,17 +1033,17 @@ To check your JDK version and update it if necessary, follow these steps:
1. Check your JDK version – In Studio Pro, go to **Edit** > **Preferences** > **Deployment** > **JDK directory**. If the path points to a version below `jdk-11.0.5.0-hotspot`, you need to update the JDK by following the next steps.
2. Go to [Eclipse Temurin JDK 11](https://adoptium.net/en-GB/temurin/releases/?variant=openjdk11&os=windows&package=jdk) and download the `.msi` file of the latest release of **JDK 11**.
-3. Open the downloaded file and follow the installation steps. Remember the installation path. Usually, this should be something like `C:/Program Files/Eclipse Adoptium/jdk-11.0.22.7-hotspot`.
+3. Open the downloaded file and follow the installation steps. Remember the installation path. Usually, this is something like `C:/Program Files/Eclipse Adoptium/jdk-11.0.22.7-hotspot`.
4. After the installation has finished, restart your computer if prompted.
-5. Open Studio Pro and go to **Edit** > **Preferences** > **Deployment** > **JDK directory**. Click **Browse** and select the folder with the new JDK version you just installed. This should be the folder containing the *bin* folder. Save your settings by clicking **OK**.
+5. Open Studio Pro and go to **Edit** > **Preferences** > **Deployment** > **JDK directory**. Click **Browse** and select the folder with the new JDK version you just installed. This is the folder containing the *bin* folder. Save your settings by clicking **OK**.
6. Run the project and execute the action that threw the above-mentioned exception earlier.
1. You might get an error saying `FAILURE: Build failed with an exception. The supplied javaHome seems to be invalid. I cannot find the java executable.` In this case, verify that you have selected the correct JDK directory containing the updated JDK version.
2. You may also need to update Gradle. To do this, go to **Edit** > **Preferences** > **Deployment** > **Gradle directory**. Click **Browse** and select the appropriate Gradle version from the Mendix folder. For Mendix 10.10 and above, use Gradle 8.5. For Mendix 10 versions below 10.10, use Gradle 7.6.3. Then save your settings by clicking **OK**.
3. Rerun the project.
-### Migration from Add-On module to App module
+### Migration from Add-On Module to App Module
-As the module has been changed with version 3.0.0 from an add-on to an app module, if you are updating the module the install from marketplace will need a migration to work properly with your application.
+Because the module changed with version 3.0.0 from an add-on to an app module, if you are updating the module, the install from Marketplace needs a migration to work with your application.
The process may look like this:
@@ -1059,10 +1051,10 @@ The process may look like this:
* Incoming associations to protected module’s entities will be deleted
* Usage data will be lost but can be exported in the ConversationalUI module via the Token Consumption Monitor snippets
2. Delete Add-On module: GenAICommons
-3. Download the module from the marketplace; note that the module is from now on located under the “Marketplace modules” category in the app explorer.
+3. Download the module from Marketplace; note that the module is from now on located under the “Marketplace modules” category in the app explorer.
4. Test your application locally and verify that everything works as before.
5. Restore lost data on deployed environments. Usually incoming associations to the protected modules need to be reset.
### Conflicted Lib Error After Module Import
-If you encounter an error caused by conflicting Java libraries, such as `java.lang.NoSuchMethodError: 'com.fasterxml.jackson.annotation.OptBoolean com.fasterxml.jackson.annotation.JsonProperty.isRequired()'`, try synchronizing all dependencies (**App** > **Synchronize dependencies**) and then restart your application.
+If you encounter an error caused by conflicting Java libraries, such as `java.lang.NoSuchMethodError: 'com.fasterxml.jackson.annotation.OptBoolean com.fasterxml.jackson.annotation.JsonProperty.isRequired()'`, synchronize all dependencies (**App** > **Synchronize dependencies**). Then restart your application.
diff --git a/content/en/docs/genai/reference-guide/mcp-modules/mcp-client.md b/content/en/docs/genai/reference-guide/mcp-modules/mcp-client.md
index f5b75be64b7..ddfe58bb973 100644
--- a/content/en/docs/genai/reference-guide/mcp-modules/mcp-client.md
+++ b/content/en/docs/genai/reference-guide/mcp-modules/mcp-client.md
@@ -97,11 +97,3 @@ There are several possible reasons why the client cannot connect to your server.
* The official [MCP docs](https://modelcontextprotocol.io/introduction)
* The [MCP Java SDK GitHub Repository](https://github.com/modelcontextprotocol/java-sdk)
-
-### Missing Jackson Core Dependency
-
-This applies to cases where your app fails to compile and throws the following error: `Missing dependencies: com.fasterxml.jackson.core:jackson-core:2.22.0`.
-
-This dependency is advertised in Maven repositories but does not actually exist. When you build your app, the automated dependency management attempts to download it and fails because the version is unavailable.
-
-To resolve this issue, download and install [GenAI Commons 6.2.2](https://marketplace.mendix.com/link/component/239448) from Mendix Marketplace. This module includes a fixed Jackson Core dependency configuration and will allow your app to compile successfully. Once Maven resolves the issue, dependency ranges will be used again to re-enable automated dependency management, including automatic vulnerability fixes.
diff --git a/content/en/docs/genai/reference-guide/mcp-modules/mcp-server.md b/content/en/docs/genai/reference-guide/mcp-modules/mcp-server.md
index 78546123e67..3004f845fd5 100644
--- a/content/en/docs/genai/reference-guide/mcp-modules/mcp-server.md
+++ b/content/en/docs/genai/reference-guide/mcp-modules/mcp-server.md
@@ -135,11 +135,3 @@ If you encounter an error caused by conflicting Java libraries, such as `java.la
* The official [MCP docs](https://modelcontextprotocol.io/introduction)
* The [MCP Java SDK GitHub Repository](https://github.com/modelcontextprotocol/java-sdk)
* A blog post on [How to use MCP to bring Mendix Business Logic into Claude for Desktop](https://www.mendix.com/blog/how-to-use-mcp-to-bring-mendix-business-logic-into-claude-for-desktop/)
-
-### Missing Jackson Core Dependency
-
-This applies to cases where your app fails to compile and throws the following error: `Missing dependencies: com.fasterxml.jackson.core:jackson-core:2.22.0`.
-
-This dependency is advertised in Maven repositories but does not actually exist. When you build your app, the automated dependency management attempts to download it and fails because the version is unavailable.
-
-To resolve this issue, download and install [GenAI Commons 6.2.2](https://marketplace.mendix.com/link/component/239448) from Mendix Marketplace. This module includes a fixed Jackson Core dependency configuration and will allow your app to compile successfully. Once Maven resolves the issue, dependency ranges will be used again to re-enable automated dependency management, including automatic vulnerability fixes.
diff --git a/content/en/docs/marketplace/platform-supported-content/modules/aws/amazon-bedrock.md b/content/en/docs/marketplace/platform-supported-content/modules/aws/amazon-bedrock.md
index 8668cea974a..4ecf4c81bfc 100644
--- a/content/en/docs/marketplace/platform-supported-content/modules/aws/amazon-bedrock.md
+++ b/content/en/docs/marketplace/platform-supported-content/modules/aws/amazon-bedrock.md
@@ -108,6 +108,7 @@ Amazon Bedrock models have a lifecycle that consists of the Active, Legacy, and
### Configuring a Microflow for an AWS Service
After you configure the authentication profile for Amazon Bedrock, you can implement the functions of the connector by using the provided activities in microflows. The most important actions are available in the toolbox or in the [GenAI Commons](/agents/genai-for-mx/commons/#microflows) module.
+
The **USE_ME** folder contains several subfolders containing operations. The following example microflows have been created for each of these inside the **ExampleImplementations** folder:
* EXAMPLE_ChatCompletions_FunctionCalling
@@ -192,7 +193,7 @@ To invoke a specific model that is not covered by the ChatCompletions operation,
The export mapping creates a JSON from the request-related objects (specific to the model that you want to invoke). The JSON must be added as the request body of the `InvokeModelRequest` object provided as input parameter to the **Invoke Model** operation. The import mapping maps the response returned by the **Invoke Model** operation to your model-specific response objects. To create import or export mappings, perform the following steps:
1. Right-click the target folder.
2. Click **Add other** > **Import/Export mapping**.
- 3. In the dialogue window, select the **Schema source**.
+ 3. In the dialog box, select the **Schema source**.
4. Click **JSON structure** and select the appropriate request/response JSON structure.
5. Select the relevant schema elements.
6. Click **OK**.
@@ -712,7 +713,7 @@ The input and output for this service are shown in the table below:
The Amazon Bedrock Connector offers a range of operations to retrieve and store metadata information in the Mendix app's database.
-This can be useful to e.g. associate a chatbot configuration to an available model by selecting the model via dropdown in runtime. The persistent domain model allows for simple and efficient filtering capabilities on the available metadata. Further, the *SNIP_Settings_Admin_BedrockConfig* Snippet can be used to manage and view the synced data from an administrator perspective.
+This can be useful to, for example, associate a chatbot configuration to an available model by selecting the model via dropdown in runtime. The persistent domain model allows for simple and efficient filtering capabilities on the available metadata. Further, the *SNIP_Settings_Admin_BedrockConfig* Snippet can be used to manage and view the synced data from an administrator perspective.
The syncing process works the same for all of these operations:
@@ -724,7 +725,7 @@ The available operations are described in the following sections.
#### Sync Models {#sync-models}
-The `Sync Models` activity allows you to retrieve and store metadata about available models on Amazon Bedrock in your app's database. The model information is persistent in the `BedrockDeployedModel` entity which is mandatory for chat completions or embeddings operations from GenAI Commons.
+The `Sync Models` activity lets you retrieve and store metadata about available models on Amazon Bedrock in your app's database. The model information is persistent in the `BedrockDeployedModel` entity which is mandatory for chat completions or embeddings operations from GenAI Commons.
Information about the model's input modalities are stored as associations to the `InputModality` entity and its output modality is stored to the `OutputModality` attribute. The input modality describes which form of data can be sent to the model. The output modality describes which form of data the model will return.
@@ -843,7 +844,7 @@ To solve this issue, follow these steps:
After the status of the models changes to **Access Granted**, you can use it with the Amazon Bedrock connector.
-### Error code 403 - AccessDeniedException
+### Error Code 403 - AccessDeniedException
When invoking a model, the error code *403 - Access denied* indicates that you do not have access to the targeted resource.
@@ -857,7 +858,7 @@ Possible root causes for this error include the following:
To solve this issue, ensure that you have selected an AWS Region where you have model access. You can see an overview of the models accessible to you in the AWS Management Console, in the [Model Access](https://us-west-2.console.aws.amazon.com/bedrock/home?#/modelaccess) section of your Amazon Bedrock environment.
-### Error code 404 - ResourceNotFoundException
+### Error Code 404 - ResourceNotFoundException
When invoking a model, the error code *404 - Resource not found* indicates that the targeted resource was not found.
@@ -882,12 +883,3 @@ If you encounter an error stating that an attribute or a reference is required a
### Conflicted Lib Error After Module Import
If you encounter an error caused by conflicting Java libraries, such as `java.lang.NoSuchMethodError: 'com.fasterxml.jackson.annotation.OptBoolean com.fasterxml.jackson.annotation.JsonProperty.isRequired()'`, try synchronizing all dependencies (**App** > **Synchronize dependencies**) and then restart your application.
-
-
-### Missing Jackson Core Dependency
-
-This applies to cases where your app fails to compile and throws the following error: `Missing dependencies: com.fasterxml.jackson.core:jackson-core:2.22.0`.
-
-This dependency is advertised in Maven repositories but does not actually exist. When you build your app, the automated dependency management attempts to download it and fails because the version is unavailable.
-
-To resolve this issue, download and install [GenAI Commons 6.2.2](https://marketplace.mendix.com/link/component/239448) from Mendix Marketplace. This module includes a fixed Jackson Core dependency configuration and will allow your app to compile successfully. Once Maven resolves the issue, dependency ranges will be used again to re-enable automated dependency management, including automatic vulnerability fixes.