diff --git a/content/en/docs/marketplace/genai/concepts/agents.md b/content/en/docs/marketplace/genai/concepts/agents.md index 21e77dff8ac..ac7b9608c85 100644 --- a/content/en/docs/marketplace/genai/concepts/agents.md +++ b/content/en/docs/marketplace/genai/concepts/agents.md @@ -26,7 +26,7 @@ This approach uses a linear chain of multiple LLM calls, where the output of one The system takes a user prompt as input, either typed directly or generated using prompt engineering techniques. Its output is typically the plain response from the final LLM call in the chain. - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/agents/Linear-Chaining.svg" >}} + {{< figure src="/attachments/genai/agents/Linear-Chaining.svg" alt="" >}} ### Prompt Chaining with Gatekeeper @@ -34,7 +34,7 @@ This is an extension of the linear chain of multiple LLM calls. Now, the gatekee As with the previous pattern, the system takes a user prompt as input, either entered directly or generated through prompt engineering techniques. The output is typically the plain result of the final LLM call in the happy flow. In an unhappy scenario, developers can choose to return either the gatekeeper agent’s response or a predefined static message. - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/agents/Linear-Chaining-Gatekeeper.svg" >}} + {{< figure src="/attachments/genai/agents/Linear-Chaining-Gatekeeper.svg" alt="" >}} ### Evaluator-Optimizer @@ -47,7 +47,7 @@ Alternative names for this pattern are: The input of this system is a user prompt, either typed directly by the user or constructed using prompt engineering techniques. The output of the system is the plain output of the last iteration of the Generator Agent LLM call, as approved by the Evaluator Agent. - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/agents/Evaluator-optimizer.svg" >}} + {{< figure src="/attachments/genai/agents/Evaluator-optimizer.svg" alt="" >}} ### Routing @@ -55,7 +55,7 @@ This pattern is especially effective when the system needs to handle a variety o The system takes a user prompt as input, either entered directly or crafted using prompt engineering techniques. The output is typically the plain response from the agent chosen by the Router Agent. In some variations, the Router Agent may choose not to hand off the input if it determines that the request falls outside the system's supported scope. In such cases, the system returns either the Router Agent's own response or a static message explaining why the request could not be processed. - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/agents/Routing.svg" >}} + {{< figure src="/attachments/genai/agents/Routing.svg" alt="" >}} ## Learn More diff --git a/content/en/docs/marketplace/genai/concepts/model-context-protocol.md b/content/en/docs/marketplace/genai/concepts/model-context-protocol.md index 5314f95c186..ffe30df77b7 100644 --- a/content/en/docs/marketplace/genai/concepts/model-context-protocol.md +++ b/content/en/docs/marketplace/genai/concepts/model-context-protocol.md @@ -10,7 +10,7 @@ description: "This document describes the Model Context Protocol (MCP) and how i The [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) is an open protocol that standardizes how Large Language Models (LLMs) can autonomously connect to apps. Many AI platforms and third-party systems have already adopted MCP for easier integration and empowerment of LLMs. Mendix provides an [MCP Server](/appstore/modules/genai/genai-for-mx/mcp-server/) module to facilitate an MCP server from a Mendix app, enabling developers to expose tools and prompts to external MCP clients as well as an [MCP Client](https://marketplace.mendix.com/link/component/244893) module. The MCP Client module enables your app to connect to MCP servers, allowing it to discover and use tools and prompts. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/mcp/mcp-client-server-architecture-mendix.png" >}} +{{< figure src="/attachments/genai/mcp/mcp-client-server-architecture-mendix.png" alt="" >}} As described in the diagram above, a user can chat with a model in the MCP Host application (for example, in Mendix, using Conversational UI), which connects to the MCP Server (a Mendix app or an external server) via MCP to discover available tools and prompts. If the user's request can be solved with any available tool, the LLM can call a tool which is executed in the server environment and returns the result. This approach allows developers to integrate their Mendix app with existing external AI systems. diff --git a/content/en/docs/marketplace/genai/concepts/prompt-engineering.md b/content/en/docs/marketplace/genai/concepts/prompt-engineering.md index 6805e635428..f01c605f4ee 100644 --- a/content/en/docs/marketplace/genai/concepts/prompt-engineering.md +++ b/content/en/docs/marketplace/genai/concepts/prompt-engineering.md @@ -10,7 +10,7 @@ description: "Describes Prompt Engineering as used with generative AI in Mendix" Prompt engineering involves the skillful structuring of instructions to guide generative Artificial Intelligence (AI) models in producing the desired outcomes, blending technical precision and creativity. With today’s more advanced models, it has become easier for models to interpret user intent with minimal input, becoming more user-friendly, and in exchange, users have adapted their language to be better understood by the Large Language Models (LLM). The image below shows an example of this. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/prompt-engineering/prompt_types.png" >}} +{{< figure src="/attachments/genai/prompt-engineering/prompt_types.png" alt="" >}} These prompts typically contain input from the end-user or are generated by the app which is enriched with instructions from the developer/administrator or enriched by the app. A prompt typically contains at least one of the following: diff --git a/content/en/docs/marketplace/genai/concepts/tool-calling.md b/content/en/docs/marketplace/genai/concepts/tool-calling.md index 945c2427532..1351556269a 100644 --- a/content/en/docs/marketplace/genai/concepts/tool-calling.md +++ b/content/en/docs/marketplace/genai/concepts/tool-calling.md @@ -88,14 +88,14 @@ The [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) c The first diagram shows a simple process where the user is interested in the status of a certain ticket. The LLM connector takes care of handling the tool call response as well as executing the function microflows until the API returns the final assistant's response as visualized by the blue box. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/function-calling/function-calling.png" >}} +{{< figure src="/attachments/genai/function-calling/function-calling.png" alt="" >}} In the second diagram, the user does not provide the required input for the function. The model is instructed in the system prompt not to assume parameters and ask for clarification if needed: `Don't make assumptions about what values to plug into functions. Ask for clarification if a user request is ambiguous. If a tool call was not successful, give this information to the user and ask for clarification.` The second user prompt contains the identifier, and the whole message history is sent as part of the request. With this information, the model is now able to answer the initial question of the user. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/function-calling/function-calling-with-clarification.png" >}} +{{< figure src="/attachments/genai/function-calling/function-calling-with-clarification.png" alt="" >}} In the last diagram, the `Ticket_CreateNew` function is registered with `UserConfirmationRequired`, so it is only executed when user confirms it. The tool call is shown to the user, who can decide to confirm or reject it. If rejected, the microflow will not be executed, and the LLM gets informed about the decision. If confirmed, the microflow gets executed and returns the response as usual to the LLM. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/function-calling/function-calling-with-user-control.png" >}} +{{< figure src="/attachments/genai/function-calling/function-calling-with-user-control.png" alt="" >}} diff --git a/content/en/docs/marketplace/genai/how-to/byo_connector.md b/content/en/docs/marketplace/genai/how-to/byo_connector.md index bb5c94bbcda..6bbb44fb026 100644 --- a/content/en/docs/marketplace/genai/how-to/byo_connector.md +++ b/content/en/docs/marketplace/genai/how-to/byo_connector.md @@ -12,7 +12,7 @@ If you want to create your own connection to the LLM model of your choice while Building your own GenAI Commons connector offers several practical benefits that streamline development and enhance flexibility. You can reuse [ConversationalUI](/appstore/modules/genai/genai-for-mx/conversational-ui/) components, quickly set up with [starter apps](/appstore/modules/genai/how-to/starter-template/), and switch providers effortlessly. This guide will help you integrate your preferred LLM while maintaining a seamless and user-friendly chat experience. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/connectors_diagram.png" >}} +{{< figure src="/attachments/genai/howto-byo/connectors_diagram.png" alt="" >}} ### Prerequisites @@ -81,7 +81,7 @@ And one output object: Since this structure is already standardized, no modifications are needed for the `Request` entity. Instead, when implementing a new connector, map the request data from the existing `Request` object to the format required by the specific provider—in this case, the Echo Connector. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/GenAICommons_TextFiles_DomainModel.png" >}} +{{< figure src="/attachments/genai/howto-byo/GenAICommons_TextFiles_DomainModel.png" alt="" >}} Just as the `Request` entity structures input for the LLM, the Response entity defines how the model's output must be formatted for proper display in the chat interface. When an LLM returns a result, it must be converted into the `Response` entity’s format to ensure compatibility with GenAICommons and ConversationalUI. @@ -102,7 +102,7 @@ The `DeployedModel` represents a GenAI model that the Mendix app can invoke, ens To accommodate this, you will need to create a new entity within your connector that inherits from `GenAICommons.DeployedModel`. This allows you to extend it with any provider-specific attributes required for your integration. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/GenAICommons_DeployedModel_DM.png" >}} +{{< figure src="/attachments/genai/howto-byo/GenAICommons_DeployedModel_DM.png" alt="" >}} For the Echo Connector, a specialization of `DeployedModel` is created to include any additional attributes required for proper functionality. @@ -112,7 +112,7 @@ Your model will require an authentication method based on your provider’s requ To enable seamless model invocation, creating an entity to store authentication details is recommended. A `Configuration` entity is associated with the specialized `EchoDeployedModel`, allowing users to manage credentials separately from the deployed model. The specific attributes required in this `Configuration` entity depend on the model’s authentication method and requirements. A basic example is shown below: -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/EchoConnector_DomainModel.png" >}} +{{< figure src="/attachments/genai/howto-byo/EchoConnector_DomainModel.png" alt="" >}} When storing sensitive authentication data, use encryption methods to keep the application secure. For reference, the Echo Connector implementation in the GenAI Showcase App provides an example of how this can be set up. @@ -124,13 +124,13 @@ When creating specialized `DeployedModel` objects, the `Microflow` attribute mus DeployedModel_Create | DeployedModel_SetMicroflow :-------------------------:|:-------------------------: -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/DeployedModel_Create.png" >}} | {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/DeployedModel_SetMicroflow.png" >}} +{{< figure src="/attachments/genai/howto-byo/DeployedModel_Create.png" alt="" >}} | {{< figure src="/attachments/genai/howto-byo/DeployedModel_SetMicroflow.png" alt="" >}} Define a microflow that will handle the request and generate a response in the expected format. This microflow will be used as the Microflow attribute for the `EchoDeployedModel` objects, ensuring that when an Echo model is called, it follows the same structure required for chat interactions. The following microflow was created to be used as the `Microflow` attribute for the `EchoDeployedModel` objects: -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/EchoDeployedModel_CallLLM.png" >}} +{{< figure src="/attachments/genai/howto-byo/EchoDeployedModel_CallLLM.png" alt="" >}} As mentioned earlier, in the EchoConnector, the microflow simply returns the input provided by the user. To achieve this, the latest user message must be retrieved from the Request, and a Response along with an assistant's message must be created. diff --git a/content/en/docs/marketplace/genai/how-to/creating-agents/_index.md b/content/en/docs/marketplace/genai/how-to/creating-agents/_index.md index 4c11ac3ba60..29e054095da 100644 --- a/content/en/docs/marketplace/genai/how-to/creating-agents/_index.md +++ b/content/en/docs/marketplace/genai/how-to/creating-agents/_index.md @@ -14,7 +14,7 @@ This guide explains how to create an agent in your Mendix app that combines [kno ## Agent Use Case -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/structure_singleagent.svg" alt="Agent use case structure showing integration of LLM, knowledge base, and function calling" >}} +{{< figure src="/attachments/genai/howto-singleagent/structure_singleagent.svg" alt="Agent use case structure showing integration of LLM, knowledge base, and function calling" >}} For this agent, you will set up logic that calls LLMs available via Mendix Cloud GenAI calls to dynamically determine which in-app and external information is needed based on user input. The system retrieves the necessary information, uses it to reason about the actions to perform, and handles execution while keeping you informed and involved where needed. diff --git a/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-programmatically.md b/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-programmatically.md index 16c065a451b..b457a2d2e4d 100644 --- a/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-programmatically.md +++ b/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-programmatically.md @@ -172,7 +172,7 @@ Finally, you can add a tool for knowledge base retrieval. This allows the agent You have successfully integrated a knowledge base into your agent interaction. Run the app to see the agent integrated in the use case. Using the **TicketHelper_Agent** page, the user can ask the model questions and receive responses. When it deems it relevant, it uses the functions or the knowledge base. If you ask the agent "How many tickets are open?", a log should appear in your Studio Pro console indicating that the function microflow was executed. When a user submits a request like "My VPN crashes all the time and I need it to work on important documents", the agent searches the knowledge base for similar tickets and provides a relevant solution. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/Microflow_GenAICommons.png" alt="Microflow showing GenAI Commons implementation" >}} +{{< figure src="/attachments/genai/howto-singleagent/Microflow_GenAICommons.png" alt="Microflow showing GenAI Commons implementation" >}} If you would like to learn how to enable user confirmation for tools, similar to what is described for the [Agent Commons approach](/appstore/modules/genai/how-to/create-agent-with-agent-commons/), you can find examples in the `ExampleMicroflows` module of the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475). diff --git a/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-commons.md b/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-commons.md index e47e53a1762..c7b9df9f28f 100644 --- a/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-commons.md +++ b/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-commons.md @@ -20,7 +20,7 @@ Before you begin, complete the following: Create an agent that can be called to interact with the LLM. The [Agent Commons](/appstore/modules/genai/genai-for-mx/agent-commons/) module allows agentic AI engineers to define agents and perform prompt engineering at runtime. After you complete these steps, your agent configuration will look like this: -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/agent-runtime.png" alt="Agent Commons UI showing IT-Ticket Helper configuration">}} +{{< figure src="/attachments/genai/howto-singleagent/agent-runtime.png" alt="Agent Commons UI showing IT-Ticket Helper configuration">}} 1. Run the app. @@ -87,7 +87,7 @@ Use the function microflows created in [Set Up Your App for Agent Creation](/app * Description: `Get number of tickets in a certain status. Only the following values for status are available: ['Open', 'In Progress', 'Closed']` * Enabled: *yes* (default) - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/runtime-RetrieveNumberOfTicketsInStatus.png" alt="Add tool dialog box with RetrieveNumberOfTicketsInStatus configuration" max-width=60% >}} + {{< figure src="/attachments/genai/howto-singleagent/runtime-RetrieveNumberOfTicketsInStatus.png" alt="Add tool dialog box with RetrieveNumberOfTicketsInStatus configuration" max-width=60% >}} 3. Click **Save**. @@ -145,7 +145,7 @@ If your knowledge base is not compatible with Agent Commons, or if the retrieval Configure the **Ask the agent** button created in [Set Up Your App for Agent Creation](/appstore/modules/genai/how-to/creating-agents/shared-setup/#domain-model-setup) to call a microflow to invoke the agent. Your completed microflow will look like this: -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/Microflow_AgentCommons.png" alt="Microflow with three activities: Retrieve Agent from database, Call Agent Without History, and Change TicketHelper ModelResponse attribute" >}} +{{< figure src="/attachments/genai/howto-singleagent/Microflow_AgentCommons.png" alt="Microflow with three activities: Retrieve Agent from database, Call Agent Without History, and Change TicketHelper ModelResponse attribute" >}} 1. On the **TicketHelper_Agent** page, edit the button's **On click** event to call a microflow. Click **New** to create a microflow named `ACT_TicketHelper_CallAgent_Commons`. diff --git a/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-editor.md b/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-editor.md index 31052c17758..9d8b0f5f75f 100644 --- a/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-editor.md +++ b/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-editor.md @@ -138,7 +138,7 @@ Link a knowledge base collection to the agent so it can retrieve relevant histor * **Collection**: `HistoricalTickets` * **Name**: `RetrieveSimilarTickets` * **Description**: `Similar tickets from the database` - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/configure-knowledge-base.gif" alt="">}} + {{< figure src="/attachments/genai/howto-singleagent/configure-knowledge-base.gif" alt="">}} 6. Click **OK** to close the dialog box. Save the Agent document. @@ -162,7 +162,7 @@ If you make changes to the agent definition afterward, restart or redeploy the l Configure the **Ask the agent** button created in [Set Up Your App for Agent Creation](/appstore/modules/genai/how-to/creating-agents/shared-setup/#domain-model-setup) to call a microflow that invokes the Agent Editor agent and stores the response in the UI helper object. Your completed microflow will look like this: -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/ACT_TicketHelper_CallAgent_Editor.png" alt="">}} +{{< figure src="/attachments/genai/howto-singleagent/ACT_TicketHelper_CallAgent_Editor.png" alt="">}} 1. On the **TicketHelper_Agent** page, edit the **On click** event of the button to call a microflow. Click **New** to create a microflow named `ACT_TicketHelper_CallAgent_Editor`. diff --git a/content/en/docs/marketplace/genai/how-to/creating-agents/shared-setup.md b/content/en/docs/marketplace/genai/how-to/creating-agents/shared-setup.md index 85692dd92f9..a0d2ab9cea4 100644 --- a/content/en/docs/marketplace/genai/how-to/creating-agents/shared-setup.md +++ b/content/en/docs/marketplace/genai/how-to/creating-agents/shared-setup.md @@ -92,7 +92,7 @@ Ingest Mendix ticket data into the knowledge base. For a detailed guide, see [Gr 4. Open **JsonObject**, select your `Ticket` entity, and then select **Map attributes by name** to map all fields to your attributes. The completed import mapping looks like this: - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/IM_ticket_mapped.png" alt="">}} + {{< figure src="/attachments/genai/howto-singleagent/IM_ticket_mapped.png" alt="">}} 5. Open **EM_Ticket**, click **Select elements**, and search for the **JSON_Ticket** in the JSON structure schema source. Select all fields for which you created attributes in the `Ticket` entity. Click **OK**. Open the **JsonObject** to select your `Ticket` entity and map all fields to your attributes. @@ -104,11 +104,11 @@ Ingest Mendix ticket data into the knowledge base. For a detailed guide, see [Gr * In the loop, delete the second action, which adds metadata to the `MetadataCollection`. * In the last action of the loop, `ChunkCollection_Add KnowledgeBaseChunk`, set the **Human readable ID** field to `empty`. - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/ACT_TicketList.png" alt="">}} + {{< figure src="/attachments/genai/howto-singleagent/ACT_TicketList.png" alt="">}} 8. Create a microflow `ACT_CreateDemoData_IngestIntoKnowledgeBase`. Add two actions to the new microflow: call the `Tickets_CreateDataset` microflow, then call the `ACT_TicketList_LoadAllIntoKnowledgeBase` microflow. - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/loaddataintokb-example-combine.png" alt="" >}} + {{< figure src="/attachments/genai/howto-ground-llm/loaddataintokb-example-combine.png" alt="" >}} 9. Add the admin role under **Allowed Roles** in the `ACT_CreateDemoData_LoadAllIntoKnowledgeBase` microflow properties. @@ -120,7 +120,7 @@ When the microflow is called, the demo data is created and ingested into the kno Create a user interface to test and use the agent. It will look like this: -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/TicketHelper_Agent.png" alt="">}} +{{< figure src="/attachments/genai/howto-singleagent/TicketHelper_Agent.png" alt="">}} 1. In your domain model, add a new entity `TicketHelper` and toggle **Persistable** to off. Add the following attributes: @@ -192,7 +192,7 @@ This example focuses only on retrieval functions, but you can also expose functi Your completed microflow looks like this: -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/GetNumberOfTicketsInStatus.png" alt="">}} +{{< figure src="/attachments/genai/howto-singleagent/GetNumberOfTicketsInStatus.png" alt="">}} You have now successfully created your first function microflow to link to the agent in your chosen implementation approach. If users ask how many tickets are in the *Open* status, the model can call the exposed function microflow and base the final answer on your Mendix database. @@ -219,7 +219,7 @@ You have now successfully created your first function microflow to link to the a Your completed microflow looks like this: -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/GetTicketByID.png" alt="">}} +{{< figure src="/attachments/genai/howto-singleagent/GetTicketByID.png" alt="">}} As a result of this function, users can ask for information for a specific ticket by providing a ticket identifier. For example, they can ask `What is ticket 42 about?`. diff --git a/content/en/docs/marketplace/genai/how-to/ground_your_llm_in_data.md b/content/en/docs/marketplace/genai/how-to/ground_your_llm_in_data.md index 3736d2ba381..47b33c74375 100644 --- a/content/en/docs/marketplace/genai/how-to/ground_your_llm_in_data.md +++ b/content/en/docs/marketplace/genai/how-to/ground_your_llm_in_data.md @@ -33,7 +33,7 @@ Before implementing this capability into your app, make sure you meet the follow ## Grounding Your LLM in a Data Use Case -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/diagram.png" >}} +{{< figure src="/attachments/genai/howto-ground-llm/diagram.png" alt="" >}} ### Choosing the Infrastructure @@ -62,7 +62,7 @@ To start, create a microflow that allows you to upload data into your knowledge 1. Create a new microflow, for example, `ACT_TicketList_LoadAllIntoKnowledgeBase`. - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/loaddataintokb-example-replace.png" >}} + {{< figure src="/attachments/genai/howto-ground-llm/loaddataintokb-example-replace.png" alt="" >}} 2. Add the `Retrieve Objects` action. You can configure it as follows: @@ -108,7 +108,7 @@ This microflow first checks whether a list of tickets already exists in the data 1. Create a new microflow, for example, `Tickets_CreateDataset`. - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/loaddataintokb-example-demodata.png" >}} + {{< figure src="/attachments/genai/howto-ground-llm/loaddataintokb-example-demodata.png" alt="" >}} 2. Add a `Retrieve` action: @@ -144,7 +144,7 @@ With both microflows created, they must be combined and added to the homepage to 1. Create a new microflow `ACT_CreateDemoData_LoadAllIntoKnowledgeBase`. - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/loaddataintokb-example-combine.png" >}} + {{< figure src="/attachments/genai/howto-ground-llm/loaddataintokb-example-combine.png" alt="" >}} 2. Add a `Call Microflow` action where you call the `MyFirstModule.Tickets_CreateDataset` microflow created above. @@ -170,7 +170,7 @@ To use the knowledge in a chat interface, create and adjust certain microflows a With the `MyFirstBot.ACT_FullScreenChat_Open microflow` configured, the `MyFirstBot.ChatContext_ChatWithHistory_ActionMicroflow` can now be adjusted to handle user-submitted messages in the chat interface. - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/chatcontext-microflow-example.png" >}} + {{< figure src="/attachments/genai/howto-ground-llm/chatcontext-microflow-example.png" alt="" >}} 4. Open your `MyFirstBot.ChatContext_ChatWithHistory_ActionMicroflow` microflow in your **MyFirstBot** module. @@ -183,7 +183,7 @@ To use the knowledge in a chat interface, create and adjust certain microflows a 6. Add the `Tools: Add Knowledge Base` action with the settings shown in the image below: - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/tool-addknowledgebase-example.png" >}} + {{< figure src="/attachments/genai/howto-ground-llm/tool-addknowledgebase-example.png" alt="" >}} The rest of the actions can remain as they are currently set. Now that everything is implemented, you can test the chat with enriched knowledge. diff --git a/content/en/docs/marketplace/genai/how-to/integrate_function_calling.md b/content/en/docs/marketplace/genai/how-to/integrate_function_calling.md index 76adddb4ebb..bd4b5e74c66 100644 --- a/content/en/docs/marketplace/genai/how-to/integrate_function_calling.md +++ b/content/en/docs/marketplace/genai/how-to/integrate_function_calling.md @@ -35,7 +35,7 @@ Before integrating function calling into your app, make sure you meet the follow ## Function Calling Use Case {#use-case} -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-functioncalling/structure_functioncalling.png" >}} +{{< figure src="/attachments/genai/howto-functioncalling/structure_functioncalling.png" alt="" >}} In this example, two functions will be implemented with the following purposes: @@ -72,7 +72,7 @@ To call a function, create a microflow per function to extract the necessary inf #### Function: Extracting the User Name {#function-username} -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-functioncalling/GetCurrentUserName_Function.jpg" >}} +{{< figure src="/attachments/genai/howto-functioncalling/GetCurrentUserName_Function.jpg" >}} Create a new microflow with the name `GetCurrentUserName_Function`. @@ -95,7 +95,7 @@ Create a new microflow with the name `GetCurrentUserName_Function`. #### Function: Getting Bank Holidays in the Netherlands 2025 {#function-bankholidays} -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-functioncalling/GetBankHolidays_Function.jpg" >}} +{{< figure src="/attachments/genai/howto-functioncalling/GetBankHolidays_Function.jpg" >}} For this example, call the new microflow `GetBankHolidays_Function`. @@ -121,7 +121,7 @@ Create a new microflow with the name `GetCurrentUserName_Function`. Now, the following steps will focus exclusively on the `ChatContext_ChatWithHistory_ActionMicroflow` from your `MyFirstBot` module. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-functioncalling/CallingFunctions_Microflow.jpg" >}} +{{< figure src="/attachments/genai/howto-functioncalling/CallingFunctions_Microflow.jpg" >}} As shown in the image, two key steps must be completed to enable the execution of both functions. diff --git a/content/en/docs/marketplace/genai/how-to/prompt_engineering-runtime.md b/content/en/docs/marketplace/genai/how-to/prompt_engineering-runtime.md index 21aa652de42..adb9c5bdcba 100644 --- a/content/en/docs/marketplace/genai/how-to/prompt_engineering-runtime.md +++ b/content/en/docs/marketplace/genai/how-to/prompt_engineering-runtime.md @@ -71,7 +71,7 @@ Run the app, log in as administrator, and verify that you can navigate to the ** You can now create your first agent in the user interface. The final agent will look like this: -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-prompt-engineering/prompt_engineering_details.png" alt="Product Description Generator agent configuration page showing version, model, test case variables, system and user prompts, and context entity settings" >}} +{{< figure src="/attachments/genai/howto-prompt-engineering/prompt_engineering_details.png" alt="Product Description Generator agent configuration page showing version, model, test case variables, system and user prompts, and context entity settings" >}} ### Creating the Initial Agent {#initial-agent} @@ -137,7 +137,7 @@ To connect an agent with the rest of your application, it is helpful to create a In this section, you will create both the entity and the user interface. The final page will look like this: -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-prompt-engineering/prompt_engineering_user_interface.png" alt="Product creation form with fields for product name, number of words, generate button, and AI-generated product description" >}} +{{< figure src="/attachments/genai/howto-prompt-engineering/prompt_engineering_user_interface.png" alt="Product creation form with fields for product name, number of words, generate button, and AI-generated product description" >}} 1. In Studio Pro, go to your module's domain model. For new apps, this is **MyFirstModule**. @@ -200,7 +200,7 @@ You need to configure some additional settings for the agent before it can be us Create the microflow that is called when a user clicks the button. This microflow will execute a call to the LLM and set the `ProductDescription` attribute value to the model's response. The microflow, which can also be found in the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) in **ExampleMicroflows** > **Prompt Engineering** > **ACT_Product_GenerateProductDescription**, will look like this: -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-prompt-engineering/prompt-engineering-microflow.png" alt="Microflow with four sequential steps: change Product Language, retrieve Agent from database, call Agent Without History, and update ProductDescription with response" >}} +{{< figure src="/attachments/genai/howto-prompt-engineering/prompt-engineering-microflow.png" alt="Microflow with four sequential steps: change Product Language, retrieve Agent from database, call Agent Without History, and update ProductDescription with response" >}} 1. In Studio Pro, go to the `Product_NewEdit` page. diff --git a/content/en/docs/marketplace/genai/how-to/start_from_a_starter_app.md b/content/en/docs/marketplace/genai/how-to/start_from_a_starter_app.md index ac1a0fe409b..62287dd06e2 100644 --- a/content/en/docs/marketplace/genai/how-to/start_from_a_starter_app.md +++ b/content/en/docs/marketplace/genai/how-to/start_from_a_starter_app.md @@ -38,7 +38,7 @@ By the end of this document, you will: To simplify your first use case, start building a chatbot using the [AI Bot Starter App](https://marketplace.mendix.com/link/component/227926). This pre-built template streamlines the process, allowing you to quickly integrate AI capabilities into your application. You can see the result in the image below. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-starterapp/starter_genai_interface.jpg" >}} +{{< figure src="/attachments/genai/howto-starterapp/starter_genai_interface.jpg" >}} ### Choosing the Infrastructure diff --git a/content/en/docs/marketplace/genai/how-to/start_from_blank_app.md b/content/en/docs/marketplace/genai/how-to/start_from_blank_app.md index bfa763d6af8..ce62d3c30cc 100644 --- a/content/en/docs/marketplace/genai/how-to/start_from_blank_app.md +++ b/content/en/docs/marketplace/genai/how-to/start_from_blank_app.md @@ -38,7 +38,7 @@ By the end of this document, you will: To start building your smart app with a blank GenAI App template, download the [Blank GenAI App Template](https://marketplace.mendix.com/link/component/227934) from the Mendix Marketplace. This template provides a clean slate, enabling you to build your GenAI-powered application step by step. Using this document, you can build a chatbot. The image below shows the final result. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-blankapp/blank_genai_interface.jpg" >}} +{{< figure src="/attachments/genai/howto-blankapp/blank_genai_interface.jpg" >}} ### Important Modules @@ -82,7 +82,7 @@ To tailor your application's behavior, you can customize the [System Prompt](/ap ##### Changing the System Prompt {#changing-system-prompt} -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genai-howto-blankapp/blank_genai_systemprompt.png" >}} +{{< figure src="/attachments/genai/howto-blankapp/blank_genai_systemprompt.png" alt="" >}} 1. In your `MyFirstBot` module, open the `ACT_FullScreenChat_Open` microflow. 2. Locate the **ChatContext** action. diff --git a/content/en/docs/marketplace/genai/mendix-cloud-genai/navigate_mxgenai.md b/content/en/docs/marketplace/genai/mendix-cloud-genai/navigate_mxgenai.md index f45f7da6b49..a6f34a51c2d 100644 --- a/content/en/docs/marketplace/genai/mendix-cloud-genai/navigate_mxgenai.md +++ b/content/en/docs/marketplace/genai/mendix-cloud-genai/navigate_mxgenai.md @@ -14,7 +14,7 @@ The [Mendix Cloud GenAI portal](https://genai.home.mendix.com/) is the part of t After clicking on a specific resource, you land on its details page, offering shortcut to consumption insights, key generation, team management, and helpful documentation. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_Details.png" >}} +{{< figure src="/attachments/genai/navigate_mxgenai/GenAIResource_Details.png" alt="" >}} ### Settings @@ -58,7 +58,7 @@ After a resource is provisioned, you can change its plan size, either upgrade or ### Team -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/genai-resource-team.png" >}} +{{< figure src="/attachments/genai/navigate_mxgenai/genai-resource-team.png" alt="" >}} The **Team** page allows you to manage access to the Mendix Cloud GenAI resource. By default, internal members listed in this **Overview** have access to the resource in the GenAI resource portal and can create new keys or invite new users. You can add new users via the **Add Member** button and remove them using the **Remove Member** button next to their name in the overview. @@ -72,7 +72,7 @@ Pending invitations can be withdrawn at any time and will automatically expire a ### Keys -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_Keys.png" >}} +{{< figure src="/attachments/genai/navigate_mxgenai/GenAIResource_Keys.png" alt="" >}} The **Keys** tab allows you to manage configuration keys for the resources. These keys provide programmatic access to the GenAI resources. From the **Keys** tab, you can create new keys and revoke existing ones. @@ -82,7 +82,7 @@ To create a new key, click **Create Key**, add a description, and save the chang Make sure to store it securely, as it will only be shown once. {{% /alert %}} -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_KeyGeneration.png" >}} +{{< figure src="/attachments/genai/navigate_mxgenai/GenAIResource_KeyGeneration.png" alt="" >}} Once created, the key can be used in the Mendix application via the Mendix Cloud GenAI Connector. @@ -92,7 +92,7 @@ When you create a key for a knowledge base, an embeddings resource key is automa ### Content (Only for Knowledge Bases) -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_Content.png" >}} +{{< figure src="/attachments/genai/navigate_mxgenai/GenAIResource_Content.png" alt="" >}} {{% alert color="info" %}} The **Content** tab is available only for Knowledge Bases.{{% /alert %}} @@ -111,7 +111,7 @@ When you select the **Add Files Like .TXT or .PDF** option, you can upload docum Before uploading, you can choose to upload the data to a new collection, the default collection, or another existing collection within the resource. A Knowledge Base resource can comprise several collections. Each collection is specifically designed to hold numerous documents, serving as a logical grouping for related information based on its shared domain, purpose, or thematic focus. Below is a diagram showing how resources are organized into separate collections. This approach allows multiple use cases to share a common resource while the option to only add the required collections to the conversation context is preserved. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIKnowledgeBaseResource.png" >}} +{{< figure src="/attachments/genai/navigate_mxgenai/GenAIKnowledgeBaseResource.png" alt="" >}} {{% alert color="info" %}} While collections provide a mechanism for data separation, it is not best practice to create a large number of collections within a single Knowledge Base resource. A more performant and practical approach for achieving fine-grained data separation is through the strategic use of [Metadata](#metadata). {{% /alert %}} @@ -129,7 +129,7 @@ key: `Category`, value: `Ticket` The model then generates its response using the specified metadata instead of solely the input text. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIKBMetadataSeparation.png" >}} +{{< figure src="/attachments/genai/navigate_mxgenai/GenAIKBMetadataSeparation.png" alt="" >}} Using metadata, even more fine-grained filtering becomes feasible. Each ticket may have associated metadata, such as @@ -149,7 +149,7 @@ You can upload data directly from Mendix to the Knowledge Base. To do so, severa The **Consumption** section provides outcomes of token consumption monitoring for each GenAI resource in a graphical way. Use this overview to see the current usage, insights on the usage per day, and to compare the current month with previous months. Note that months represent bundle months here, which is the period during which token consumption is tracked, beginning on the date of your last GenAI Resource plan entitlement reset and ending on the next reset date. This creates a recurring monthly cycle based on your plan activation date, not the calendar month. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_TokenConsumptionMonitor.png" >}} +{{< figure src="/attachments/genai/navigate_mxgenai/GenAIResource_TokenConsumptionMonitor.png" alt="" >}} #### What Are Tokens? diff --git a/content/en/docs/marketplace/genai/reference-guide/agent-commons.md b/content/en/docs/marketplace/genai/reference-guide/agent-commons.md index f7428f3b127..385495c1d40 100644 --- a/content/en/docs/marketplace/genai/reference-guide/agent-commons.md +++ b/content/en/docs/marketplace/genai/reference-guide/agent-commons.md @@ -109,7 +109,7 @@ Users can create two types of agents: * **Task Agent**: Designed for isolated agentic patterns such as background processes, subagents in an Agent-as-Tool setup, or any use case that doesn't require a conversational interface with historical context. - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/agentcommons/agentbuilderUI.png" >}} + {{< figure src="/attachments/genai/agentcommons/agentbuilderUI.png" alt="" >}} #### Defining Context Entity {#define-context-entity} @@ -229,7 +229,7 @@ Each time a new version of the agent is created, a decision must be made regardi When importing new agents into other environments, selecting the in-use version is always a manual step, requiring a conscious decision. The user will be prompted to choose the version to be used as part of the import user flow. Later, you can manage the active version directly from the Agent Overview. - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/agentcommons/Select_in_use.png" >}} + {{< figure src="/attachments/genai/agentcommons/Select_in_use.png" alt="" >}} ## Technical Reference @@ -240,7 +240,7 @@ The **Documentation** pane displays the documentation for the currently selected 1. In the [View menu](/refguide/view-menu/) of Studio Pro, select **Documentation**. 2. Click the element for which you want to view the documentation. - {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" >}} + {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" alt="" >}} ## Troubleshooting diff --git a/content/en/docs/marketplace/genai/reference-guide/conversational-ui.md b/content/en/docs/marketplace/genai/reference-guide/conversational-ui.md index 5fd65dd6fc6..890661b1c6d 100644 --- a/content/en/docs/marketplace/genai/reference-guide/conversational-ui.md +++ b/content/en/docs/marketplace/genai/reference-guide/conversational-ui.md @@ -83,7 +83,7 @@ To use Conversational UI in your app, you must perform the following tasks in St The main entities are shown for reference in the diagram below. For technical documentation, follow the steps in the [Technical Reference](#technical-reference) section. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/conversational-ui/domain-model.png" >}} +{{< figure src="/attachments/genai/conversational-ui/domain-model.png" alt="" >}} ### Configuring the Roles {#module-roles} @@ -357,7 +357,7 @@ The **Documentation** pane displays the documentation for the currently selected 1. In the [View menu](/refguide/view-menu/) of Studio Pro, select **Documentation**. 2. Click the element for which you want to view the documentation. - {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" >}} + {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" alt="" >}} ## Troubleshooting diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/Mx GenAI Connector.md b/content/en/docs/marketplace/genai/reference-guide/external-platforms/Mx GenAI Connector.md index ac690ddbf4f..93cb4ecf8c2 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/Mx GenAI Connector.md +++ b/content/en/docs/marketplace/genai/reference-guide/external-platforms/Mx GenAI Connector.md @@ -55,7 +55,7 @@ When using an Embeddings Model Resource together with a Knowledge Base Resource, ## Operations -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/mxgenAI-connector/mxgenaiconnector-configuration.png" >}} +{{< figure src="/attachments/genai/mxgenAI-connector/mxgenaiconnector-configuration.png" alt="" >}} Configuration keys are stored persistently after they are imported (either via the UI or the exposed microflow). There are three different types of configurations that reflect the use cases this service supports. The specific operations are described below. @@ -93,7 +93,7 @@ The microflow activity [Chat completions (with history)](/appstore/modules/genai To use retrieval and generation in a single operation, an internally predefined tool can be added to the [Request](/appstore/modules/genai/genai-for-mx/commons/#request) via the `Tools: Add Knowledge Base` action. The model can then decide whether to use the [knowledge base retrieval](/appstore/modules/genai/genai-for-mx/commons/#knowledge-base-retrieval) tool when handling the request. This functionality is supported in both with-history and without-history operations. The (optional) `Description` helps the model to understand the knowledge base content and decide whether it should be called in the current chat context. Additionally, you may apply optional filters, such as `MaxNumberOfResults` or `MinimumSimilarity`, or pass a [MetadataCollection](/appstore/modules/genai/genai-for-mx/commons/#metadatacollection-entity). -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/mxgenAI-connector/mxgenaiconnector-rag.png" >}} +{{< figure src="/attachments/genai/mxgenAI-connector/mxgenaiconnector-rag.png" alt="" >}} The returned `Response` includes [References](/appstore/modules/genai/genai-for-mx/commons/#reference) for each retrieved chunk from the knowledge base. @@ -152,7 +152,7 @@ A Knowledge Base resource can comprise several collections. Each collection is s Below is a diagram showing how resources are organized into separate collections. This approach allows multiple use cases to share a common resource while the option to only add the required collections to the conversation context is preserved. For example, both employee onboarding and IT ticket support require information about IT setup and equipment. However, only onboarding needs knowledge about the company culture and values, while only IT support requires access to historical support ticket data. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIKnowledgeBaseResource.png" >}} +{{< figure src="/attachments/genai/navigate_mxgenai/GenAIKnowledgeBaseResource.png" alt="" >}} While collections provide a mechanism for data separation, it is not best practice to create a large number of collections within a single Knowledge Base resource. A more performant and practical approach for achieving fine-grained data separation is through the strategic use of metadata. @@ -170,7 +170,7 @@ key: `Category`, value: `Ticket` The model then generates its response using the specified metadata instead of solely the input text. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIKBMetadataSeparation.png" >}} +{{< figure src="/attachments/genai/navigate_mxgenai/GenAIKBMetadataSeparation.png" alt="" >}} Using metadata, even more fine-grained filtering becomes feasible. Each ticket may have associated metadata, such as @@ -268,7 +268,7 @@ The **Documentation** pane displays the documentation for the currently selected 1. In the [View menu](/refguide/view-menu/) of Studio Pro, select **Documentation**. 2. Click the element for which you want to view the documentation. - {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" >}} + {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" alt="" >}} ### Tool Choice diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/gemini.md b/content/en/docs/marketplace/genai/reference-guide/external-platforms/gemini.md index 50516c59064..ae00003421a 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/gemini.md +++ b/content/en/docs/marketplace/genai/reference-guide/external-platforms/gemini.md @@ -164,7 +164,7 @@ The **Documentation** pane displays the documentation for the currently selected 1. In the [View menu](/refguide/view-menu/) of Studio Pro, select **Documentation**. 2. Click the element for which you want to view the documentation. - {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" >}} + {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" alt="" >}} ### Tool Choice diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/mistral.md b/content/en/docs/marketplace/genai/reference-guide/external-platforms/mistral.md index 105d66f6a7c..4703178b236 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/mistral.md +++ b/content/en/docs/marketplace/genai/reference-guide/external-platforms/mistral.md @@ -202,7 +202,7 @@ The **Documentation** pane displays the documentation for the currently selected 1. In the [View menu](/refguide/view-menu/) of Studio Pro, select **Documentation**. 2. Click the element for which you want to view the documentation. - {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" >}} + {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" alt="" >}} ### Tool Choice diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/openai.md b/content/en/docs/marketplace/genai/reference-guide/external-platforms/openai.md index 2b24c70b474..bc613e0c7d0 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/openai.md +++ b/content/en/docs/marketplace/genai/reference-guide/external-platforms/openai.md @@ -272,7 +272,7 @@ The **Documentation** pane displays the documentation for the currently selected 1. In the [View menu](/refguide/view-menu/) of Studio Pro, select **Documentation**. 2. Click the element for which you want to view the documentation. - {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" >}} + {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" alt="" >}} ### Tool Choice diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/pg-vector-knowledge-base/_index.md b/content/en/docs/marketplace/genai/reference-guide/external-platforms/pg-vector-knowledge-base/_index.md index 43a340bdc0b..0c9c810cf4f 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/pg-vector-knowledge-base/_index.md +++ b/content/en/docs/marketplace/genai/reference-guide/external-platforms/pg-vector-knowledge-base/_index.md @@ -92,7 +92,7 @@ A typical pattern for populating a knowledge base is as follows: 3. Call an embeddings endpoint with the `ChunkCollection` to generate an embedding vector for each `KnowledgeBaseChunk` 4. With the `ChunkCollection`, use [(Re)populate Knowledge Base](#repopulate-knowledge-base) to store the chunks. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/pgvector-knowledge-base/pgvector-embedandrepopulate.png" >}} +{{< figure src="/attachments/genai/pgvector-knowledge-base/pgvector-embedandrepopulate.png" alt="" >}} #### `(Re)populate Knowledge Base` {#repopulate-knowledge-base} @@ -172,7 +172,7 @@ The **Documentation** pane displays the documentation for the currently selected 1. In the [View menu](/refguide/view-menu/) of Studio Pro, select **Documentation**. 2. Click the element for which you want to view the documentation. - {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" >}} + {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" alt="" >}} ## Showcase Application {#showcase-application} diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/snowflake-cortex.md b/content/en/docs/marketplace/genai/reference-guide/external-platforms/snowflake-cortex.md index 328988a0b8f..0243124d66b 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/snowflake-cortex.md +++ b/content/en/docs/marketplace/genai/reference-guide/external-platforms/snowflake-cortex.md @@ -58,12 +58,12 @@ The [Snowflake showcase app](https://marketplace.mendix.com/link/component/22584 3. To see how a Snowflake Cortex Analyst action is called, use the **Explorer** search box to find and open the *EXAMPLE_CortexAnalyst_GenerateResponseMessage** microflow. - {{< figure src="/attachments/appstore/platform-supported-content/modules/snowflake-ai-data-connector/CortexAnalystRequestExample.png" >}} + {{< figure src="/attachments/appstore/platform-supported-content/modules/snowflake-ai-data-connector/CortexAnalystRequestExample.png" alt="" >}} This microflow calls the Snowflake Cortex Analyst function. 4. To see how you can modify the statement, refer to the *DS_Statement_ML_CreateView_Analyze* example microflow and check how the parameters are set at the **Statement_SetUp** step. - {{< figure src="/attachments/appstore/platform-supported-content/modules/genai/snowflake/StatementSetup.png" alt="" >}} + {{< figure src="/attachments/genai/snowflake/StatementSetup.png" alt="" >}} For information about the parameters required by each functionality, refer to Snowflake documentation. diff --git a/content/en/docs/marketplace/genai/reference-guide/genai-commons.md b/content/en/docs/marketplace/genai/reference-guide/genai-commons.md index 24fc602dbef..ba175f148c6 100644 --- a/content/en/docs/marketplace/genai/reference-guide/genai-commons.md +++ b/content/en/docs/marketplace/genai/reference-guide/genai-commons.md @@ -65,7 +65,7 @@ The technical purpose of the GenAI Commons module is to define a common domain m The domain model in Mendix is a data model that describes the information in your application domain in an abstract way. For more general information, see the [Data in the Domain Model](/refguide/domain-model/) documentation. To learn about where the entities from the domain model are used and relevant during implementation, see the [Microflows](#microflows) section below. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genaicommons/GenAICommons_domain_model.png" >}} +{{< figure src="/attachments/genai/genaicommons/GenAICommons_domain_model.png" alt="" >}} #### `DeployedModel` {#deployed-model} @@ -372,7 +372,7 @@ An optional citation. This entity can visualize the link between a part of the g #### `ChunkCollection` {#chunkcollection} -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/genaicommons/genai-commons-domain-model-embeddings.png" alt="">}} +{{< 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. diff --git a/content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-client.md b/content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-client.md index 3b0ea87f8d7..1be899235f5 100644 --- a/content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-client.md +++ b/content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-client.md @@ -80,7 +80,7 @@ The **Documentation** pane displays the documentation for the currently selected 1. In the [View menu](/refguide/view-menu/) of Studio Pro, select **Documentation**. 2. Click the element for which you want to view the documentation. - {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" >}} + {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" alt="" >}} ## Troubleshooting diff --git a/content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-server.md b/content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-server.md index 9ea0d735b14..bd3056b07fd 100644 --- a/content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-server.md +++ b/content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-server.md @@ -90,7 +90,7 @@ Mendix strongly recommends keeping the user in the loop (such as by using confir After the [Create MCP Server](#create-server) action, you can add one or multiple [Prompts](https://modelcontextprotocol.io/docs/concepts/prompts) to be exposed using the `Add Prompt` action. Prompts let servers define reusable prompt templates and workflows, and they are a powerful way to standardize and share common LLM interactions. For more information, see [Prompt Engineering](/appstore/modules/genai/prompt-engineering/). Connecting MCP Clients can discover the prompts and make them selectable for users to start or continue a conversation. If your prompt (and microflow) requires any input parameters that the user should pass, you need to use the `Populate Prompt Argument List` action for each parameter to describe how the input is used. -{{< figure src="/attachments/appstore/platform-supported-content/modules/genai/mcpserver/mcp_addprompt_example.png" >}} +{{< figure src="/attachments/genai/mcpserver/mcp_addprompt_example.png" alt="" >}} The selected microflow needs to apply to the following principles: @@ -108,7 +108,7 @@ The **Documentation** pane displays the documentation for the currently selected 1. In the [View menu](/refguide/view-menu/) of Studio Pro, select **Documentation**. 2. Click the element for which you want to view the documentation. - {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" >}} + {{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" alt="" >}} ## Troubleshooting diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/agentcommons/Select_in_use.png b/static/attachments/genai/agentcommons/Select_in_use.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/agentcommons/Select_in_use.png rename to static/attachments/genai/agentcommons/Select_in_use.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/agentcommons/agentbuilderUI.png b/static/attachments/genai/agentcommons/agentbuilderUI.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/agentcommons/agentbuilderUI.png rename to static/attachments/genai/agentcommons/agentbuilderUI.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/agents/Evaluator-optimizer.svg b/static/attachments/genai/agents/Evaluator-optimizer.svg similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/agents/Evaluator-optimizer.svg rename to static/attachments/genai/agents/Evaluator-optimizer.svg diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/agents/Linear-Chaining-Gatekeeper.svg b/static/attachments/genai/agents/Linear-Chaining-Gatekeeper.svg similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/agents/Linear-Chaining-Gatekeeper.svg rename to static/attachments/genai/agents/Linear-Chaining-Gatekeeper.svg diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/agents/Linear-Chaining.svg b/static/attachments/genai/agents/Linear-Chaining.svg similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/agents/Linear-Chaining.svg rename to static/attachments/genai/agents/Linear-Chaining.svg diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/agents/Routing.svg b/static/attachments/genai/agents/Routing.svg similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/agents/Routing.svg rename to static/attachments/genai/agents/Routing.svg diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/conversational-ui/domain-model.png b/static/attachments/genai/conversational-ui/domain-model.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/conversational-ui/domain-model.png rename to static/attachments/genai/conversational-ui/domain-model.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/function-calling/function-calling-with-clarification.png b/static/attachments/genai/function-calling/function-calling-with-clarification.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/function-calling/function-calling-with-clarification.png rename to static/attachments/genai/function-calling/function-calling-with-clarification.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/function-calling/function-calling-with-user-control.png b/static/attachments/genai/function-calling/function-calling-with-user-control.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/function-calling/function-calling-with-user-control.png rename to static/attachments/genai/function-calling/function-calling-with-user-control.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/function-calling/function-calling.png b/static/attachments/genai/function-calling/function-calling.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/function-calling/function-calling.png rename to static/attachments/genai/function-calling/function-calling.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genaicommons/GenAICommons_domain_model.png b/static/attachments/genai/genaicommons/GenAICommons_domain_model.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genaicommons/GenAICommons_domain_model.png rename to static/attachments/genai/genaicommons/GenAICommons_domain_model.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genaicommons/genai-commons-domain-model-embeddings.png b/static/attachments/genai/genaicommons/genai-commons-domain-model-embeddings.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genaicommons/genai-commons-domain-model-embeddings.png rename to static/attachments/genai/genaicommons/genai-commons-domain-model-embeddings.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-blankapp/blank_genai_interface.jpg b/static/attachments/genai/howto-blankapp/blank_genai_interface.jpg similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-blankapp/blank_genai_interface.jpg rename to static/attachments/genai/howto-blankapp/blank_genai_interface.jpg diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-blankapp/blank_genai_systemprompt.png b/static/attachments/genai/howto-blankapp/blank_genai_systemprompt.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-blankapp/blank_genai_systemprompt.png rename to static/attachments/genai/howto-blankapp/blank_genai_systemprompt.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/DeployedModel_Create.png b/static/attachments/genai/howto-byo/DeployedModel_Create.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/DeployedModel_Create.png rename to static/attachments/genai/howto-byo/DeployedModel_Create.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/DeployedModel_SetMicroflow.png b/static/attachments/genai/howto-byo/DeployedModel_SetMicroflow.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/DeployedModel_SetMicroflow.png rename to static/attachments/genai/howto-byo/DeployedModel_SetMicroflow.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/EchoConnector_DomainModel.png b/static/attachments/genai/howto-byo/EchoConnector_DomainModel.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/EchoConnector_DomainModel.png rename to static/attachments/genai/howto-byo/EchoConnector_DomainModel.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/EchoDeployedModel_CallLLM.png b/static/attachments/genai/howto-byo/EchoDeployedModel_CallLLM.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/EchoDeployedModel_CallLLM.png rename to static/attachments/genai/howto-byo/EchoDeployedModel_CallLLM.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/GenAICommons_DeployedModel_DM.png b/static/attachments/genai/howto-byo/GenAICommons_DeployedModel_DM.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/GenAICommons_DeployedModel_DM.png rename to static/attachments/genai/howto-byo/GenAICommons_DeployedModel_DM.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/GenAICommons_TextFiles_DomainModel.png b/static/attachments/genai/howto-byo/GenAICommons_TextFiles_DomainModel.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/GenAICommons_TextFiles_DomainModel.png rename to static/attachments/genai/howto-byo/GenAICommons_TextFiles_DomainModel.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/connectors_diagram.png b/static/attachments/genai/howto-byo/connectors_diagram.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-byo/connectors_diagram.png rename to static/attachments/genai/howto-byo/connectors_diagram.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-functioncalling/CallingFunctions_Microflow.jpg b/static/attachments/genai/howto-functioncalling/CallingFunctions_Microflow.jpg similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-functioncalling/CallingFunctions_Microflow.jpg rename to static/attachments/genai/howto-functioncalling/CallingFunctions_Microflow.jpg diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-functioncalling/GetBankHolidays_Function.jpg b/static/attachments/genai/howto-functioncalling/GetBankHolidays_Function.jpg similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-functioncalling/GetBankHolidays_Function.jpg rename to static/attachments/genai/howto-functioncalling/GetBankHolidays_Function.jpg diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-functioncalling/GetCurrentUserName_Function.jpg b/static/attachments/genai/howto-functioncalling/GetCurrentUserName_Function.jpg similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-functioncalling/GetCurrentUserName_Function.jpg rename to static/attachments/genai/howto-functioncalling/GetCurrentUserName_Function.jpg diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-functioncalling/structure_functioncalling.png b/static/attachments/genai/howto-functioncalling/structure_functioncalling.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-functioncalling/structure_functioncalling.png rename to static/attachments/genai/howto-functioncalling/structure_functioncalling.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/chatcontext-microflow-example.png b/static/attachments/genai/howto-ground-llm/chatcontext-microflow-example.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/chatcontext-microflow-example.png rename to static/attachments/genai/howto-ground-llm/chatcontext-microflow-example.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/diagram.png b/static/attachments/genai/howto-ground-llm/diagram.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/diagram.png rename to static/attachments/genai/howto-ground-llm/diagram.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/loaddataintokb-example-combine.png b/static/attachments/genai/howto-ground-llm/loaddataintokb-example-combine.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/loaddataintokb-example-combine.png rename to static/attachments/genai/howto-ground-llm/loaddataintokb-example-combine.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/loaddataintokb-example-demodata.png b/static/attachments/genai/howto-ground-llm/loaddataintokb-example-demodata.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/loaddataintokb-example-demodata.png rename to static/attachments/genai/howto-ground-llm/loaddataintokb-example-demodata.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/loaddataintokb-example-replace.png b/static/attachments/genai/howto-ground-llm/loaddataintokb-example-replace.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/loaddataintokb-example-replace.png rename to static/attachments/genai/howto-ground-llm/loaddataintokb-example-replace.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/tool-addknowledgebase-example.png b/static/attachments/genai/howto-ground-llm/tool-addknowledgebase-example.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-goundllm/tool-addknowledgebase-example.png rename to static/attachments/genai/howto-ground-llm/tool-addknowledgebase-example.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-prompt-engineering/prompt-engineering-microflow.png b/static/attachments/genai/howto-prompt-engineering/prompt-engineering-microflow.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-prompt-engineering/prompt-engineering-microflow.png rename to static/attachments/genai/howto-prompt-engineering/prompt-engineering-microflow.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-prompt-engineering/prompt_engineering_details.png b/static/attachments/genai/howto-prompt-engineering/prompt_engineering_details.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-prompt-engineering/prompt_engineering_details.png rename to static/attachments/genai/howto-prompt-engineering/prompt_engineering_details.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-prompt-engineering/prompt_engineering_user_interface.png b/static/attachments/genai/howto-prompt-engineering/prompt_engineering_user_interface.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-prompt-engineering/prompt_engineering_user_interface.png rename to static/attachments/genai/howto-prompt-engineering/prompt_engineering_user_interface.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/ACT_TicketHelper_CallAgent_Editor.png b/static/attachments/genai/howto-singleagent/ACT_TicketHelper_CallAgent_Editor.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/ACT_TicketHelper_CallAgent_Editor.png rename to static/attachments/genai/howto-singleagent/ACT_TicketHelper_CallAgent_Editor.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/ACT_TicketList.png b/static/attachments/genai/howto-singleagent/ACT_TicketList.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/ACT_TicketList.png rename to static/attachments/genai/howto-singleagent/ACT_TicketList.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/GetNumberOfTicketsInStatus.png b/static/attachments/genai/howto-singleagent/GetNumberOfTicketsInStatus.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/GetNumberOfTicketsInStatus.png rename to static/attachments/genai/howto-singleagent/GetNumberOfTicketsInStatus.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/GetTicketByID.png b/static/attachments/genai/howto-singleagent/GetTicketByID.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/GetTicketByID.png rename to static/attachments/genai/howto-singleagent/GetTicketByID.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/IM_ticket_mapped.png b/static/attachments/genai/howto-singleagent/IM_ticket_mapped.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/IM_ticket_mapped.png rename to static/attachments/genai/howto-singleagent/IM_ticket_mapped.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/Microflow_AgentCommons.png b/static/attachments/genai/howto-singleagent/Microflow_AgentCommons.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/Microflow_AgentCommons.png rename to static/attachments/genai/howto-singleagent/Microflow_AgentCommons.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/Microflow_GenAICommons.png b/static/attachments/genai/howto-singleagent/Microflow_GenAICommons.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/Microflow_GenAICommons.png rename to static/attachments/genai/howto-singleagent/Microflow_GenAICommons.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/Microflow_IngestIntoKnowledgeBase.png b/static/attachments/genai/howto-singleagent/Microflow_IngestIntoKnowledgeBase.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/Microflow_IngestIntoKnowledgeBase.png rename to static/attachments/genai/howto-singleagent/Microflow_IngestIntoKnowledgeBase.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/TicketHelper_Agent.png b/static/attachments/genai/howto-singleagent/TicketHelper_Agent.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/TicketHelper_Agent.png rename to static/attachments/genai/howto-singleagent/TicketHelper_Agent.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/agent-runtime.png b/static/attachments/genai/howto-singleagent/agent-runtime.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/agent-runtime.png rename to static/attachments/genai/howto-singleagent/agent-runtime.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/configure-knowledge-base.gif b/static/attachments/genai/howto-singleagent/configure-knowledge-base.gif similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/configure-knowledge-base.gif rename to static/attachments/genai/howto-singleagent/configure-knowledge-base.gif diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/runtime-RetrieveNumberOfTicketsInStatus.png b/static/attachments/genai/howto-singleagent/runtime-RetrieveNumberOfTicketsInStatus.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/runtime-RetrieveNumberOfTicketsInStatus.png rename to static/attachments/genai/howto-singleagent/runtime-RetrieveNumberOfTicketsInStatus.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/structure_singleagent.svg b/static/attachments/genai/howto-singleagent/structure_singleagent.svg similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-singleagent/structure_singleagent.svg rename to static/attachments/genai/howto-singleagent/structure_singleagent.svg diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-starterapp/starter_genai_interface.jpg b/static/attachments/genai/howto-starterapp/starter_genai_interface.jpg similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/genai-howto-starterapp/starter_genai_interface.jpg rename to static/attachments/genai/howto-starterapp/starter_genai_interface.jpg diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/mcp/mcp-client-server-architecture-mendix.png b/static/attachments/genai/mcp/mcp-client-server-architecture-mendix.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/mcp/mcp-client-server-architecture-mendix.png rename to static/attachments/genai/mcp/mcp-client-server-architecture-mendix.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/mcpserver/mcp_addprompt_example.png b/static/attachments/genai/mcpserver/mcp_addprompt_example.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/mcpserver/mcp_addprompt_example.png rename to static/attachments/genai/mcpserver/mcp_addprompt_example.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/mxgenAI-connector/mxgenaiconnector-configuration.png b/static/attachments/genai/mxgenAI-connector/mxgenaiconnector-configuration.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/mxgenAI-connector/mxgenaiconnector-configuration.png rename to static/attachments/genai/mxgenAI-connector/mxgenaiconnector-configuration.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/mxgenAI-connector/mxgenaiconnector-rag.png b/static/attachments/genai/mxgenAI-connector/mxgenaiconnector-rag.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/mxgenAI-connector/mxgenaiconnector-rag.png rename to static/attachments/genai/mxgenAI-connector/mxgenaiconnector-rag.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIKBMetadataSeparation.png b/static/attachments/genai/navigate_mxgenai/GenAIKBMetadataSeparation.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIKBMetadataSeparation.png rename to static/attachments/genai/navigate_mxgenai/GenAIKBMetadataSeparation.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIKnowledgeBaseResource.png b/static/attachments/genai/navigate_mxgenai/GenAIKnowledgeBaseResource.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIKnowledgeBaseResource.png rename to static/attachments/genai/navigate_mxgenai/GenAIKnowledgeBaseResource.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_Content.png b/static/attachments/genai/navigate_mxgenai/GenAIResource_Content.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_Content.png rename to static/attachments/genai/navigate_mxgenai/GenAIResource_Content.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_Details.png b/static/attachments/genai/navigate_mxgenai/GenAIResource_Details.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_Details.png rename to static/attachments/genai/navigate_mxgenai/GenAIResource_Details.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_KeyGeneration.png b/static/attachments/genai/navigate_mxgenai/GenAIResource_KeyGeneration.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_KeyGeneration.png rename to static/attachments/genai/navigate_mxgenai/GenAIResource_KeyGeneration.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_Keys.png b/static/attachments/genai/navigate_mxgenai/GenAIResource_Keys.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_Keys.png rename to static/attachments/genai/navigate_mxgenai/GenAIResource_Keys.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_TokenConsumptionMonitor.png b/static/attachments/genai/navigate_mxgenai/GenAIResource_TokenConsumptionMonitor.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/GenAIResource_TokenConsumptionMonitor.png rename to static/attachments/genai/navigate_mxgenai/GenAIResource_TokenConsumptionMonitor.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/genai-resource-team.png b/static/attachments/genai/navigate_mxgenai/genai-resource-team.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/navigate_mxgenai/genai-resource-team.png rename to static/attachments/genai/navigate_mxgenai/genai-resource-team.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/pgvector-knowledge-base/pgvector-embedandrepopulate.png b/static/attachments/genai/pgvector-knowledge-base/pgvector-embedandrepopulate.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/pgvector-knowledge-base/pgvector-embedandrepopulate.png rename to static/attachments/genai/pgvector-knowledge-base/pgvector-embedandrepopulate.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/prompt-engineering/prompt_types.png b/static/attachments/genai/prompt-engineering/prompt_types.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/prompt-engineering/prompt_types.png rename to static/attachments/genai/prompt-engineering/prompt_types.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/snowflake/StatementSetup.png b/static/attachments/genai/snowflake/StatementSetup.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/snowflake/StatementSetup.png rename to static/attachments/genai/snowflake/StatementSetup.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/snowflake/setup.png b/static/attachments/genai/snowflake/setup.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/snowflake/setup.png rename to static/attachments/genai/snowflake/setup.png diff --git a/static/attachments/appstore/platform-supported-content/modules/genai/snowflake/statement.png b/static/attachments/genai/snowflake/statement.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/modules/genai/snowflake/statement.png rename to static/attachments/genai/snowflake/statement.png