diff --git a/content/en/docs/control-center/entitlements/cloud-tokens.md b/content/en/docs/control-center/entitlements/cloud-tokens.md index b4b0daba084..d7194d2bd61 100644 --- a/content/en/docs/control-center/entitlements/cloud-tokens.md +++ b/content/en/docs/control-center/entitlements/cloud-tokens.md @@ -98,7 +98,7 @@ These tables show how many Mendix Cloud Tokens each CRP requires: ## GenAI Resource Packs {#grps} -GenAI Resource Packs provide turn-key access to Generative AI technology, delivered through Mendix Cloud. For the technical details of each GenAI Resource Pack (GRP), refer to [GenAI Resource Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/). +GenAI Resource Packs provide turn-key access to Generative AI technology, delivered through Mendix Cloud. For the technical details of each GenAI Resource Pack (GRP), refer to [GenAI Resource Packs](/agents/mx-cloud-genai/resource-packs/). | GenAI Model Resource Pack – Anthropic Claude Sonnet | Mendix Cloud Tokens | | --- | --: | diff --git a/content/en/docs/control-center/genai-resources-self-service.md b/content/en/docs/control-center/genai-resources-self-service.md index 142c399f013..7be62785aef 100644 --- a/content/en/docs/control-center/genai-resources-self-service.md +++ b/content/en/docs/control-center/genai-resources-self-service.md @@ -7,7 +7,7 @@ weight: 20 ## Introduction -The **GenAI Resources** section provides a detailed overview of all Mendix GenAI resources available within your company, allowing Mendix Admins to seamlessly provision and deprovision GenAI resources as needed. With this feature, Mendix Admins can efficiently manage all GenAI resources directly within the [Control Center](https://controlcenter.mendix.com/index.html) through a self-service capability, ensuring streamlined operations and improved governance. For more information, refer to [Accessing GenAI Resources](/appstore/modules/genai/mx-cloud-genai/resource-packs/#accessing-genai-resources). +The **GenAI Resources** section provides a detailed overview of all Mendix GenAI resources available within your company, allowing Mendix Admins to seamlessly provision and deprovision GenAI resources as needed. With this feature, Mendix Admins can efficiently manage all GenAI resources directly within the [Control Center](https://controlcenter.mendix.com/index.html) through a self-service capability, ensuring streamlined operations and improved governance. For more information, refer to [Accessing GenAI Resources](/agents/mx-cloud-genai/resource-packs/#accessing-genai-resources). ## Prerequisites @@ -44,13 +44,13 @@ When provisioning a new resource, enter the following information: * **Display Name** – The name of the resource. * **Environment** – The environment for which the resource is created, such as Test, Acceptance, or Production. * **Mendix Cloud Region** – The cloud region where the resource will be hosted. -* **Cross-region inference** – Specifies whether the selected model supports cross-region inference. For more information, refer to the [Settings](/appstore/modules/genai/mx-cloud-genai/Navigate-MxGenAI/#settings) section of *Navigate through the Mendix Cloud GenAI Portal*. +* **Cross-region inference** – Specifies whether the selected model supports cross-region inference. For more information, refer to the [Settings](/agents/mx-cloud-genai/Navigate-MxGenAI/#settings) section of *Navigate through the Mendix Cloud GenAI Portal*. * **Available Text Generation Models** – A list of the supported models you can choose from, for example, Anthropic Claude Sonnet V4. * **Size** – The subscription plan with the tokens used for resources. * **User** – The name of the user for whom the provisioning was initially created. * **Email** – The user's email address. -After filling in the required fields, you can review all the entered details in the **Resource Specification**. To learn more, refer to [Mendix Cloud GenAI Resource Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/). +After filling in the required fields, you can review all the entered details in the **Resource Specification**. To learn more, refer to [Mendix Cloud GenAI Resource Packs](/agents/mx-cloud-genai/resource-packs/). Click **Provision Resource** to finalize the process. You are taken back to the **GenAI Resources** page, where the newly created resource is displayed in the list. Selecting the newly provisioned resource opens its details directly in the Mendix Cloud GenAI Portal in a new tab. diff --git a/content/en/docs/marketplace/genai/_index.md b/content/en/docs/genai/_index.md similarity index 76% rename from content/en/docs/marketplace/genai/_index.md rename to content/en/docs/genai/_index.md index 256dcf7b1fa..9929cc40aab 100644 --- a/content/en/docs/marketplace/genai/_index.md +++ b/content/en/docs/genai/_index.md @@ -1,9 +1,11 @@ --- title: "Enrich Your Mendix App with Agentic Capabilities" -url: /appstore/modules/genai/ +url: /agents/ linktitle: "Agents" description: "Describes how to integrate agentic and generative AI into Mendix applications using Agents Kit components. Provides a catalog of available starter apps, showcase apps, connectors, modules, and models." weight: 7 +aliases: + - /appstore/modules/genai/ --- ## Introduction @@ -24,10 +26,10 @@ These pages focus on integrating agentic and generative AI into applications usi Start using AI capabilities based on your experience level: -* **Familiar with generative AI?** Start building with the [How to Build Smarter Apps Using GenAI](/appstore/modules/genai/how-to/) guides. +* **Familiar with generative AI?** Start building with the [How to Build Smarter Apps Using GenAI](/agents/how-to/) guides. * **New to generative AI?** Follow these steps: - 1. Familiarize yourself with the [core concepts](/appstore/modules/genai/get-started/), including prompt engineering, retrieval augmented generation (RAG), and function calling (ReAct). + 1. Familiarize yourself with the [core concepts](/agents/get-started/), including prompt engineering, retrieval augmented generation (RAG), and function calling (ReAct). 2. Choose an architecture for your use case. See the [Components and Models](#architecture) section for available options. 3. Obtain the required credentials for your selected architecture. @@ -57,10 +59,10 @@ Integrate AI capabilities into your applications with Agents Kit, a collection o | Asset | Description | Studio Pro Version | | --- | --- | --- | -| [Agent Commons](/appstore/modules/genai/genai-for-mx/agent-commons/) | Build agentic functionality by defining, testing, and evaluating agents at runtime. Iterate on prompts and agent configurations without app redeployment through the integrated Agent Builder UI. | 10.24 | -| [Agent Editor](/appstore/modules/genai/genai-for-mx/agent-editor/) | Define agents as version-controlled documents in Studio Pro at design time. Author prompts, configure tools and knowledge bases, test locally, and deploy agents as part of your app model. | 11.9 | -| [Conversational UI](/appstore/modules/genai/conversational-ui/) | Create chat interfaces for full-screen, sidebar, or modal GenAI conversations. Monitor token consumption and trace interactions with UI features built on GenAI Commons. | 10.24 | -| [GenAI Commons](/appstore/modules/genai/commons/) | Use common capabilities that allow all GenAI connectors to be integrated with the other modules. You can also implement your own connector based on this module. | 10.24 | +| [Agent Commons](/agents/genai-for-mx/agent-commons/) | Build agentic functionality by defining, testing, and evaluating agents at runtime. Iterate on prompts and agent configurations without app redeployment through the integrated Agent Builder UI. | 10.24 | +| [Agent Editor](/agents/genai-for-mx/agent-editor/) | Define agents as version-controlled documents in Studio Pro at design time. Author prompts, configure tools and knowledge bases, test locally, and deploy agents as part of your app model. | 11.9 | +| [Conversational UI](/agents/genai-for-mx/conversational-ui/) | Create chat interfaces for full-screen, sidebar, or modal GenAI conversations. Monitor token consumption and trace interactions with UI features built on GenAI Commons. | 10.24 | +| [GenAI Commons](/agents/genai-for-mx/commons/) | Use common capabilities that allow all GenAI connectors to be integrated with the other modules. You can also implement your own connector based on this module. | 10.24 | #### Connector Modules {#connectors} @@ -69,18 +71,18 @@ All connectors depend on GenAI Commons and can be used with the other [core modu | Asset | Description | Studio Pro Version | | --- | --- | --- | | [Amazon Bedrock Connector](/appstore/modules/aws/amazon-bedrock/) | Connect to Amazon Bedrock. | 10.24 | -| [Google Gemini Connector](/appstore/modules/genai/reference-guide/external-connectors/gemini/) | Connect to Google Gemini. | 10.24 | -| [Mendix Cloud GenAI Connector](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/) | Connect to Mendix Cloud and use Mendix Cloud GenAI resource packs directly within your Mendix application. | 10.24 | -| [Mistral Connector](/appstore/modules/genai/reference-guide/external-connectors/mistral/) | Connect to Mistral AI. | 10.24 | -| [OpenAI Connector](/appstore/modules/genai/openai/) | Connect to OpenAI and Microsoft Foundry. | 10.24 | -| [PgVector Knowledge Base](/appstore/modules/genai/pgvector/) | Manage and interact with a PostgreSQL PgVector knowledge base. | 10.24 | +| [Google Gemini Connector](/agents/reference-guide/external-connectors/gemini/) | Connect to Google Gemini. | 10.24 | +| [Mendix Cloud GenAI Connector](/agents/mx-cloud-genai/mxgenai-connector/) | Connect to Mendix Cloud and use Mendix Cloud GenAI resource packs directly within your Mendix application. | 10.24 | +| [Mistral Connector](/agents/reference-guide/external-connectors/mistral/) | Connect to Mistral AI. | 10.24 | +| [OpenAI Connector](/agents/reference-guide/external-connectors/openai/) | Connect to OpenAI and Microsoft Foundry. | 10.24 | +| [PgVector Knowledge Base](/agents/reference-guide/external-connectors/pgvector/) | Manage and interact with a PostgreSQL PgVector knowledge base. | 10.24 | #### MCP Modules {#mcp-modules} | Asset | Description | Studio Pro Version | | --- | --- | --- | -| [MCP Client](/appstore/modules/genai/mcp-modules/mcp-client/) | Access tools and prompts available via MCP inside your Mendix app and add them to LLM requests. | 10.24 | -| [MCP Server](/appstore/modules/genai/mcp-modules/mcp-server/) | Make your Mendix business logic available to any agent in your enterprise landscape. Expose reusable prompts, including the ability to use prompt variables. List and run actions implemented in the application as a tool. | 10.24 | +| [MCP Client](/agents/mcp-modules/mcp-client/) | Access tools and prompts available via MCP inside your Mendix app and add them to LLM requests. | 10.24 | +| [MCP Server](/agents/mcp-modules/mcp-server/) | Make your Mendix business logic available to any agent in your enterprise landscape. Expose reusable prompts, including the ability to use prompt variables. List and run actions implemented in the application as a tool. | 10.24 | {{% alert color="info" %}} Older versions of the modules and the GenAI Showcase App are available in Studio Pro 9.24.2. @@ -94,8 +96,8 @@ Mendix [connectors](#connectors) offer direct support for the following models. | Models | Category | Input | Output | Additional Capabilities | | --- | --- | --- | --- | --- | -| [Anthropic Claude Sonnet Models](/appstore/modules/genai/mx-cloud-genai/resource-packs/#supported-models) | Chat completions | text, image, document | text | Function calling | -| [Cohere Embed Models](/appstore/modules/genai/mx-cloud-genai/resource-packs/#supported-models) | Embeddings | text | embeddings | | +| [Anthropic Claude Sonnet Models](/agents/mx-cloud-genai/resource-packs/#supported-models) | Chat completions | text, image, document | text | Function calling | +| [Cohere Embed Models](/agents/mx-cloud-genai/resource-packs/#supported-models) | Embeddings | text | embeddings | | #### Microsoft Foundry (OpenAI) / OpenAI @@ -151,4 +153,4 @@ In addition to the models listed above, you can also connect to other models by * To connect to other [foundation models](https://docs.aws.amazon.com/bedrock/latest/userguide/models-features.html) and implement them in your app, use the [Amazon Bedrock connector](/appstore/modules/aws/amazon-bedrock/). * To connect to [Snowflake Cortex LLM](https://docs.snowflake.com/en/sql-reference/functions/complete-snowflake-cortex) functions, [configure the Snowflake AI Data Connector for Snowflake Cortex Analyst](/appstore/connectors/snowflake/snowflake-ai-data-connector/#cortex-analyst). -* To implement your own connector that is compatible with the other components, use the [GenAI Commons](/appstore/modules/genai/commons/) interface and see [How to Build Your Own GenAI Connector](/appstore/modules/genai/how-to/byo-connector/). +* To implement your own connector that is compatible with the other components, use the [GenAI Commons](/agents/genai-for-mx/commons/) interface and see [How to Build Your Own GenAI Connector](/agents/how-to/byo-connector/). diff --git a/content/en/docs/marketplace/genai/concepts/_index.md b/content/en/docs/genai/concepts/_index.md similarity index 88% rename from content/en/docs/marketplace/genai/concepts/_index.md rename to content/en/docs/genai/concepts/_index.md index a92df9689d0..ba6c2c43243 100644 --- a/content/en/docs/marketplace/genai/concepts/_index.md +++ b/content/en/docs/genai/concepts/_index.md @@ -1,11 +1,12 @@ --- title: "GenAI Concepts" -url: /appstore/modules/genai/get-started/ +url: /agents/get-started/ linktitle: "GenAI Concepts" weight: 10 description: "Describes the concepts behind generative AI and what you might implement with it." aliases: - /appstore/modules/genai/using-gen-ai/ + - /appstore/modules/genai/get-started/ --- ## Introduction @@ -41,7 +42,7 @@ For example, you can use an LLM to do: * Translate languages * Simulate characters for games -Some LLMs, such as [Anthropic Claude](/appstore/modules/aws/amazon-bedrock/) and [GPT-4o](/appstore/modules/genai/openai/), can also use one or more images as input, allowing you to ask questions about images for use cases such as object recognition, image to text (OCR), and validating whether an image is as intended. +Some LLMs, such as [Anthropic Claude](/appstore/modules/aws/amazon-bedrock/) and [GPT-4o](/agents/reference-guide/external-connectors/openai/), can also use one or more images as input, allowing you to ask questions about images for use cases such as object recognition, image to text (OCR), and validating whether an image is as intended. #### Embeddings Generation @@ -64,7 +65,7 @@ Adding knowledge bases helps to tailor response generation to specific contexts Knowledge bases are often used for: -1. [Retrieval Augmented Generation (RAG)](/appstore/modules/genai/rag/) retrieves relevant knowledge from the knowledge base, incorporates it into a prompt, and sends it to the model to generate a response. +1. [Retrieval Augmented Generation (RAG)](/agents/rag/) retrieves relevant knowledge from the knowledge base, incorporates it into a prompt, and sends it to the model to generate a response. 2. Semantic search enables advanced search capabilities by considering the semantic meaning of the text, going beyond exact and approximate matching. It allows the knowledge base to be searched for similar chunks effectively. ### What is an LLM Not? @@ -95,7 +96,7 @@ Prompt engineering is the activity of designing the input text that will be sent * the relevant input data (from the end-user or passed from a microflow) * the requested output structure (for example, tone of voice or a JSON format) -With prompt engineering you can guide the model to generate accurate, applicable, and coherent responses. The quality of your prompts directly influences the quality of the response. See [Prompt Engineering](/appstore/modules/genai/prompt-engineering/) to learn more about prompt engineering. +With prompt engineering you can guide the model to generate accurate, applicable, and coherent responses. The quality of your prompts directly influences the quality of the response. See [Prompt Engineering](/agents/prompt-engineering/) to learn more about prompt engineering. ## Retrieval Augmented Generation (RAG) {#rag} @@ -124,9 +125,9 @@ For example, Amazon Bedrock has the concept of [knowledge bases for Amazon Bedro If your chosen architecture does not have fully-integrated RAG capabilities, or if you want tighter control of the RAG process, you can create and use your own knowledge base. -In this case you will have to index and store your knowledge yourself, and index your input data in order to retrieve the information with which you want to augment your prompt. For this you can use the [PgVector Knowledge Base module](/appstore/modules/genai/pgvector/) in combination with an embeddings model, to maintain and use your knowledge base. +In this case you will have to index and store your knowledge yourself, and index your input data in order to retrieve the information with which you want to augment your prompt. For this you can use the [PgVector Knowledge Base module](/agents/reference-guide/external-connectors/pgvector/) in combination with an embeddings model, to maintain and use your knowledge base. -An example of how this can be done with OpenAI is described in [RAG Example Implementation in the GenAI Showcase App](/appstore/modules/genai/rag/). +An example of how this can be done with OpenAI is described in [RAG Example Implementation in the GenAI Showcase App](/agents/rag/). ### The ReAct Pattern (Function Calling) {#react} @@ -134,7 +135,7 @@ Another way to provide the LLM with additional information and capabilities is t This microflow runs in the context of the user, allowing you to make sure that it only shows data that is relevant for the current user. You can also use it to execute actions on behalf of the user, or interact with page that the user is looking at. -See [Function Calling](/appstore/modules/genai/function-calling/) for more information on ReAct. You can see ReAct implemented in the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) where the `GetInformationForTicketID` microflow allows an LLM to answer a question like "What is the status of ticket 42?". +See [Function Calling](/agents/function-calling/) for more information on ReAct. You can see ReAct implemented in the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) where the `GetInformationForTicketID` microflow allows an LLM to answer a question like "What is the status of ticket 42?". This pattern is supported both by [OpenAI](https://platform.openai.com/docs/guides/function-calling) and [various models available on Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html#conversation-inference-supported-models-features). @@ -142,6 +143,6 @@ This pattern is supported both by [OpenAI](https://platform.openai.com/docs/guid The agent concept combines prompts, RAG (Retrieval Augmented Generation), and ReAct patterns in a single call. These components of agent-based logic are all supported by our Agents Kit. Using LLMs, business logic can be enriched by enabling AI agents to reason and autonomously execute actions while being grounded in domain-specific knowledge. With Mendix's Agents Kit, agents become a seamless part of your application's logic. -For an overview of the components that help you get started, refer to [the Agents Kit overview](/appstore/modules/genai/#architecture). +For an overview of the components that help you get started, refer to [the Agents Kit overview](/agents/#architecture). In addition, you can integrate agentic behavior in a Mendix app by leveraging external agents through cloud infrastructure providers. In this case, the Mendix app does not store the agent definition. Instead, it only calls the external agent. For example, [Agents for Amazon Bedrock](https://aws.amazon.com/bedrock/agents/) provides this functionality for Amazon Bedrock. You can find out how to use this in your Mendix application in [Invoking an Agent with the InvokeAgent Operation](/appstore/modules/aws/amazon-bedrock/#invokeagent) section of the *Amazon Bedrock* module documentation. diff --git a/content/en/docs/marketplace/genai/concepts/agents.md b/content/en/docs/genai/concepts/agents.md similarity index 94% rename from content/en/docs/marketplace/genai/concepts/agents.md rename to content/en/docs/genai/concepts/agents.md index ac7b9608c85..d4c05e5d872 100644 --- a/content/en/docs/marketplace/genai/concepts/agents.md +++ b/content/en/docs/genai/concepts/agents.md @@ -1,16 +1,18 @@ --- title: "GenAI Agents" -url: /appstore/modules/genai/agents/ +url: /agents/agents/ linktitle: "GenAI Agents" weight: 40 description: "Describes Agents and Agentic Patterns as used with generative AI in Mendix" +aliases: + - /appstore/modules/genai/agents/ --- ## Introduction GenAI agents are autonomous computational systems that perform actions in response to triggers such as user input or system events. These agents apply reasoning, execute tools (functions), and leverage data from knowledge bases to determine the most appropriate responses. They may be adaptive (learning-based) or task-specific, designed to automate processes and improve operational efficiency. -If you are interested in creating your own agent, explore the guide on [Creating Your First Agent](/appstore/modules/genai/how-to/creating-agents/). It walks you through how to combine prompt engineering, function calling, and knowledge base integration—all within a Mendix app. +If you are interested in creating your own agent, explore the guide on [Creating Your First Agent](/agents/how-to/creating-agents/). It walks you through how to combine prompt engineering, function calling, and knowledge base integration—all within a Mendix app. ## Multi-Agent Systems @@ -63,7 +65,7 @@ The system takes a user prompt as input, either entered directly or crafted usin Start from the [Agent Builder Starter App](https://marketplace.mendix.com/link/component/240369) from the Marketplace or add the [Agent Commons module](https://marketplace.mendix.com/link/component/240371) to your existing app and get started with agents and agentic patterns in Mendix. -Read more about [Agent Commons](/appstore/modules/genai/genai-for-mx/agent-commons/) in the GenAI reference guide. +Read more about [Agent Commons](/agents/genai-for-mx/agent-commons/) in the GenAI reference guide. ### GenAI Showcase App diff --git a/content/en/docs/marketplace/genai/concepts/model-context-protocol.md b/content/en/docs/genai/concepts/model-context-protocol.md similarity index 87% rename from content/en/docs/marketplace/genai/concepts/model-context-protocol.md rename to content/en/docs/genai/concepts/model-context-protocol.md index ffe30df77b7..ab4d9a357fe 100644 --- a/content/en/docs/marketplace/genai/concepts/model-context-protocol.md +++ b/content/en/docs/genai/concepts/model-context-protocol.md @@ -1,14 +1,16 @@ --- title: "Model Context Protocol (MCP)" -url: /appstore/modules/genai/mcp/ +url: /agents/mcp/ linktitle: "Model Context Protocol (MCP)" weight: 50 description: "This document describes the Model Context Protocol (MCP) and how it is used in Mendix." +aliases: + - /appstore/modules/genai/mcp/ --- ## Introduction -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. +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](/agents/mcp-modules/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/genai/mcp/mcp-client-server-architecture-mendix.png" alt="" >}} @@ -22,7 +24,7 @@ To understand the basics of MCP, it is important to know the common terminology. ### MCP Host -The MCP host is typically the application that facilitates interaction with LLMs. While a chat interface is the most common use case, the host can support a variety of interaction use cases. The host takes care of the communication between users and models, while enabling users to manage their AI use, for example, managing credentials or historical chat conversations. A host can be a Mendix application that uses [GenAI Commons](/appstore/modules/genai/genai-for-mx/commons/) and a compatible connector to interact with LLMs, for example, a chat interface built with [Conversational UI](/appstore/modules/genai/genai-for-mx/conversational-ui/). +The MCP host is typically the application that facilitates interaction with LLMs. While a chat interface is the most common use case, the host can support a variety of interaction use cases. The host takes care of the communication between users and models, while enabling users to manage their AI use, for example, managing credentials or historical chat conversations. A host can be a Mendix application that uses [GenAI Commons](/agents/genai-for-mx/commons/) and a compatible connector to interact with LLMs, for example, a chat interface built with [Conversational UI](/agents/genai-for-mx/conversational-ui/). ### MCP Client @@ -54,8 +56,8 @@ Furthermore, an MCP Client example teaches you how to establish a connection to ## Read More -* The [MCP Server module](/appstore/modules/genai/mcp-modules/mcp-server/) -* The [MCP Client module](/appstore/modules/genai/mcp-modules/mcp-client/) +* The [MCP Server module](/agents/mcp-modules/mcp-server/) +* The [MCP Client module](/agents/mcp-modules/mcp-client/) * The [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) provides an example on how to expose microflows as tools via the MCP Server module. * The official [MCP docs](https://modelcontextprotocol.io/introduction) * The [MCP Java SDK GitHub Repository](https://github.com/modelcontextprotocol/java-sdk) diff --git a/content/en/docs/marketplace/genai/concepts/prompt-engineering.md b/content/en/docs/genai/concepts/prompt-engineering.md similarity index 96% rename from content/en/docs/marketplace/genai/concepts/prompt-engineering.md rename to content/en/docs/genai/concepts/prompt-engineering.md index f01c605f4ee..36b6f73eae3 100644 --- a/content/en/docs/marketplace/genai/concepts/prompt-engineering.md +++ b/content/en/docs/genai/concepts/prompt-engineering.md @@ -1,9 +1,11 @@ --- title: "Prompt Engineering" -url: /appstore/modules/genai/prompt-engineering/ +url: /agents/prompt-engineering/ linktitle: "Prompt Engineering" weight: 10 description: "Describes Prompt Engineering as used with generative AI in Mendix" +aliases: + - /appstore/modules/genai/prompt-engineering/ --- ## Introduction @@ -37,9 +39,9 @@ A user prompt is another fundamental type. It is the user’s input, question, o ### Context Prompt -Depending on the project or use case, adding contextual information to the model may be necessary. Normally, this information, called context prompt or conversation history, is sent in the same interaction as the system and user prompt. It captures the historical information of the conversation to maintain coherence with the end user and be context aware. In the Mendix app chatbot setup, developers configure this within their application, and it is included in the request sent to the LLM using the [Chat Completions (with history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-with-history) operation. +Depending on the project or use case, adding contextual information to the model may be necessary. Normally, this information, called context prompt or conversation history, is sent in the same interaction as the system and user prompt. It captures the historical information of the conversation to maintain coherence with the end user and be context aware. In the Mendix app chatbot setup, developers configure this within their application, and it is included in the request sent to the LLM using the [Chat Completions (with history)](/agents/genai-for-mx/commons/#chat-completions-with-history) operation. -To understand this concept, imagine a user interacting with a chatbot while asking, *How should I start?*. If in previous interactions, the user asked about Mendix, the LLM will understand that the question refers to the Mendix apps. In cases where the context is not needed, such as in command-based interactions where the inquiry could be: *Turn on the lights* and the LLM does not need any historical conversation, developers can use operations like [Chat Completions (without history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-without-history). +To understand this concept, imagine a user interacting with a chatbot while asking, *How should I start?*. If in previous interactions, the user asked about Mendix, the LLM will understand that the question refers to the Mendix apps. In cases where the context is not needed, such as in command-based interactions where the inquiry could be: *Turn on the lights* and the LLM does not need any historical conversation, developers can use operations like [Chat Completions (without history)](/agents/genai-for-mx/commons/#chat-completions-without-history). ## Typical Components of a Prompt @@ -73,7 +75,7 @@ After telling the model what to do, you can include additional context. This can * information about the end-user of your application – for example their language, role, department, specific database records * context information – for example, all data related to an object the end-user is looking at -* knowledge coming from [Retrieval Augmented Generation (RAG)](/appstore/modules/genai/get-started/#rag) +* knowledge coming from [Retrieval Augmented Generation (RAG)](/agents/get-started/#rag) Tip: you can provide information in a JSON or XML structure to ensure the information is presented in a consistent way. From Mendix apps, you can use [Export Mappings](/refguide/export-mappings/) to create JSON structures and [Export XML Documents](/howto/integration/export-xml-documents/) to create XML structures. @@ -200,7 +202,7 @@ You are a writer who specializes in marketing content. ### Tell the Model How to Use Provided Tools -When using features like [function calling](/appstore/modules/genai/function-calling/), give the functions a descriptive name. Also, instruct the model on what functions can do and how they should be used. This will guide the LLM to call the functions at the right moment and use the response correctly. +When using features like [function calling](/agents/function-calling/), give the functions a descriptive name. Also, instruct the model on what functions can do and how they should be used. This will guide the LLM to call the functions at the right moment and use the response correctly. For example, say you have a tool called `GetTicketInformationForIdentifier` which retrieves information from a specific support ticket in a database; you could add the following to the prompt: diff --git a/content/en/docs/marketplace/genai/concepts/rag-example-implementation.md b/content/en/docs/genai/concepts/rag-example-implementation.md similarity index 77% rename from content/en/docs/marketplace/genai/concepts/rag-example-implementation.md rename to content/en/docs/genai/concepts/rag-example-implementation.md index 25f6c38f2f6..f52a4b7664f 100644 --- a/content/en/docs/marketplace/genai/concepts/rag-example-implementation.md +++ b/content/en/docs/genai/concepts/rag-example-implementation.md @@ -1,21 +1,23 @@ --- title: "RAG in a Mendix App" -url: /appstore/modules/genai/rag/ +url: /agents/rag/ linktitle: "Retrieval Augmented Generation (RAG)" weight: 30 description: "Describes the retrieval augmented generation (RAG) pattern and the example implementation in the GenAI Showcase App" +aliases: + - /appstore/modules/genai/rag/ --- ## Introduction {#introduction} Retrieval augmented generation (RAG) is a framework for an AI-based search using a private or external knowledge base that combines embeddings-based knowledge retrieval with a text generation model. The starting point is a collection of data to be considered as the private knowledge base. The final goal is that an end user of the app can ask questions about the data and the assistant's responses are only be based on this knowledge base. -{{% alert color="info" %}}This document describes how to set up RAG with PgVector. If you want to use the Bedrock Retrieval Augmented Generation capabilities, see [Bedrock Retrieval Augmented Generation](/appstore/modules/genai/get-started/#rag).{{% /alert %}} +{{% alert color="info" %}}This document describes how to set up RAG with PgVector. If you want to use the Bedrock Retrieval Augmented Generation capabilities, see [Bedrock Retrieval Augmented Generation](/agents/get-started/#rag).{{% /alert %}} ### Terminology -To understand the basics of the RAG pattern, it is important to know the common terminology. As the [showcase example](https://marketplace.mendix.com/link/component/220475) and the relevant platform-supported modules depend on [GenAI Commons](/appstore/modules/genai/commons/), relevant entities will be linked for reference. +To understand the basics of the RAG pattern, it is important to know the common terminology. As the [showcase example](https://marketplace.mendix.com/link/component/220475) and the relevant platform-supported modules depend on [GenAI Commons](/agents/genai-for-mx/commons/), relevant entities will be linked for reference. #### Embedding vector @@ -25,7 +27,7 @@ Every LLM will have its algorithm for generating vectors, but the convention is #### Chunk -In the context of GenAI Commons in a Mendix app, embedding vectors are generated using a [Chunk](/appstore/modules/genai/genai-for-mx/commons/#chunk-entity). Each object represents a discrete piece of information and contains its original string representation, as well as (after the embedding operation) the vector representation of that string according to the LLM of choice. +In the context of GenAI Commons in a Mendix app, embedding vectors are generated using a [Chunk](/agents/genai-for-mx/commons/#chunk-entity). Each object represents a discrete piece of information and contains its original string representation, as well as (after the embedding operation) the vector representation of that string according to the LLM of choice. #### Knowledge base @@ -35,11 +37,11 @@ In the context of GenAI Commons in a Mendix app, we use the [PgVector Knowledge #### Knowledge base chunk -In most use cases, more information needs to be stored than just the original input string and its vector representation. A [KnowledgeBaseChunk](/appstore/modules/genai/genai-for-mx/commons/#knowledgebasechunk-entity) is an extension of [Chunk](/appstore/modules/genai/genai-for-mx/commons/#chunk-entity) that can hold additional information that is typically required for useful insertion and retrieval from a Mendix application. +In most use cases, more information needs to be stored than just the original input string and its vector representation. A [KnowledgeBaseChunk](/agents/genai-for-mx/commons/#knowledgebasechunk-entity) is an extension of [Chunk](/agents/genai-for-mx/commons/#chunk-entity) that can hold additional information that is typically required for useful insertion and retrieval from a Mendix application. #### Metadata -If additional conventional filtering is needed during similarity searches, such additional data can be stored in the knowledge base as well. [Metadata](/appstore/modules/genai/genai-for-mx/commons/#metadata-entity) objects are key-value pairs that are inserted along with the chunks and contain this additional information. The filtering is applied on an exact string-match basis for the key-value pair. Records are only retrieved if they match all records of the metadata in the collection provided as part of the search step. +If additional conventional filtering is needed during similarity searches, such additional data can be stored in the knowledge base as well. [Metadata](/agents/genai-for-mx/commons/#metadata-entity) objects are key-value pairs that are inserted along with the chunks and contain this additional information. The filtering is applied on an exact string-match basis for the key-value pair. Records are only retrieved if they match all records of the metadata in the collection provided as part of the search step. {{% alert color="info" %}}The example described in the remainder of this document does not include the more advanced use case of metadata filtering nor does it cover the construction of complex input strings. If you want to see how this can work in practice, take a look at the *RAG with Semantic Search on Historical Data* example in the [GenAI Showcase app](https://marketplace.mendix.com/link/component/220475). {{% /alert %}} @@ -67,9 +69,9 @@ In summary, in the first step, you need to provide the private knowledge base, s ### Prerequisites {#prerequisites} -Before you start experimenting with the end-to-end process, make sure that you have access to a (remote) PostgreSQL database with the [pgvector](https://github.com/pgvector/pgvector) extension available. If you do not have one yet, [learn more](/appstore/modules/genai/pgvector-setup/) about how a PostgreSQL vector database can be set up to explore use cases with knowledge bases. +Before you start experimenting with the end-to-end process, make sure that you have access to a (remote) PostgreSQL database with the [pgvector](https://github.com/pgvector/pgvector) extension available. If you do not have one yet, [learn more](/agents/reference-guide/external-connectors/pgvector-setup/) about how a PostgreSQL vector database can be set up to explore use cases with knowledge bases. -{{% alert color="info" %}}If you have access to an Amazon Web Services (AWS) account or Microsoft Azure account, Mendix recommends you use a setup described in the [Creating a PostgreSQL Database with Amazon RDS](/appstore/modules/genai/reference-guide/external-connectors/pgvector-setup/#aws-database-create) or [Managing a PostgreSQL Database with Microsoft Azure](/appstore/modules/genai/reference-guide/external-connectors/pgvector-setup/#azure-database-create) section. This is convenient, since these PostgreSQL databases in the cloud have the required pgvector extension available by default.{{% /alert %}} +{{% alert color="info" %}}If you have access to an Amazon Web Services (AWS) account or Microsoft Azure account, Mendix recommends you use a setup described in the [Creating a PostgreSQL Database with Amazon RDS](/agents/reference-guide/external-connectors/pgvector-setup/#aws-database-create) or [Managing a PostgreSQL Database with Microsoft Azure](/agents/reference-guide/external-connectors/pgvector-setup/#azure-database-create) section. This is convenient, since these PostgreSQL databases in the cloud have the required pgvector extension available by default.{{% /alert %}} ### Steps {#steps} @@ -77,7 +79,7 @@ Before you start experimenting with the end-to-end process, make sure that you h 2. Go to the **Retrieval Augmented Generation** example and read **Step 1: Introduction**. -3. [Set Up a PostgreSQL vector database](/appstore/modules/genai/pgvector-setup/) and configure the connection in **Step 2: Vector Database Configuration**. +3. [Set Up a PostgreSQL vector database](/agents/reference-guide/external-connectors/pgvector-setup/) and configure the connection in **Step 2: Vector Database Configuration**. 4. Go to **Step 3: Knowledge Base** and create embeddings from a text and store. You can use our default text about ornamental flowering plants, or paste your own content. @@ -90,11 +92,11 @@ Before you start experimenting with the end-to-end process, make sure that you h {{% alert color="info" %}} -The GenAI Showcase App uses the Mendix [PgVector Knowledge Base](https://marketplace.mendix.com/link/component/225063) module from the Marketplace to run queries and statements on your remote database. If you want to know more about this or if you are looking for certain technical details, see [PgVector Knowledge Base](/appstore/modules/genai/pgvector/). +The GenAI Showcase App uses the Mendix [PgVector Knowledge Base](https://marketplace.mendix.com/link/component/225063) module from the Marketplace to run queries and statements on your remote database. If you want to know more about this or if you are looking for certain technical details, see [PgVector Knowledge Base](/agents/reference-guide/external-connectors/pgvector/). The GenAI Showcase App uses this module to take care of creating the required tables in the remote vector database, including the open-source extension called pgvector. If you want to know more about the extension and how the tables look like in combination with this extension, see the [pgvector source code and documentation on GitHub](https://github.com/pgvector/pgvector). -If you want to know more about RAG, embeddings, or [vector databases](/appstore/modules/genai/pgvector-setup/), make sure to review the links on the **Resources** page of the GenAI Showcase App or in the [Read More](#read-more) section. +If you want to know more about RAG, embeddings, or [vector databases](/agents/reference-guide/external-connectors/pgvector-setup/), make sure to review the links on the **Resources** page of the GenAI Showcase App or in the [Read More](#read-more) section. {{% /alert %}} @@ -104,9 +106,9 @@ This section lists some general key points that apply regardless of which archit If you would like to build your own RAG setup, feel free to learn from the GenAI Showcase App and start building your own app. Below you can find the key takeaways from the GenAI Showcase App: -* For RAG, you need a storage space for high-dimensional embedding vectors outside of your normal Mendix app database. Typically, this is a remote vector database. In order to connect to it, the GenAI Showcase App uses the Mendix database connector. See [Vector Database Setup](/appstore/modules/genai/pgvector-setup/) for more details. +* For RAG, you need a storage space for high-dimensional embedding vectors outside of your normal Mendix app database. Typically, this is a remote vector database. In order to connect to it, the GenAI Showcase App uses the Mendix database connector. See [Vector Database Setup](/agents/reference-guide/external-connectors/pgvector-setup/) for more details. -* The GenAI Showcase App relies on a PostgreSQL database with the pgvector extension included. In such a setup you can similarly rely on the [PgVector Knowledge Base module](/appstore/modules/genai/pgvector/) to take care of creating and executing the right queries. If you choose to use a different type of vector database, the database queries and statements, which you will have to perform, should cover at least the following: +* The GenAI Showcase App relies on a PostgreSQL database with the pgvector extension included. In such a setup you can similarly rely on the [PgVector Knowledge Base module](/agents/reference-guide/external-connectors/pgvector/) to take care of creating and executing the right queries. If you choose to use a different type of vector database, the database queries and statements, which you will have to perform, should cover at least the following: * Include the vector extension if applicable for the chosen database type (create extension). * Create tables to store the embedding vectors (create table). @@ -121,7 +123,7 @@ If you would like to build your own RAG setup, feel free to learn from the GenAI * How you construct the input string affects similarity search results. In the similarity search example for **tickets** in the showcase application, the input string at the time of insertion is a concatenation of multiple attributes of each ticket record in the Mendix database. However, in the search step, the user's input—possibly just a brief description—is used to find similar tickets. While this discrepancy may lower overall similarity, the most relevant records will still appear at the top. -{{% alert color="info" %}}Reusable queries in the form of SQL statements are available in the source code of the [PgVector Knowledge Base module](/appstore/modules/genai/pgvector/) which comes automatically with GenAI Showcase App.{{% /alert %}} +{{% alert color="info" %}}Reusable queries in the form of SQL statements are available in the source code of the [PgVector Knowledge Base module](/agents/reference-guide/external-connectors/pgvector/) which comes automatically with GenAI Showcase App.{{% /alert %}} ## Read More {#read-more} diff --git a/content/en/docs/marketplace/genai/concepts/tool-calling.md b/content/en/docs/genai/concepts/tool-calling.md similarity index 88% rename from content/en/docs/marketplace/genai/concepts/tool-calling.md rename to content/en/docs/genai/concepts/tool-calling.md index 1351556269a..dd18644c1e2 100644 --- a/content/en/docs/marketplace/genai/concepts/tool-calling.md +++ b/content/en/docs/genai/concepts/tool-calling.md @@ -1,9 +1,11 @@ --- title: "Tool Calling" -url: /appstore/modules/genai/function-calling/ +url: /agents/function-calling/ linktitle: "Tool Calling" weight: 20 description: "Describes tool calling in Mendix" +aliases: + - /appstore/modules/genai/function-calling/ --- ## Introduction {#introduction} @@ -31,17 +33,17 @@ For more general information on this topic, see [OpenAI: Function Calling](https ### User Control {#user-control} -Sometimes, tool calls should not be executed immediately, and should first require confirmation from the user, for example, if actions are taken on behalf of the user such as sending an email or triggering a workflow. In such cases, tools can be configured for [User Access and Approval](/appstore/modules/genai/genai-for-mx/commons/#enum-useraccessapproval) to stop the function execution until the user takes a decision. If the user rejects the call, the LLM gets informed about the decision and might find another way to fulfill the user's request. +Sometimes, tool calls should not be executed immediately, and should first require confirmation from the user, for example, if actions are taken on behalf of the user such as sending an email or triggering a workflow. In such cases, tools can be configured for [User Access and Approval](/agents/genai-for-mx/commons/#enum-useraccessapproval) to stop the function execution until the user takes a decision. If the user rejects the call, the LLM gets informed about the decision and might find another way to fulfill the user's request. ## Tool Calling with the GenAI Commons Module and the LLM Connectors {#llm-connector} -All platform-supported connectors ([Mendix Cloud GenAI](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/), [OpenAI](/appstore/modules/genai/openai/), and [Amazon Bedrock Connector](/appstore/modules/aws/amazon-bedrock/)) support tool calling by leveraging the [GenAI Commons module](/appstore/modules/genai/commons/). Tool calling is supported for all chat completions operations. All entity, attribute, and activity names in this section refer to the GenAI Commons module. +All platform-supported connectors ([Mendix Cloud GenAI](/agents/mx-cloud-genai/mxgenai-connector/), [OpenAI](/agents/reference-guide/external-connectors/openai/), and [Amazon Bedrock Connector](/appstore/modules/aws/amazon-bedrock/)) support tool calling by leveraging the [GenAI Commons module](/agents/genai-for-mx/commons/). Tool calling is supported for all chat completions operations. All entity, attribute, and activity names in this section refer to the GenAI Commons module. -Functions in Mendix are essentially microflows that can be registered within the request to the LLM​. The LLM connector takes care of handling the tool call response as well as executing the function microflows until the LLM returns the final assistant's response. Function microflows 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](/appstore/modules/genai/genai-for-mx/commons/#request) or [Tool](/appstore/modules/genai/genai-for-mx/commons/#tool) objects as inputs. The microflow can only return a String value. +Functions in Mendix are essentially microflows that can be registered within the request to the LLM​. The LLM connector takes care of handling the tool call response as well as executing the function microflows until the LLM returns the final assistant's response. Function microflows 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](/agents/genai-for-mx/commons/#request) or [Tool](/agents/genai-for-mx/commons/#tool) objects as inputs. The microflow can only return a String value. To enable tool calling, a `ToolCollection` object must be added to the request, which is associated to one or many `Function` objects. -A helper operation is available in [GenAI Commons](/appstore/modules/genai/commons/) to construct the `ToolCollection` with a list of `Functions`: +A helper operation is available in [GenAI Commons](/agents/genai-for-mx/commons/) to construct the `ToolCollection` with a list of `Functions`: * `Tools: Add Function to Request` can be used to initialize a new `ToolCollection` and add a new `Function` to it in order to enable tool calling. diff --git a/content/en/docs/marketplace/genai/how-to/_index.md b/content/en/docs/genai/how-to/_index.md similarity index 66% rename from content/en/docs/marketplace/genai/how-to/_index.md rename to content/en/docs/genai/how-to/_index.md index 71ccbb6f4bc..8c883f1ebc5 100644 --- a/content/en/docs/marketplace/genai/how-to/_index.md +++ b/content/en/docs/genai/how-to/_index.md @@ -1,12 +1,13 @@ --- title: "How to Build Smarter Apps Using GenAI" -url: /appstore/modules/genai/how-to/ +url: /agents/how-to/ linktitle: "How to Build Smarter Apps using GenAI" weight: 20 description: "Tutorial on how to get started with GenAI for Smarter Apps" no_list: false aliases: - /appstore/modules/genai/using-genai/ + - /appstore/modules/genai/how-to/ --- ## Introduction @@ -17,31 +18,31 @@ Generative Artificial Intelligence (GenAI) transforms business applications, emp ### Getting Started with the How-Tos -* [Build a Chatbot Using the AI Bot Starter App](/appstore/modules/genai/how-to/starter-template/) -* [Build a Chatbot from Scratch Using the Blank GenAI App](/appstore/modules/genai/how-to/blank-app/) +* [Build a Chatbot Using the AI Bot Starter App](/agents/how-to/starter-template/) +* [Build a Chatbot from Scratch Using the Blank GenAI App](/agents/how-to/blank-app/) ### Starter Apps * The [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) demonstrates over 10 use cases for implementing GenAI. -* The [Support Assistant Starter App](https://marketplace.mendix.com/link/component/231035) is a template that incorporates [RAG (Retrieval-Augmented Generation)](/appstore/modules/genai/rag/), [Function Calling (ReAct Pattern)](/appstore/modules/genai/function-calling/), and knowledge base integration. For more details on this use case, see [How to Build Smarter Apps with Function Calling & Generative AI](https://www.mendix.com/blog/building-smarter-apps-with-function-calling-and-generative-ai/). +* The [Support Assistant Starter App](https://marketplace.mendix.com/link/component/231035) is a template that incorporates [RAG (Retrieval-Augmented Generation)](/agents/rag/), [Function Calling (ReAct Pattern)](/agents/function-calling/), and knowledge base integration. For more details on this use case, see [How to Build Smarter Apps with Function Calling & Generative AI](https://www.mendix.com/blog/building-smarter-apps-with-function-calling-and-generative-ai/). ### Prompt Engineering Resources -* The [Prompt Engineering](/appstore/modules/genai/prompt-engineering/) documentation provides an introduction to the basics of prompting and useful tips. +* The [Prompt Engineering](/agents/prompt-engineering/) documentation provides an introduction to the basics of prompting and useful tips. * The [Prompt Library](https://mendixlabs.github.io/smart-apps-prompt-library/) offers a collection of prompts used in Mendix applications, as well as other examples. * The blog post [Hey ChatGPT, Write a Blog Post About Prompt Engineering – Part 1](https://www.mendix.com/blog/part-one-hey-chatgpt-can-you-write-me-a-blog-post-about-prompt-engineering/) introduces the fundamentals of prompt engineering, including techniques and examples. * The blog post [Hey ChatGPT, Write a Blog Post About Prompt Engineering – Part 2](https://www.mendix.com/blog/hey-chatgpt-can-you-write-me-a-blog-post-about-prompt-engineering-part-2/) explores the Tree of Thought (ToT) prompt technique, provides recommendations for getting started, and discusses how to handle hallucinations. ### Additional Resources -* Basic documentation on [GenAI Concepts](/appstore/modules/genai/get-started/) is an essential resource for anyone beginning their GenAI journey. -* The [GenAICommons](/appstore/modules/genai/genai-for-mx/commons/) module as a prerequisite for all GenAI components. -* The [ConversationalUI](/appstore/modules/genai/genai-for-mx/conversational-ui/) module that offers UI snippets for chat, token consumption monitoring and prompt management. -* The [Mendix Cloud GenAI Resource Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/) to learn how to quickly access GenAI capabilities from a Mendix app. -* The [OpenAI](/appstore/modules/genai/openai/) provides essential information about the OpenAI connector. +* Basic documentation on [GenAI Concepts](/agents/get-started/) is an essential resource for anyone beginning their GenAI journey. +* The [GenAICommons](/agents/genai-for-mx/commons/) module as a prerequisite for all GenAI components. +* The [ConversationalUI](/agents/genai-for-mx/conversational-ui/) module that offers UI snippets for chat, token consumption monitoring and prompt management. +* The [Mendix Cloud GenAI Resource Packs](/agents/mx-cloud-genai/resource-packs/) to learn how to quickly access GenAI capabilities from a Mendix app. +* The [OpenAI](/agents/reference-guide/external-connectors/openai/) provides essential information about the OpenAI connector. * The [Amazon Bedrock](/appstore/modules/aws/amazon-bedrock/) provides key information about the AWS Bedrock connector. -* The [MCP Server Module](/appstore/modules/genai/genai-for-mx/mcp-server/) provides reusable operations to create and initialize an MCP server within a Mendix app to expose tools and prompts to external clients. -* The [PGVector Knowledge Base](/appstore/modules/genai/pgvector/) offers the option for a private knowledge base outside of the LLM infrastructure. +* The [MCP Server Module](/agents/mcp-modules/mcp-server/) provides reusable operations to create and initialize an MCP server within a Mendix app to expose tools and prompts to external clients. +* The [PGVector Knowledge Base](/agents/reference-guide/external-connectors/pgvector/) offers the option for a private knowledge base outside of the LLM infrastructure. For any additional feedback, send a message in the [#genai-connectors](https://mendixcommunity.slack.com/archives/C07P8NRBLN9) channel on the Mendix Community Slack. You can sign up for the Mendix Community [here](https://mendixcommunity.slack.com/join/shared_invite/zt-270ys3pwi-kgWhJUwWrKMEMuQln4bqrQ#/shared-invite/email). diff --git a/content/en/docs/marketplace/genai/how-to/byo_connector.md b/content/en/docs/genai/how-to/byo_connector.md similarity index 85% rename from content/en/docs/marketplace/genai/how-to/byo_connector.md rename to content/en/docs/genai/how-to/byo_connector.md index 6bbb44fb026..c25dc3d1b62 100644 --- a/content/en/docs/marketplace/genai/how-to/byo_connector.md +++ b/content/en/docs/genai/how-to/byo_connector.md @@ -1,16 +1,18 @@ --- title: "Build Your Own GenAI Connector" -url: /appstore/modules/genai/how-to/byo-connector +url: /agents/how-to/byo-connector/ linktitle: "Build Your Own GenAI connector" weight: 70 description: "A tutorial that describes how to build your own GenAI connector" +aliases: + - /appstore/modules/genai/how-to/byo-connector/ --- ## Introduction -If you want to create your own connection to the LLM model of your choice while leveraging the chat UI capabilities of the [ConversationalUI](/appstore/modules/genai/genai-for-mx/conversational-ui/) module, which is built using entities from [GenAICommons](/appstore/modules/genai/genai-for-mx/commons/), then this document will guide you on how to get started with building your own GenAI Commons connector. +If you want to create your own connection to the LLM model of your choice while leveraging the chat UI capabilities of the [ConversationalUI](/agents/genai-for-mx/conversational-ui/) module, which is built using entities from [GenAICommons](/agents/genai-for-mx/commons/), then this document will guide you on how to get started with building your own GenAI Commons connector. -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. +Building your own GenAI Commons connector offers several practical benefits that streamline development and enhance flexibility. You can reuse [ConversationalUI](/agents/genai-for-mx/conversational-ui/) components, quickly set up with [starter apps](/agents/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/genai/howto-byo/connectors_diagram.png" alt="" >}} @@ -18,9 +20,9 @@ Building your own GenAI Commons connector offers several practical benefits that Before starting this guide, make sure you have completed the following prerequisites: -* Basic understanding of GenAI concepts: Review the [Enrich Your Mendix App with GenAI Capabilities](/appstore/modules/genai/) page to gain foundational knowledge and become familiar with the key [concepts](/appstore/modules/genai/get-started/). +* Basic understanding of GenAI concepts: Review the [Enrich Your Mendix App with Agentic Capabilities](/agents/) page to gain foundational knowledge and become familiar with the key [concepts](/agents/get-started/). -* Understanding Large Language Models (LLMs) and Prompt Engineering: Learn about [LLMs](/appstore/modules/genai/get-started/#llm) and [prompt engineering](/appstore/modules/genai/get-started/#prompt-engineering) to effectively use these within the Mendix ecosystem. +* Understanding Large Language Models (LLMs) and Prompt Engineering: Learn about [LLMs](/agents/get-started/#llm) and [prompt engineering](/agents/get-started/#prompt-engineering) to effectively use these within the Mendix ecosystem. ### GenAI for Mendix @@ -44,13 +46,13 @@ If your provider's API is identical or very similar to OpenAI's, it may be a goo * Adding additional query parameters in the URL or payload. * Adapting the authentication mechanism, for example, switching from API Key to OAuth. -This approach allows you to reuse a well-structured connector, minimizing development effort while ensuring compatibility with [ConversationalUI](/appstore/modules/genai/genai-for-mx/conversational-ui/) / [GenAICommons](/appstore/modules/genai/genai-for-mx/commons/). +This approach allows you to reuse a well-structured connector, minimizing development effort while ensuring compatibility with [ConversationalUI](/agents/genai-for-mx/conversational-ui/) / [GenAICommons](/agents/genai-for-mx/commons/). ### Building from Scratch If your provider's API differs significantly from OpenAI's, it is best to start from scratch or use the Echo Connector found in the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475). This approach is recommended if the provider requires a different protocol, as it often results in substantial differences in communication structure and authentication methods. In such cases, building a new connector from scratch is typically more efficient than modifying an existing REST-based connector. -Additionally, refer to the [GenAI Commons](/appstore/modules/genai/genai-for-mx/commons/) to explore available out-of-the-box components that can help accelerate development. Pay close attention to: +Additionally, refer to the [GenAI Commons](/agents/genai-for-mx/commons/) to explore available out-of-the-box components that can help accelerate development. Pay close attention to: * The domain model (data structure) to see how existing entities can be reused. * The **Connector Building** folders, contain useful microflows and helper activities for working with the provided entities. @@ -60,7 +62,7 @@ If you would like to explore the [GenAICommons](https://marketplace.mendix.com/l ## Building Your Own Connector {{% alert color="info" %}} -The Echo connector is a module in the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) and can be used as a starting point to build your own connector. It contains a few example pages to configure access and models at runtime while providing a foundation for compatibility with [GenAICommons](/appstore/modules/genai/genai-for-mx/commons/) and [ConversationalUI](/appstore/modules/genai/genai-for-mx/conversational-ui/). +The Echo connector is a module in the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) and can be used as a starting point to build your own connector. It contains a few example pages to configure access and models at runtime while providing a foundation for compatibility with [GenAICommons](/agents/genai-for-mx/commons/) and [ConversationalUI](/agents/genai-for-mx/conversational-ui/). {{% /alert %}} ### Chat Completions: With History @@ -72,12 +74,12 @@ To enable chat completion, the key microflow to consider is `ChatCompletions_Wit To integrate properly, the microflow must supply two essential input objects: -* [DeployedModel](/appstore/modules/genai/genai-for-mx/commons/#deployed-model) - Represents the specific model being used and determines which connector (microflow) is being called. -* [Request](/appstore/modules/genai/genai-for-mx/commons/#request) - Contains the details of the user's input and conversation history as well as other configurations. +* [DeployedModel](/agents/genai-for-mx/commons/#deployed-model) - Represents the specific model being used and determines which connector (microflow) is being called. +* [Request](/agents/genai-for-mx/commons/#request) - Contains the details of the user's input and conversation history as well as other configurations. And one output object: -* [Response](/appstore/modules/genai/genai-for-mx/commons/#response) - Contains the details of the LLM's results. +* [Response](/agents/genai-for-mx/commons/#response) - Contains the details of the LLM's results. 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. @@ -88,7 +90,7 @@ Just as the `Request` entity structures input for the LLM, the Response entity d The `Response` entity includes key attributes such as: * Message - A single message that the model generated. -* Tool Call - A request from the model to call one or multiple tools, for example, a microflow. Available tools are defined in the request via the [ToolCollection](/appstore/modules/genai/genai-for-mx/commons/#toolcollection). +* Tool Call - A request from the model to call one or multiple tools, for example, a microflow. Available tools are defined in the request via the [ToolCollection](/agents/genai-for-mx/commons/#toolcollection). Since different providers return responses in different formats, when implementing a new connector, map the provider’s response to match the `Response` entity’s structure. If it is required to have additional attributes on the `Request` or `Response` entity, it is recommended to extend those entities in your own connector by either creating an association or a specialization. For example, you can find both patterns being applied in the OpenAIConnector (association to `Request`) and AmazonBedrockConnector (specialization of `Response`). @@ -137,7 +139,7 @@ As mentioned earlier, in the EchoConnector, the microflow simply returns the inp Since the microflow follows the same input parameters and returns a `Response` object, it remains fully compatible with the reusable components in the GenAICommons and ConversationalUI modules. This ensures that responses are seamlessly processed and displayed in existing chat interfaces without any additional UI customization. {{% alert color="info" %}} -If you would like to track the consumption usage of tokens of your models, please look into the `GenAICommons.Usage_Create_TextAndFiles` microflow and related [documentation](/appstore/modules/genai/genai-for-mx/commons/#token-usage). This microflow can be added at the end of your microflow. +If you would like to track the consumption usage of tokens of your models, please look into the `GenAICommons.Usage_Create_TextAndFiles` microflow and related [documentation](/agents/genai-for-mx/commons/#token-usage). This microflow can be added at the end of your microflow. {{% /alert %}} ### Testing the Echo connector diff --git a/content/en/docs/marketplace/genai/how-to/creating-agents/_index.md b/content/en/docs/genai/how-to/creating-agents/_index.md similarity index 66% rename from content/en/docs/marketplace/genai/how-to/creating-agents/_index.md rename to content/en/docs/genai/how-to/creating-agents/_index.md index 29e054095da..f1d1546df9f 100644 --- a/content/en/docs/marketplace/genai/how-to/creating-agents/_index.md +++ b/content/en/docs/genai/how-to/creating-agents/_index.md @@ -1,16 +1,17 @@ --- title: "Creating Your First Agent" -url: /appstore/modules/genai/how-to/creating-agents/ +url: /agents/how-to/creating-agents/ linktitle: "Creating Your First Agent" weight: 60 description: "Introduces an example agent use case and describes three approaches for implementing it with Agents Kit using knowledge base retrieval and function calling." aliases: - /appstore/modules/genai/how-to/howto-single-agent/ + - /appstore/modules/genai/how-to/creating-agents/ --- ## Introduction -This guide explains how to create an agent in your Mendix app that combines [knowledge base retrieval (RAG)](/appstore/modules/genai/rag/) and [function calling](/appstore/modules/genai/function-calling/) capabilities from Mendix Agents Kit. +This guide explains how to create an agent in your Mendix app that combines [knowledge base retrieval (RAG)](/agents/rag/) and [function calling](/agents/function-calling/) capabilities from Mendix Agents Kit. ## Agent Use Case @@ -31,13 +32,13 @@ This agent is a task agent, which means that: You can define an agent for your Mendix app using any of the following approaches, all of which use Agents Kit: -* Use [Agent Editor in Studio Pro](/appstore/modules/genai/how-to/create-agent-with-agent-editor/) for creating and iterating on agent definitions as part of the app model. This is the recommended approach for most use cases because it uses existing development capabilities of the platform to define, manage, and deploy agents as part of a Mendix app. -* Use the [Agent Builder UI to define agents](/appstore/modules/genai/how-to/create-agent-with-agent-commons/) at runtime based on the principles of Agent Commons. It enables versioning, development iteration, and refinement at runtime, separate from the traditional app logic development cycle. -* Use the building blocks of GenAI Commons to [define the agent programmatically](/appstore/modules/genai/how-to/create-agent-programmatically/). This is useful for very specific use cases, especially when the agent needs to be part of the code repository of the app. +* Use [Agent Editor in Studio Pro](/agents/how-to/create-agent-with-agent-editor/) for creating and iterating on agent definitions as part of the app model. This is the recommended approach for most use cases because it uses existing development capabilities of the platform to define, manage, and deploy agents as part of a Mendix app. +* Use the [Agent Builder UI to define agents](/agents/how-to/create-agent-with-agent-commons/) at runtime based on the principles of Agent Commons. It enables versioning, development iteration, and refinement at runtime, separate from the traditional app logic development cycle. +* Use the building blocks of GenAI Commons to [define the agent programmatically](/agents/how-to/create-agent-programmatically/). This is useful for very specific use cases, especially when the agent needs to be part of the code repository of the app. ## Getting Started -All three approaches require the same foundational setup. Start with the [Set Up Your App for Agent Creation](/appstore/modules/genai/how-to/creating-agents/shared-setup/) guide to do the following: +All three approaches require the same foundational setup. Start with the [Set Up Your App for Agent Creation](/agents/how-to/creating-agents/shared-setup/) guide to do the following: * Set up your app with the required modules and configuration * Generate ticket data and ingest historical information into a knowledge base diff --git a/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-programmatically.md b/content/en/docs/genai/how-to/creating-agents/create-agent-programmatically.md similarity index 82% rename from content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-programmatically.md rename to content/en/docs/genai/how-to/creating-agents/create-agent-programmatically.md index b457a2d2e4d..a900313c58c 100644 --- a/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-programmatically.md +++ b/content/en/docs/genai/how-to/creating-agents/create-agent-programmatically.md @@ -1,8 +1,10 @@ --- title: "Create an Agent Programmatically" -url: /appstore/modules/genai/how-to/create-agent-programmatically/ +url: /agents/how-to/create-agent-programmatically/ weight: 90 description: "Learn how to create agents programmatically using microflows and GenAI Commons building blocks for maximum control and debugging capabilities." +aliases: + - /appstore/modules/genai/how-to/create-agent-programmatically/ --- ## Introduction @@ -13,12 +15,12 @@ This approach uses microflows and GenAI Commons building blocks to define agents Before you begin, ensure that you have met the following prerequisites: -* Complete [Set Up Your App for Agent Creation](/appstore/modules/genai/how-to/creating-agents/shared-setup/) to configure your application, knowledge base, domain model, UI, and function microflows -* Configure text generation and knowledge base keys (for details, see [Configuration](/appstore/modules/genai/genai-for-mx/agent-commons/#configuration) in the *Agent Commons* documentation). +* Complete [Set Up Your App for Agent Creation](/agents/how-to/creating-agents/shared-setup/) to configure your application, knowledge base, domain model, UI, and function microflows +* Configure text generation and knowledge base keys (for details, see [Configuration](/agents/genai-for-mx/agent-commons/#configuration) in the *Agent Commons* documentation). ## Creating Your Agent -Create an agent that can be sent to 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. If you are not familiar with Agent Commons or if anything is unclear, Mendix recommends following [Prompt Engineering at Runtime](/appstore/modules/genai/how-to/howto-prompt-engineering/) before continuing. +Create an agent that can be sent to the LLM. The [Agent Commons](/agents/genai-for-mx/agent-commons/) module allows agentic AI engineers to define agents and perform prompt engineering at runtime. If you are not familiar with Agent Commons or if anything is unclear, Mendix recommends following [Prompt Engineering at Runtime](/agents/how-to/howto-prompt-engineering/) before continuing. 1. Run the app. @@ -28,7 +30,7 @@ Create an agent that can be sent to the LLM. The [Agent Commons](/appstore/modul 4. Click **Save** to create the agent. -5. On the agent's details page, in the [System Prompt](/appstore/modules/genai/prompt-engineering/#system-prompt) field, add instructions on how the model can generate a response and what process to follow. This is an example of the prompt that can be used: +5. On the agent's details page, in the [System Prompt](/agents/prompt-engineering/#system-prompt) field, add instructions on how the model can generate a response and what process to follow. This is an example of the prompt that can be used: ```txt You are a helpful assistant supporting the IT department with employee requests, such as support tickets, license requests (for example, Miro) or hardware requests (for example, computers). Use the knowledge base and historical support tickets as a database to find a solution, without disclosing any sensitive details or data from previous tickets. Base your responses solely on the results of executed tools. Never generate information on your own. The user expects clear, concise, and direct answers from you. @@ -46,11 +48,11 @@ Create an agent that can be sent to the LLM. The [Agent Commons](/appstore/modul If the retrieved results are not helpful to answer the request, inform the user in a user-friendly way. ``` -6. Add the `{{UserInput}}` prompt to the [User Prompt](/appstore/modules/genai/prompt-engineering/#user-prompt) field. The user prompt typically reflects what the end-user writes, although it can be prefilled with your own instructions. In this example, the prompt consists only of a placeholder variable for the actual input of the user. +6. Add the `{{UserInput}}` prompt to the [User Prompt](/agents/prompt-engineering/#user-prompt) field. The user prompt typically reflects what the end-user writes, although it can be prefilled with your own instructions. In this example, the prompt consists only of a placeholder variable for the actual input of the user. 7. Add a value in the **UserInput** variable field to test the current agent. For example, type `How can I implement an agent in my Mendix app?`. Ideally, the model will not attempt to answer requests that fall outside its scope, as it is restricted to handling IT-related issues and providing information about ticket data. However, if you ask a question that would require tools that are not yet implemented, the model might hallucinate and generate a response as if it had used those tools. -8. Make sure the app is running with the latest domain model changes from [Set Up Your App for Agent Creation](/appstore/modules/genai/how-to/creating-agents/shared-setup/#domain-model-setup). In the Agent Commons UI, you will see a field for the [Context Entity](/appstore/modules/genai/genai-for-mx/agent-commons/#define-context-entity). Search for **TicketHelper** and select the entity created in that setup step. When starting from the Blank GenAI App, this should be **MyFirstModule.TicketHelper**. +8. Make sure the app is running with the latest domain model changes from [Set Up Your App for Agent Creation](/agents/how-to/creating-agents/shared-setup/#domain-model-setup). In the Agent Commons UI, you will see a field for the [Context Entity](/agents/genai-for-mx/agent-commons/#define-context-entity). Search for **TicketHelper** and select the entity created in that setup step. When starting from the Blank GenAI App, this should be **MyFirstModule.TicketHelper**. 9. Save the agent version using the **Save As** button and enter *Initial agent* as the title. @@ -108,13 +110,13 @@ Now, the user can ask the model questions and receive responses. However, this i ## Empowering the Agent -In this section, enable the agent to call two microflows as functions, along with a tool for knowledge base retrieval. Mendix recommends first following [Integrate Function Calling into Your Mendix App](/appstore/modules/genai/how-to/howto-functioncalling/) and [Grounding Your Large Language Model in Data](/appstore/modules/genai/how-to/howto-groundllm/#chatsetup). These guides cover the foundational concepts for this section, especially if you are not yet familiar with function calling or Mendix Cloud GenAI knowledge base retrieval. +In this section, enable the agent to call two microflows as functions, along with a tool for knowledge base retrieval. Mendix recommends first following [Integrate Function Calling into Your Mendix App](/agents/how-to/howto-functioncalling/) and [Grounding Your Large Language Model in Data](/agents/how-to/howto-groundllm/#chatsetup). These guides cover the foundational concepts for this section, especially if you are not yet familiar with function calling or Mendix Cloud GenAI knowledge base retrieval. All components used in this document can be found in the **ExampleMicroflows** folder of the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) for reference. This example focuses only on retrieval functions, but you can also expose functions that perform actions on behalf of the user. An example of this is creating a new ticket, as demonstrated in the [Agent Builder Starter App](https://marketplace.mendix.com/link/component/240369). ### Connecting Function: Get Number of Tickets by Status (without MCP Server) -The first function enables the user to ask questions about the ticket dataset, for example, how many tickets are in a specific status. Since this is private data specific to your application, an LLM cannot answer such questions on its own. Instead, the model acts as an agent by calling a designated microflow within your application to retrieve the information. For more information, see [Function Calling](/appstore/modules/genai/function-calling/). +The first function enables the user to ask questions about the ticket dataset, for example, how many tickets are in a specific status. Since this is private data specific to your application, an LLM cannot answer such questions on its own. Instead, the model acts as an agent by calling a designated microflow within your application to retrieve the information. For more information, see [Function Calling](/agents/function-calling/). 1. Add the `Tools: Add Function to Request` action immediately after the **Request** creation microflow: @@ -149,7 +151,7 @@ For both approaches, you need an `MCPClient.MCPServerConfiguration` object conta ### Including Knowledge Base Retrieval: Similar Tickets -Finally, you can add a tool for knowledge base retrieval. This allows the agent to query the knowledge base for similar tickets and thus tailor a response to the user based on private knowledge. Note that the knowledge base retrieval is only supported for [Mendix Cloud GenAI Resource Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/). +Finally, you can add a tool for knowledge base retrieval. This allows the agent to query the knowledge base for similar tickets and thus tailor a response to the user based on private knowledge. Note that the knowledge base retrieval is only supported for [Mendix Cloud GenAI Resource Packs](/agents/mx-cloud-genai/resource-packs/). 1. To retrieve a **Consumed Knowledge Base** object, add a `Retrieve` action in the `_ACT_TicketHelper_Agent_GenAICommons` microflow before the request is created: @@ -174,7 +176,7 @@ You have successfully integrated a knowledge base into your agent interaction. R {{< 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). +If you would like to learn how to enable user confirmation for tools, similar to what is described for the [Agent Commons approach](/agents/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). ## Testing and Troubleshooting @@ -182,7 +184,7 @@ If you would like to learn how to enable user confirmation for tools, similar to If you are looking for more technical details and an example implementation, check out the [Agent Builder Starter App](https://marketplace.mendix.com/link/component/240369), which demonstrates additional built-in features. Additionally, the **ExampleMicroflows** folder in the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) contains all components used in this how-to, including the final use case. You may also find it helpful to explore other examples. {{% /alert %}} -Before testing, ensure that you have completed the Mendix Cloud GenAI configuration as described in [Build a Chatbot from Scratch Using the Blank GenAI App](/appstore/modules/genai/how-to/blank-app/), particularly the [Infrastructure Configuration](/appstore/modules/genai/how-to/blank-app/#config) section. +Before testing, ensure that you have completed the Mendix Cloud GenAI configuration as described in [Build a Chatbot from Scratch Using the Blank GenAI App](/agents/how-to/blank-app/), particularly the [Infrastructure Configuration](/agents/how-to/blank-app/#config) section. Congratulations! Your agent is now ready to use and enriched by powerful capabilities such as agent builder, function calling, and knowledge base retrieval. diff --git a/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-commons.md b/content/en/docs/genai/how-to/creating-agents/create-agent-with-agent-commons.md similarity index 84% rename from content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-commons.md rename to content/en/docs/genai/how-to/creating-agents/create-agent-with-agent-commons.md index c7b9df9f28f..3d26e5b4205 100644 --- a/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-commons.md +++ b/content/en/docs/genai/how-to/creating-agents/create-agent-with-agent-commons.md @@ -1,8 +1,10 @@ --- title: "Create an Agent with Agent Commons" -url: /appstore/modules/genai/how-to/create-agent-with-agent-commons/ +url: /agents/how-to/create-agent-with-agent-commons/ weight: 80 description: "Learn how to create and manage agents using the Agent Commons UI for runtime configuration, versioning, and rapid experimentation without redeployment." +aliases: + - /appstore/modules/genai/how-to/create-agent-with-agent-commons/ --- ## Introduction @@ -13,12 +15,12 @@ This approach uses the Agent Commons UI to define and manage agents at runtime. Before you begin, complete the following: -* [Set Up Your App for Agent Creation](/appstore/modules/genai/how-to/creating-agents/shared-setup/) to configure your application, knowledge base, domain model, UI, and function microflows -* Configure text generation and knowledge base keys (for details, see [Configuration](/appstore/modules/genai/genai-for-mx/agent-commons/#configuration) in *Agent Commons*) +* [Set Up Your App for Agent Creation](/agents/how-to/creating-agents/shared-setup/) to configure your application, knowledge base, domain model, UI, and function microflows +* Configure text generation and knowledge base keys (for details, see [Configuration](/agents/genai-for-mx/agent-commons/#configuration) in *Agent Commons*) ## Setting Up the Agent with a Prompt -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: +Create an agent that can be called to interact with the LLM. The [Agent Commons](/agents/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/genai/howto-singleagent/agent-runtime.png" alt="Agent Commons UI showing IT-Ticket Helper configuration">}} @@ -31,7 +33,7 @@ Create an agent that can be called to interact with the LLM. The [Agent Commons] 4. Click **Save** to create the agent. 5. On the agent's details page, in the **Model** field, select the **Text Generation** model. -{{% alert color="info" %}}The model must support function calling and system prompts to be selectable. For Mendix Cloud GenAI Resources, this is automatic. If you use another connector to an LLM provider and your chosen model does not appear in the list, check the connector's documentation for information about [the supported model functionalities](/appstore/modules/genai/genai-for-mx/commons/#deployed-model).{{% /alert %}} +{{% alert color="info" %}}The model must support function calling and system prompts to be selectable. For Mendix Cloud GenAI Resources, this is automatic. If you use another connector to an LLM provider and your chosen model does not appear in the list, check the connector's documentation for information about [the supported model functionalities](/agents/genai-for-mx/commons/#deployed-model).{{% /alert %}} 6. In the **System Prompt** field, add instructions for how the model generates a response and what process to follow. You can use this example prompt: @@ -52,11 +54,11 @@ Create an agent that can be called to interact with the LLM. The [Agent Commons] If the retrieved results are not helpful to answer the request, inform the user in a user-friendly way. ``` -7. Add the `{{UserInput}}` expression to the [User Prompt](/appstore/modules/genai/prompt-engineering/#user-prompt) field. The user prompt typically represents the end-user's input. You can also prefill it with predefined instructions. In this example, the prompt consists only of a placeholder variable for the actual input the user provides while interacting with the running app. +7. Add the `{{UserInput}}` expression to the [User Prompt](/agents/prompt-engineering/#user-prompt) field. The user prompt typically represents the end-user's input. You can also prefill it with predefined instructions. In this example, the prompt consists only of a placeholder variable for the actual input the user provides while interacting with the running app. 8. Add a value in the **UserInput** variable field in the **Test Case** section. This lets you test the current prompt behavior by calling the agent. For example, type `How can I implement an agent in my Mendix app?` and click **Test**. You may need to scroll down to see the **Output** on the page after a few seconds. Ideally, the model does not attempt to answer requests that fall outside its scope, as it is restricted to handling IT-related issues and providing information about ticket data. If you ask a question that requires tools that are not yet implemented, the model might hallucinate and generate a response as if it had used those tools. -9. Make sure the app is running with the latest domain model changes from [Set Up Your App for Agent Creation](/appstore/modules/genai/how-to/creating-agents/shared-setup/#domain-model-setup). In the Agent Commons UI, find the [Context Entity](/appstore/modules/genai/genai-for-mx/agent-commons/#define-context-entity) field. Search for **TicketHelper** and select the entity created in that setup step. +9. Make sure the app is running with the latest domain model changes from [Set Up Your App for Agent Creation](/agents/how-to/creating-agents/shared-setup/#domain-model-setup). In the Agent Commons UI, find the [Context Entity](/agents/genai-for-mx/agent-commons/#define-context-entity) field. Search for **TicketHelper** and select the entity created in that setup step. 10. Click **Save as new version** ({{% icon name="floppy-disk" %}}) next to the **Agent version** field to save this version of the agent. Enter *Initial agent with prompt* as the title. @@ -71,9 +73,9 @@ Create an agent that can be called to interact with the LLM. The [Agent Commons] ## Empowering the Agent {#empower-agent} -To let the agent generate responses based on specific data and information, you will connect it to two function microflows and a knowledge base. Even though the implementation is not complex because you can select the tools from the frontend, Mendix recommends familiarity with [Integrate Function Calling into Your Mendix App](/appstore/modules/genai/how-to/howto-functioncalling/) and [Grounding Your Large Language Model in Data](/appstore/modules/genai/how-to/howto-groundllm/#chatsetup). These guides cover the foundational concepts for function calling and knowledge base retrieval. +To let the agent generate responses based on specific data and information, you will connect it to two function microflows and a knowledge base. Even though the implementation is not complex because you can select the tools from the frontend, Mendix recommends familiarity with [Integrate Function Calling into Your Mendix App](/agents/how-to/howto-functioncalling/) and [Grounding Your Large Language Model in Data](/agents/how-to/howto-groundllm/#chatsetup). These guides cover the foundational concepts for function calling and knowledge base retrieval. -Use the function microflows created in [Set Up Your App for Agent Creation](/appstore/modules/genai/how-to/creating-agents/shared-setup/#domain-model-setup). To use the function calling pattern, link them to the agent as *Tools* so the agent can autonomously decide how and when to use the function microflows. Find the final result in the **ExampleMicroflows** folder of the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) for reference. Tools can also be added when published from an MCP server, as described in [Connecting Functions via MCP](#mcp). +Use the function microflows created in [Set Up Your App for Agent Creation](/agents/how-to/creating-agents/shared-setup/#domain-model-setup). To use the function calling pattern, link them to the agent as *Tools* so the agent can autonomously decide how and when to use the function microflows. Find the final result in the **ExampleMicroflows** folder of the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) for reference. Tools can also be added when published from an MCP server, as described in [Connecting Functions via MCP](#mcp). ### Connecting Function: Get Number of Tickets by Status (without MCP Server) @@ -124,7 +126,7 @@ Connect the agent to the knowledge base so it can use historical ticket data, su 1. From the agent view page for the `IT-Ticket Helper` agent, under **Knowledge bases**, add a new knowledge base: - * **Knowledge base resource**: Select the knowledge base resource created in [Set Up Your App for Agent Creation](/appstore/modules/genai/how-to/creating-agents/shared-setup/#ingest-knowledge-base) + * **Knowledge base resource**: Select the knowledge base resource created in [Set Up Your App for Agent Creation](/agents/how-to/creating-agents/shared-setup/#ingest-knowledge-base) * **Collection**: Select `HistoricalTickets`. If nothing appears in the list, refer to the documentation of the connector on how to set it up correctly * Name: `RetrieveSimilarTickets` * Description: `Similar tickets from the database` @@ -143,7 +145,7 @@ If your knowledge base is not compatible with Agent Commons, or if the retrieval ## Calling the Agent -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: +Configure the **Ask the agent** button created in [Set Up Your App for Agent Creation](/agents/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/genai/howto-singleagent/Microflow_AgentCommons.png" alt="Microflow with three activities: Retrieve Agent from database, Call Agent Without History, and Change TicketHelper ModelResponse attribute" >}} @@ -181,7 +183,7 @@ Run the app to see the agent integrated in the use case. From the **TicketHelper This optional step uses the human-in-the-loop pattern to give users control over tool executions. When [adding tools to the agent](#empower-agent), you can configure a **User Access and Approval** setting to either make the tools visible to the user or require the user to confirm or reject a tool call. This way, the user can control LLM actions. -For more information, see [Human in the loop](/appstore/modules/genai/genai-for-mx/conversational-ui/#human-in-the-loop). +For more information, see [Human in the loop](/agents/genai-for-mx/conversational-ui/#human-in-the-loop). Follow these steps: @@ -209,7 +211,7 @@ You can find examples for both Agent Commons and GenAI Commons in the `ExampleMi For more technical details and an example implementation, see the [Agent Builder Starter App](https://marketplace.mendix.com/link/component/240369), which demonstrates additional built-in features. The **ExampleMicroflows** folder in the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) contains all components used in this how-to, including the final use case. {{% /alert %}} -Before testing, ensure that you have completed the Mendix Cloud GenAI configuration as described in [Build a Chatbot from Scratch Using the Blank GenAI App](/appstore/modules/genai/how-to/blank-app/), particularly the [Infrastructure Configuration](/appstore/modules/genai/how-to/blank-app/#config) section. +Before testing, ensure that you have completed the Mendix Cloud GenAI configuration as described in [Build a Chatbot from Scratch Using the Blank GenAI App](/agents/how-to/blank-app/), particularly the [Infrastructure Configuration](/agents/how-to/blank-app/#config) section. Congratulations! Your agent is now ready to use and enriched by powerful capabilities such as agent builder, function calling, and knowledge base retrieval. diff --git a/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-editor.md b/content/en/docs/genai/how-to/creating-agents/create-agent-with-agent-editor.md similarity index 85% rename from content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-editor.md rename to content/en/docs/genai/how-to/creating-agents/create-agent-with-agent-editor.md index 9d8b0f5f75f..6a364614476 100644 --- a/content/en/docs/marketplace/genai/how-to/creating-agents/create-agent-with-agent-editor.md +++ b/content/en/docs/genai/how-to/creating-agents/create-agent-with-agent-editor.md @@ -1,23 +1,25 @@ --- title: "Create an Agent with Agent Editor" -url: /appstore/modules/genai/how-to/create-agent-with-agent-editor/ +url: /agents/how-to/create-agent-with-agent-editor/ weight: 70 description: "Learn how to create and manage agents using Agent Editor in Studio Pro, defining agents as part of your app model." +aliases: + - /appstore/modules/genai/how-to/create-agent-with-agent-editor/ --- ## Introduction This approach uses [Agent Editor](https://marketplace.mendix.com/link/component/257918) in Studio Pro to create and manage agents as part of your app model. You define agents as documents in your app, alongside related resources such as models, knowledge bases, and consumed MCP services. This is the recommended approach for most use cases because it leverages existing platform capabilities. -Currently, Agent Editor supports only [Mendix Cloud GenAI](/appstore/modules/genai/mx-cloud-genai/) as a provider for models and knowledge bases. The steps below use the Mendix Cloud GenAI provider type, text generation resource keys, and knowledge base resource keys from the [Mendix Cloud GenAI Portal](https://genai.home.mendix.com/). +Currently, Agent Editor supports only [Mendix Cloud GenAI](/agents/mx-cloud-genai/) as a provider for models and knowledge bases. The steps below use the Mendix Cloud GenAI provider type, text generation resource keys, and knowledge base resource keys from the [Mendix Cloud GenAI Portal](https://genai.home.mendix.com/). ## Prerequisites Before you begin, complete the following prerequisites: * Use an app running on Studio Pro 11.9.1 or above -* Complete [Set Up Your App for Agent Creation](/appstore/modules/genai/how-to/creating-agents/shared-setup/) to configure your application, knowledge base, domain model, UI, and function microflows -* Install [Agent Editor](/appstore/modules/genai/genai-for-mx/agent-editor/), including the [first-time setup](/appstore/modules/genai/genai-for-mx/agent-editor/#setup) steps +* Complete [Set Up Your App for Agent Creation](/agents/how-to/creating-agents/shared-setup/) to configure your application, knowledge base, domain model, UI, and function microflows +* Install [Agent Editor](/agents/genai-for-mx/agent-editor/), including the [first-time setup](/agents/genai-for-mx/agent-editor/#setup) steps * Have access to Mendix Cloud GenAI text generation and knowledge base resources, and generate a key for both of these resource types from the [Mendix Cloud GenAI Portal](https://genai.home.mendix.com/) ## Setting Up the Agent with a Prompt @@ -30,7 +32,7 @@ Create and configure the required Model and Agent documents in Studio Pro, inclu 3. In the new Model document, set the **Provider** to Mendix Cloud GenAI. For the **Model key**, select the constant you created in step 1. -4. In the **Configurations** tab of **App Settings**, add a new configuration that sets the constant's value to your text generation [resource key](/appstore/modules/genai/mx-cloud-genai/Navigate-MxGenAI/#keys) from the Mendix Cloud GenAI Portal. +4. In the **Configurations** tab of **App Settings**, add a new configuration that sets the constant's value to your text generation [resource key](/agents/mx-cloud-genai/Navigate-MxGenAI/#keys) from the Mendix Cloud GenAI Portal. 5. In the **Connection** section, click **Test** to verify that the model can be reached. @@ -38,7 +40,7 @@ Create and configure the required Model and Agent documents in Studio Pro, inclu 7. In the **Model** field, select the Model document you created in the previous steps. -8. For the **Context entity**, select the `TicketHelper` entity created in [Set Up Your App for Agent Creation](/appstore/modules/genai/how-to/creating-agents/shared-setup/#domain-model-setup). This entity contains an attribute `UserInput` that matches the variable placeholder. +8. For the **Context entity**, select the `TicketHelper` entity created in [Set Up Your App for Agent Creation](/agents/how-to/creating-agents/shared-setup/#domain-model-setup). This entity contains an attribute `UserInput` that matches the variable placeholder. 9. In the **System prompt** field, add instructions that define how the model should handle IT-ticket requests. You can use the following prompt: @@ -67,7 +69,7 @@ Create and configure the required Model and Agent documents in Studio Pro, inclu In this section, you connect the agent to two function microflows and one knowledge base so it can answer ticket-related questions with app data and historical context. -Use the function microflows created in [Set Up Your App for Agent Creation](/appstore/modules/genai/how-to/creating-agents/shared-setup/#function-microflows). To use function calling, add those microflows as tools in the Agent document so the model can decide when to execute them. +Use the function microflows created in [Set Up Your App for Agent Creation](/agents/how-to/creating-agents/shared-setup/#function-microflows). To use function calling, add those microflows as tools in the Agent document so the model can decide when to execute them. ### Connecting Function: Get Number of Tickets by Status (Without MCP Server) @@ -111,7 +113,7 @@ Connect an MCP server as a tool source through a consumed MCP service document a * **Credentials microflow** (optional): Set this when authentication is required * **Protocol version**: Select the protocol that matches your MCP server - For more details regarding protocol version and authentication, refer to the [technical documentation](/appstore/modules/genai/genai-for-mx/agent-editor/#define-mcp). + For more details regarding protocol version and authentication, refer to the [technical documentation](/agents/genai-for-mx/agent-editor/#define-mcp). 3. In the consumed MCP service document, click **List tools** to verify the connection. @@ -127,7 +129,7 @@ Link a knowledge base collection to the agent so it can retrieve relevant histor 1. In **App Explorer**, right-click your module and select **Add other** > **Knowledge base**. -2. Set a name (for example, `MyKnowledgeBase`) and configure the **Knowledge base key** by first creating and selecting a string type constant inside of the module and then, in the **Configurations** tab of **App Settings**, setting its value to your knowledge base [resource key](/appstore/modules/genai/mx-cloud-genai/Navigate-MxGenAI/#keys) from the Mendix Cloud GenAI Portal. +2. Set a name (for example, `MyKnowledgeBase`) and configure the **Knowledge base key** by first creating and selecting a string type constant inside of the module and then, in the **Configurations** tab of **App Settings**, setting its value to your knowledge base [resource key](/agents/mx-cloud-genai/Navigate-MxGenAI/#keys) from the Mendix Cloud GenAI Portal. 3. Click **List collections** to validate the connection and load available collections. @@ -160,7 +162,7 @@ If you make changes to the agent definition afterward, restart or redeploy the l ## Calling the Agent -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: +Configure the **Ask the agent** button created in [Set Up Your App for Agent Creation](/agents/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/genai/howto-singleagent/ACT_TicketHelper_CallAgent_Editor.png" alt="">}} diff --git a/content/en/docs/marketplace/genai/how-to/creating-agents/shared-setup.md b/content/en/docs/genai/how-to/creating-agents/shared-setup.md similarity index 83% rename from content/en/docs/marketplace/genai/how-to/creating-agents/shared-setup.md rename to content/en/docs/genai/how-to/creating-agents/shared-setup.md index a0d2ab9cea4..739b6c1a130 100644 --- a/content/en/docs/marketplace/genai/how-to/creating-agents/shared-setup.md +++ b/content/en/docs/genai/how-to/creating-agents/shared-setup.md @@ -1,13 +1,15 @@ --- title: "Set Up Your App for Agent Creation" -url: /appstore/modules/genai/how-to/creating-agents/shared-setup/ +url: /agents/how-to/creating-agents/shared-setup/ weight: 60 description: "Describes how to set up your app with the required modules, data, domain model, and function microflows for the example IT helpdesk agent." +aliases: + - /appstore/modules/genai/how-to/creating-agents/shared-setup/ --- ## Introduction -This guide describes the shared setup steps for the example IT helpdesk agent. Complete these steps before choosing one of three implementation approaches. For more information about the agent use case and implementation options, see [Creating Your First Agent](/appstore/modules/genai/how-to/creating-agents/). +This guide describes the shared setup steps for the example IT helpdesk agent. Complete these steps before choosing one of three implementation approaches. For more information about the agent use case and implementation options, see [Creating Your First Agent](/agents/how-to/creating-agents/). This guide walks you through the following: @@ -18,26 +20,26 @@ This guide walks you through the following: After you complete these steps, continue to one of the implementation approach guides: -* [Create an Agent with Agent Editor](/appstore/modules/genai/how-to/create-agent-with-agent-editor/) -* [Create an Agent with Agent Commons](/appstore/modules/genai/how-to/create-agent-with-agent-commons/) -* [Create an Agent Programmatically](/appstore/modules/genai/how-to/create-agent-programmatically/) +* [Create an Agent with Agent Editor](/agents/how-to/create-agent-with-agent-editor/) +* [Create an Agent with Agent Commons](/agents/how-to/create-agent-with-agent-commons/) +* [Create an Agent Programmatically](/agents/how-to/create-agent-programmatically/) ## Prerequisites {#prerequisites} Before you build an agent in your app, make sure your scenario meets the following requirements: * An existing app – Use a GenAI starter app such as the [Blank GenAI Starter App](https://marketplace.mendix.com/link/component/227934), or add to an app that you have already built -* Studio Pro 10.24 or above (or Studio Pro 11.9.1 or above if you plan to use [Agent Editor](/appstore/modules/genai/how-to/create-agent-with-agent-editor/)) +* Studio Pro 10.24 or above (or Studio Pro 11.9.1 or above if you plan to use [Agent Editor](/agents/how-to/create-agent-with-agent-editor/)) * Intermediate understanding of Mendix – Knowledge of simple page building, microflow modeling, domain model creation, and import/export mappings -* Basic understanding of GenAI concepts – Review [Enrich Your Mendix App with GenAI Capabilities](/appstore/modules/genai/) for foundational knowledge and familiarize yourself with the [concepts of GenAI](/appstore/modules/genai/using-gen-ai/) and [agents](/appstore/modules/genai/agents/) -* Basic understanding of function calling and prompt engineering – Learn about [Function Calling](/appstore/modules/genai/function-calling/) and [Prompt Engineering](/appstore/modules/genai/get-started/#prompt-engineering) to use them within the Mendix ecosystem -* Optional – If you are not yet familiar with implementing specific GenAI concepts with Agents Kit, follow these GenAI documents: [Grounding Your LLM in Data](/appstore/modules/genai/how-to/howto-groundllm/), [Prompt Engineering at Runtime](/appstore/modules/genai/how-to/howto-prompt-engineering/), and [Integrate Function Calling into Your Mendix App](/appstore/modules/genai/how-to/howto-functioncalling/) -* Optional – Basic understanding of the [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) and the related Mendix modules: [MCP Server module](/appstore/modules/genai/mcp-modules/mcp-server/) and [MCP Client module](/appstore/modules/genai/mcp-modules/mcp-client/) +* Basic understanding of GenAI concepts – Review [Enrich Your Mendix App with Agentic Capabilities](/agents/) for foundational knowledge and familiarize yourself with the [concepts of GenAI](/agents/get-started/) and [agents](/agents/agents/) +* Basic understanding of function calling and prompt engineering – Learn about [Function Calling](/agents/function-calling/) and [Prompt Engineering](/agents/get-started/#prompt-engineering) to use them within the Mendix ecosystem +* Optional – If you are not yet familiar with implementing specific GenAI concepts with Agents Kit, follow these GenAI documents: [Grounding Your LLM in Data](/agents/how-to/howto-groundllm/), [Prompt Engineering at Runtime](/agents/how-to/howto-prompt-engineering/), and [Integrate Function Calling into Your Mendix App](/agents/how-to/howto-functioncalling/) +* Optional – Basic understanding of the [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) and the related Mendix modules: [MCP Server module](/agents/mcp-modules/mcp-server/) and [MCP Client module](/agents/mcp-modules/mcp-client/) ## Setting Up Your Application {{% alert color="info" %}} -This guide uses the Mendix Cloud GenAI Connector for text generation. You can also use alternative [supported connectors](/appstore/modules/genai/#connectors), such as [Amazon Bedrock](/appstore/modules/aws/amazon-bedrock/) or [OpenAI](/appstore/modules/genai/reference-guide/external-connectors/openai/). For knowledge base operations, this guide uses the Mendix Cloud Knowledge Base, but the [pgVector Knowledge Base](/appstore/modules/genai/reference-guide/external-connectors/pgvector/) is also supported. As long as you configure access to a provider and knowledge base according to the connector documentation, and the knowledge base supports inserting chunks from a microflow, the remaining steps in this guide apply. +This guide uses the Mendix Cloud GenAI Connector for text generation. You can also use alternative [supported connectors](/agents/#connectors), such as [Amazon Bedrock](/appstore/modules/aws/amazon-bedrock/) or [OpenAI](/agents/reference-guide/external-connectors/openai/). For knowledge base operations, this guide uses the Mendix Cloud Knowledge Base, but the [pgVector Knowledge Base](/agents/reference-guide/external-connectors/pgvector/) is also supported. As long as you configure access to a provider and knowledge base according to the connector documentation, and the knowledge base supports inserting chunks from a microflow, the remaining steps in this guide apply. {{% /alert %}} If you are using a GenAI starter app such as the Blank GenAI Starter App, you can skip ahead to [Creating the Agent's Functional Prerequisites](#creating-functional-prerequisites) because the following setup steps are completed by default. Otherwise, follow these steps to add the required modules and configuration to your app: @@ -69,7 +71,7 @@ Each of these steps is described in the following sections. To define the agent and generate responses, the steps differ based on your chosen approach and are covered in separate documents. ### Ingesting Data Into Knowledge Base {#ingest-knowledge-base} -Ingest Mendix ticket data into the knowledge base. For a detailed guide, see [Grounding Your LLM in Data](/appstore/modules/genai/how-to/howto-groundllm/#demodata). The following steps explain the process at a higher level by modifying logic imported from the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475). You can find the sample data used in this document in the GenAI Showcase App or use your own data. +Ingest Mendix ticket data into the knowledge base. For a detailed guide, see [Grounding Your LLM in Data](/agents/how-to/howto-groundllm/#demodata). The following steps explain the process at a higher level by modifying logic imported from the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475). You can find the sample data used in this document in the GenAI Showcase App or use your own data. 1. Go to the domain model of the module where you want to implement this example. (The following instructions use `MyFirstModule` as the module name in examples—replace this with your actual module name.) In your domain model, create a `Ticket` entity with the following attributes: @@ -114,7 +116,7 @@ Ingest Mendix ticket data into the knowledge base. For a detailed guide, see [Gr 10. Add the new microflow to your navigation or homepage. -When the microflow is called, the demo data is created and ingested into the knowledge base for later use. This needs to be called only once at the beginning. Make sure to first add a knowledge base resource. For more details, see [Configuration](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/#configuration). +When the microflow is called, the demo data is created and ingested into the knowledge base for later use. This needs to be called only once at the beginning. Make sure to first add a knowledge base resource. For more details, see [Configuration](/agents/mx-cloud-genai/mxgenai-connector/#configuration). ### Setting Up the Domain Model and Creating a User Interface {#domain-model-setup} @@ -238,8 +240,8 @@ This method provides greater flexibility in managing and sharing functions acros You have completed the foundational setup. Continue with your chosen implementation approach: -* [Create an Agent with Agent Editor](/appstore/modules/genai/how-to/create-agent-with-agent-editor/) -* [Create an Agent with Agent Commons](/appstore/modules/genai/how-to/create-agent-with-agent-commons/) -* [Create an Agent Programmatically](/appstore/modules/genai/how-to/create-agent-programmatically/) +* [Create an Agent with Agent Editor](/agents/how-to/create-agent-with-agent-editor/) +* [Create an Agent with Agent Commons](/agents/how-to/create-agent-with-agent-commons/) +* [Create an Agent Programmatically](/agents/how-to/create-agent-programmatically/) -For help choosing an approach, see [Creating Your First Agent](/appstore/modules/genai/how-to/creating-agents/#implementation-approach). +For help choosing an approach, see [Creating Your First Agent](/agents/how-to/creating-agents/#implementation-approach). diff --git a/content/en/docs/marketplace/genai/how-to/ground_your_llm_in_data.md b/content/en/docs/genai/how-to/ground_your_llm_in_data.md similarity index 88% rename from content/en/docs/marketplace/genai/how-to/ground_your_llm_in_data.md rename to content/en/docs/genai/how-to/ground_your_llm_in_data.md index 47b33c74375..49d3785f856 100644 --- a/content/en/docs/marketplace/genai/how-to/ground_your_llm_in_data.md +++ b/content/en/docs/genai/how-to/ground_your_llm_in_data.md @@ -1,35 +1,37 @@ --- title: "Grounding Your Large Language Model in Data – Mendix Cloud GenAI" -url: /appstore/modules/genai/how-to/howto-groundllm/ +url: /agents/how-to/howto-groundllm/ linktitle: "Grounding Your LLM in Data" weight: 50 description: "This document guides you on grounding your large language model in data within your Mendix application to enhance its functionality." +aliases: + - /appstore/modules/genai/how-to/howto-groundllm/ --- ## Introduction -This document explains how to add data to your smart app to integrate with a Large Language Model (LLM). To do this, you can use your existing app or follow the [Build a Smart App from a Blank GenAI App](/appstore/modules/genai/how-to/blank-app/) guide to start from scratch. +This document explains how to add data to your smart app to integrate with a Large Language Model (LLM). To do this, you can use your existing app or follow the [Build a Smart App from a Blank GenAI App](/agents/how-to/blank-app/) guide to start from scratch. In this document, you will: -* Learn how to ground your LLM in data within your Mendix application using the [Mendix Cloud GenAI Resource Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/). +* Learn how to ground your LLM in data within your Mendix application using the [Mendix Cloud GenAI Resource Packs](/agents/mx-cloud-genai/resource-packs/). * Discover how to integrate GenAI capabilities with a knowledge base to effectively address specific business requirements. ### Prerequisites Before implementing this capability into your app, make sure you meet the following requirements: -* Start from scratch: to simplify your first use case, start building from a preconfigured setup [Blank GenAI Starter App](https://marketplace.mendix.com/link/component/227934). For more information, see [Build a Chatbot from Scratch Using the Blank GenAI App](/appstore/modules/genai/how-to/blank-app/). +* Start from scratch: to simplify your first use case, start building from a preconfigured setup [Blank GenAI Starter App](https://marketplace.mendix.com/link/component/227934). For more information, see [Build a Chatbot from Scratch Using the Blank GenAI App](/agents/how-to/blank-app/). * Install the [Mendix GenAI Connector](https://marketplace.mendix.com/link/component/239449) and [GenAICommons](https://marketplace.mendix.com/link/component/239448) modules (version 2.2.0 and above) from the Mendix Marketplace. If you start with the Blank GenAI App, you can skip this installation. -* Set up a Knowledge Base resource within the [Mendix Cloud GenAI Resource Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/). +* Set up a Knowledge Base resource within the [Mendix Cloud GenAI Resource Packs](/agents/mx-cloud-genai/resource-packs/). * Set up data to add to your LLM. In this example, a modified and streamlined version of the demo data is used. This data is available in the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) and located in the **ExampleMicroflows** module > **Ground in data - Mendix Cloud** > **Example data set**. If you need to create the demo data yourself, a basic understanding of import mappings and JSON structures is required. -* Intermediate understanding of GenAI concepts: See the [Enrich Your Mendix App with GenAI Capabilities](/appstore/modules/genai/) page for foundational knowledge and familiarize yourself with the [concepts](/appstore/modules/genai/using-gen-ai/). +* Intermediate understanding of GenAI concepts: See the [Enrich Your Mendix App with Agentic Capabilities](/agents/) page for foundational knowledge and familiarize yourself with the [concepts](/agents/get-started/). -* Basic understanding of [Prompt Engineering](/appstore/modules/genai/get-started/#prompt-engineering). +* Basic understanding of [Prompt Engineering](/agents/get-started/#prompt-engineering). ## Grounding Your LLM in a Data Use Case @@ -37,15 +39,15 @@ Before implementing this capability into your app, make sure you meet the follow ### Choosing the Infrastructure -Since this document focuses on the [Mendix Cloud GenAI Resource Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/), ensure that you have the [Mendix Cloud GenAI Connector](https://marketplace.mendix.com/link/component/239449) installed. +Since this document focuses on the [Mendix Cloud GenAI Resource Packs](/agents/mx-cloud-genai/resource-packs/), ensure that you have the [Mendix Cloud GenAI Connector](https://marketplace.mendix.com/link/component/239449) installed. -Follow the instructions in the [Navigate through the Mendix Cloud GenAI Portal](/appstore/modules/genai/mx-cloud-genai/Navigate-MxGenAI/) guide to collect the resources keys and configure the connector within your application. The keys bridge the gap between your app and the resources, enabling you to access models and add to or retrieve data from a Mendix Cloud GenAI knowledge base. +Follow the instructions in the [Navigate through the Mendix Cloud GenAI Portal](/agents/mx-cloud-genai/Navigate-MxGenAI/) guide to collect the resources keys and configure the connector within your application. The keys bridge the gap between your app and the resources, enabling you to access models and add to or retrieve data from a Mendix Cloud GenAI knowledge base. While this documentation focuses on adding data to your knowledge base from a Mendix application, you can also fill the knowledge base directly within the portal, for example, by uploading files. ### Creating Domain Model Entity {#domainmodel} -Since your application needs to store information, you must create attributes for the knowledge you want to save. In this example, based on the [demo data](/appstore/modules/genai/how-to/howto-groundllm/#demodata) mentioned below, a `Description` attribute of type `String` is created. +Since your application needs to store information, you must create attributes for the knowledge you want to save. In this example, based on the [demo data](/agents/how-to/howto-groundllm/#demodata) mentioned below, a `Description` attribute of type `String` is created. ### Demo Data {#demodata} @@ -132,7 +134,7 @@ This microflow first checks whether a list of tickets already exists in the data 5. Next, add the `Import With Mapping` action with the following configurations: * **Variable**: `TicketJSON` created in the previous step - * **Mapping**: Use the mapping mentioned in the [demo data section](/appstore/modules/genai/how-to/howto-groundllm/#demodata) + * **Mapping**: Use the mapping mentioned in the [demo data section](/agents/how-to/howto-groundllm/#demodata) * **Range**: `All` * **Commit**: `Yes without events` * **Store in variable**: `No` (optional, not needed here) @@ -201,7 +203,7 @@ For the application to function as expected, ensure that the following microflow ## Testing and Troubleshooting -Before testing, ensure that you have completed the Mendix Cloud GenAI configuration as described in the [Build a Chatbot from Scratch Using the Blank GenAI App](/appstore/modules/genai/how-to/blank-app/), particularly the [Mendix Cloud GenAI Configuration](/appstore/modules/genai/how-to/blank-app/#mendix-cloud-genai-configuration) section. +Before testing, ensure that you have completed the Mendix Cloud GenAI configuration as described in the [Build a Chatbot from Scratch Using the Blank GenAI App](/agents/how-to/blank-app/), particularly the [Mendix Cloud GenAI Configuration](/agents/how-to/blank-app/#mendix-cloud-genai-configuration) section. To test the Chatbot, click on the **Create Demo Data and Populate KB** option to populate the knowledge base and go to the **Chatbot** icon to open the chatbot interface. Start interacting with your chatbot by typing in the chat box something related to your knowledge base. For example, *My computer crashes every time, what can I do?* diff --git a/content/en/docs/marketplace/genai/how-to/integrate_function_calling.md b/content/en/docs/genai/how-to/integrate_function_calling.md similarity index 80% rename from content/en/docs/marketplace/genai/how-to/integrate_function_calling.md rename to content/en/docs/genai/how-to/integrate_function_calling.md index bd4b5e74c66..c71f93e0ca8 100644 --- a/content/en/docs/marketplace/genai/how-to/integrate_function_calling.md +++ b/content/en/docs/genai/how-to/integrate_function_calling.md @@ -1,16 +1,17 @@ --- title: "Integrate Function Calling into Your Mendix App" -url: /appstore/modules/genai/how-to/howto-functioncalling/ +url: /agents/how-to/howto-functioncalling/ linktitle: "Integrating Function Calling" weight: 40 description: "This document guides you through integrating and implementing function calling in your Mendix application to enhance functionality." aliases: - /appstore/modules/genai/using-genai/howto-functioncalling/ + - /appstore/modules/genai/how-to/howto-functioncalling/ --- ## Introduction -This document explains how to use function calling in your smart app. To do this, you can use your existing app or follow the [Build a Smart App from a Blank GenAI App](/appstore/modules/genai/how-to/blank-app/) guide to start from scratch, as demonstrated in the sections below. +This document explains how to use function calling in your smart app. To do this, you can use your existing app or follow the [Build a Smart App from a Blank GenAI App](/agents/how-to/blank-app/) guide to start from scratch, as demonstrated in the sections below. Through this document, you will: @@ -21,7 +22,7 @@ Through this document, you will: Before integrating function calling into your app, make sure you meet the following requirements: -* An existing app: To simplify your first use case, start building from a preconfigured set up [Blank GenAI Starter App](https://marketplace.mendix.com/link/component/227934). For more information, see [Build a Chatbot from Scratch Using the Blank GenAI App](/appstore/modules/genai/how-to/blank-app/). +* An existing app: To simplify your first use case, start building from a preconfigured set up [Blank GenAI Starter App](https://marketplace.mendix.com/link/component/227934). For more information, see [Build a Chatbot from Scratch Using the Blank GenAI App](/agents/how-to/blank-app/). * Be on Mendix Studio Pro 10.12.4 or higher. @@ -29,9 +30,9 @@ Before integrating function calling into your app, make sure you meet the follow * Intermediate knowledge of the Mendix platform: Familiarity with Mendix Studio Pro, microflows, and modules. -* Basic understanding of GenAI concepts: Review the [Enrich Your Mendix App with GenAI Capabilities](/appstore/modules/genai/) page for foundational knowledge and familiarize yourself with the [concepts](/appstore/modules/genai/using-gen-ai/). +* Basic understanding of GenAI concepts: Review the [Enrich Your Mendix App with Agentic Capabilities](/agents/) page for foundational knowledge and familiarize yourself with the [concepts](/agents/get-started/). -* Understanding Function Calling and Prompt Engineering: Learn about [Function Calling](/appstore/modules/genai/function-calling/) and [Prompt Engineering](/appstore/modules/genai/get-started/#prompt-engineering) to use them within the Mendix ecosystem. +* Understanding Function Calling and Prompt Engineering: Learn about [Function Calling](/agents/function-calling/) and [Prompt Engineering](/agents/get-started/#prompt-engineering) to use them within the Mendix ecosystem. ## Function Calling Use Case {#use-case} @@ -46,16 +47,16 @@ In this example, two functions will be implemented with the following purposes: Selecting the infrastructure for integrating GenAI into your Mendix application is the first step. Depending on your use case and preferences, you can choose from the following options: -* [Mendix Cloud GenAI Resource Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/): The [Mendix Cloud GenAI Connector](https://marketplace.mendix.com/link/component/239449) allows you to utilize Mendix Cloud GenAI Resource Packs directly within your Mendix application. +* [Mendix Cloud GenAI Resource Packs](/agents/mx-cloud-genai/resource-packs/): The [Mendix Cloud GenAI Connector](https://marketplace.mendix.com/link/component/239449) allows you to utilize Mendix Cloud GenAI Resource Packs directly within your Mendix application. -* [OpenAI](/appstore/modules/genai/openai/): The [OpenAI Connector](https://marketplace.mendix.com/link/component/220472) supports both OpenAI's platform and Microsoft Foundry. +* [OpenAI](/agents/reference-guide/external-connectors/openai/): The [OpenAI Connector](https://marketplace.mendix.com/link/component/220472) supports both OpenAI's platform and Microsoft Foundry. -* [Amazon Bedrock](/appstore/modules/genai/bedrock/): The [Amazon Bedrock Connector](https://marketplace.mendix.com/link/component/215042) allows you to leverage Amazon Bedrock’s fully managed service to integrate foundation models from Amazon and leading AI providers. +* [Amazon Bedrock](/appstore/modules/aws/amazon-bedrock/): The [Amazon Bedrock Connector](https://marketplace.mendix.com/link/component/215042) allows you to leverage Amazon Bedrock’s fully managed service to integrate foundation models from Amazon and leading AI providers. * Your Own Connector: Optionally, if you prefer a custom connector, you can integrate your chosen infrastructure. However, this document focuses on the Mendix Cloud GenAI, OpenAI, and Amazon Bedrock connectors, as they offer comprehensive support and ease of use to get started. {{% alert color="info" %}} -Not all models support function calling. Ensure that your preferred GenAI provider is set up in your Mendix app and that a compatible model is available. Mendix provides an [overview of models and their capabilities](/appstore/modules/genai/#models). +Not all models support function calling. Ensure that your preferred GenAI provider is set up in your Mendix app and that a compatible model is available. Mendix provides an [overview of models and their capabilities](/agents/#models). {{% /alert %}} ### Customizing Microflows {#microflows} @@ -145,7 +146,7 @@ As shown in the image, two key steps must be completed to enable the execution o ### Optional: Changing the System Prompt {#edit-systemprompt} -Optionally, you can change the system prompt to provide the model additional instructions, for example, the tone of voice. Therefore, follow a similar approach described in the [Build a Chatbot from Scratch Using the Blank GenAI App](/appstore/modules/genai/how-to/blank-app/#changing-system-prompt). +Optionally, you can change the system prompt to provide the model additional instructions, for example, the tone of voice. Therefore, follow a similar approach described in the [Build a Chatbot from Scratch Using the Blank GenAI App](/agents/how-to/blank-app/#changing-system-prompt). 1. Open the copied `ACT_FullScreenChat_Open` microflow from your `MyFirstBot` module. 2. Locate the **New Chat** action. @@ -155,11 +156,11 @@ Optionally, you can change the system prompt to provide the model additional ins ### Optional: Setting User Access and Approval -When adding tools to a request, you can optionally set a [User Access Approval](/appstore/modules/genai/genai-for-mx/commons/#enum-useraccessapproval) value to control if the user first needs to confirm the tool before execution or if the tool is even visible to the user. To show different title and description for the tool, you may modify the `DiplayTitle` and `DisplayDescription` which are only used for display and can thus be less technical or detailed than the `Name` and `Description` of the tool. +When adding tools to a request, you can optionally set a [User Access Approval](/agents/genai-for-mx/commons/#enum-useraccessapproval) value to control if the user first needs to confirm the tool before execution or if the tool is even visible to the user. To show different title and description for the tool, you may modify the `DiplayTitle` and `DisplayDescription` which are only used for display and can thus be less technical or detailed than the `Name` and `Description` of the tool. ## Testing and Troubleshooting {#testing-troubleshooting} -Before testing, ensure that you have completed the Mendix Cloud GenAI, OpenAI, or Bedrock configuration as described in the [Build a Chatbot from Scratch Using the Blank GenAI App](/appstore/modules/genai/how-to/blank-app/), particularly the [Infrastructure Configuration](/appstore/modules/genai/how-to/blank-app/#config) section. +Before testing, ensure that you have completed the Mendix Cloud GenAI, OpenAI, or Bedrock configuration as described in the [Build a Chatbot from Scratch Using the Blank GenAI App](/agents/how-to/blank-app/), particularly the [Infrastructure Configuration](/agents/how-to/blank-app/#config) section. To test the Chatbot, go to the **Home** icon to open the chatbot interface. Start interacting with your chatbot by typing in the chat box. For example, type—`Write a message to my colleague Max asking about a meeting to discuss the content for our next GenAI how-to.` or `How many bank holidays do I have in December?` diff --git a/content/en/docs/marketplace/genai/how-to/prompt_engineering-runtime.md b/content/en/docs/genai/how-to/prompt_engineering-runtime.md similarity index 89% rename from content/en/docs/marketplace/genai/how-to/prompt_engineering-runtime.md rename to content/en/docs/genai/how-to/prompt_engineering-runtime.md index adb9c5bdcba..791e100a6cd 100644 --- a/content/en/docs/marketplace/genai/how-to/prompt_engineering-runtime.md +++ b/content/en/docs/genai/how-to/prompt_engineering-runtime.md @@ -1,16 +1,17 @@ --- title: "Prompt Engineering at Runtime" -url: /appstore/modules/genai/how-to/howto-prompt-engineering/ +url: /agents/how-to/howto-prompt-engineering/ linktitle: "Prompt Engineering at Runtime" weight: 30 description: "This document guides you through integrating Agent Commons into your Mendix application, allowing users to perform prompt engineering at runtime." aliases: - - /appstore/modules/genai/how-to/howto-prompt-management/ + - /appstore/modules/genai/how-to/howto-prompt-management/ + - /appstore/modules/genai/how-to/howto-prompt-engineering/ --- ## Introduction -This document explains how to integrate the prompt engineering capabilities of the [Agent Commons](/appstore/modules/genai/genai-for-mx/agent-commons/) module into your app. +This document explains how to integrate the prompt engineering capabilities of the [Agent Commons](/agents/genai-for-mx/agent-commons/) module into your app. This document will help you with the following: @@ -24,7 +25,7 @@ Before integrating Agent Commons into your app, make sure you meet the following * An existing app: use a GenAI starter app such as the [Blank GenAI App](https://marketplace.mendix.com/link/component/227934), or add to an app that you have already built * Access to an LLM of your choice, using Mendix Cloud GenAI or another compatible connector -* Basic understanding of GenAI concepts: review the [Enrich Your Mendix App with GenAI Capabilities](/appstore/modules/genai/) page for foundational knowledge and to familiarize yourself with [GenAI Concepts](/appstore/modules/genai/using-gen-ai/) +* Basic understanding of GenAI concepts: review the [Enrich Your Mendix App with Agentic Capabilities](/agents/) page for foundational knowledge and to familiarize yourself with [GenAI Concepts](/agents/get-started/) * Basic understanding of Mendix: knowledge of simple page building, microflow modeling, and domain model creation ## Use Case @@ -41,7 +42,7 @@ Agent Commons enables users to create powerful agents at runtime, enriching requ If you are using a GenAI starter app such as the Blank GenAI app, you can skip ahead to [the next section](#configuration) because the following steps are already completed. Otherwise, follow these setup steps to add Agent Commons capabilities to your app and navigation: -1. Install the [Agent Commons module](/appstore/modules/genai/genai-for-mx/agent-commons/) module and its dependencies from the Mendix Marketplace. +1. Install the [Agent Commons module](/agents/genai-for-mx/agent-commons/) module and its dependencies from the Mendix Marketplace. 2. Open your app's [Security](/refguide/security/#user-role) settings and edit the user role that you want to be able to create agents at runtime. This is typically the Administrator role, but this may vary depending on your use case. Follow these steps: 1. For the Agent Commons module, assign the **AgentAdmin** module role. @@ -57,10 +58,10 @@ If you are using a GenAI starter app such as the Blank GenAI app, you can skip a ## Configuring a GenAI Connector {#configuration} -To enable generative AI capabilities, install and configure the [Mendix Cloud GenAI Connector](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/) and its dependencies from the Mendix Marketplace. If you are using a GenAI starter app such as the Blank GenAI app, you can skip the installation and just follow the [configuration instructions](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/#configuration). +To enable generative AI capabilities, install and configure the [Mendix Cloud GenAI Connector](/agents/mx-cloud-genai/mxgenai-connector/) and its dependencies from the Mendix Marketplace. If you are using a GenAI starter app such as the Blank GenAI app, you can skip the installation and just follow the [configuration instructions](/agents/mx-cloud-genai/mxgenai-connector/#configuration). {{% alert color="info" %}} -This example uses the Mendix Cloud GenAI Connector. Alternatively, you can install and configure an [external connector](/appstore/modules/genai/reference-guide/external-connectors/) for any provider with a connector that is compatible with [GenAICommons](/appstore/modules/genai/genai-for-mx/commons/). This includes [OpenAI](/appstore/modules/genai/reference-guide/external-connectors/openai/) and [Amazon Bedrock](/appstore/modules/aws/amazon-bedrock/). +This example uses the Mendix Cloud GenAI Connector. Alternatively, you can install and configure an [external connector](/agents/reference-guide/connectors/) for any provider with a connector that is compatible with [GenAICommons](/agents/genai-for-mx/commons/). This includes [OpenAI](/agents/reference-guide/external-connectors/openai/) and [Amazon Bedrock](/appstore/modules/aws/amazon-bedrock/). {{% /alert %}} ## Verifying Setup {#verification} @@ -85,7 +86,7 @@ You can now create your first agent in the user interface. The final agent will Task agents execute based on variables and user input, typically for single-call interactions and programmatic use in microflows. Chat agents, on the other hand, retain conversation history and are suitable for interactive dialogues. For this example, select **Task** and click **Save** to create the agent. -5. On the agent's details page, where you can perform prompt engineering at runtime, enter the following prompt in the [User Prompt](/appstore/modules/genai/prompt-engineering/#user-prompt) field: `Generate a short product description for a chair`. +5. On the agent's details page, where you can perform prompt engineering at runtime, enter the following prompt in the [User Prompt](/agents/prompt-engineering/#user-prompt) field: `Generate a short product description for a chair`. The user prompt typically represents the end user's input. You can also prefill it with predefined instructions, as shown here. @@ -118,7 +119,7 @@ To further improve your prompts and the user experience, you can add some placeh To further refine the agent's responses, add a system prompt that defines the assistant's role and create an additional test case for comparison. -1. In the **Agent version** dropdown, click **Draft** so that you can edit the fields again. This time, add instructions in the [System Prompt](/appstore/modules/genai/prompt-engineering/#system-prompt) field. Enter the following: `You are a sales assistant that can write engaging and inspiring product descriptions for our online marketplace. The user asks you to create a description for various products. You should always respond in {{Language}}.` Notice that the **Language** variable appears in the **Test Card**. +1. In the **Agent version** dropdown, click **Draft** so that you can edit the fields again. This time, add instructions in the [System Prompt](/agents/prompt-engineering/#system-prompt) field. Enter the following: `You are a sales assistant that can write engaging and inspiring product descriptions for our online marketplace. The user asks you to create a description for various products. You should always respond in {{Language}}.` Notice that the **Language** variable appears in the **Test Card**. 2. Add a new test case by clicking **New Blank Test Case** ({{% icon name="add"%}}) next to the **Test variable input** dropdown. @@ -244,7 +245,7 @@ You have now successfully implemented Agent Commons and connected it to a sample ## Troubleshooting {#troubleshooting} -For more technical details, refer to [Agent Commons](/appstore/modules/genai/genai-for-mx/agent-commons/). +For more technical details, refer to [Agent Commons](/agents/genai-for-mx/agent-commons/). For an example of advanced prompt engineering with Agent Commons, refer to the *Generate Product Description* section in the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475). diff --git a/content/en/docs/marketplace/genai/how-to/start_from_a_starter_app.md b/content/en/docs/genai/how-to/start_from_a_starter_app.md similarity index 84% rename from content/en/docs/marketplace/genai/how-to/start_from_a_starter_app.md rename to content/en/docs/genai/how-to/start_from_a_starter_app.md index 62287dd06e2..30daf44ffef 100644 --- a/content/en/docs/marketplace/genai/how-to/start_from_a_starter_app.md +++ b/content/en/docs/genai/how-to/start_from_a_starter_app.md @@ -1,16 +1,17 @@ --- title: "Build a Chatbot Using the AI Bot Starter App" -url: /appstore/modules/genai/how-to/starter-template +url: /agents/how-to/starter-template linktitle: "Build a Chatbot Using the AI Bot Starter App" weight: 10 description: "A tutorial that describes how to get started building a smart app with a starter template" aliases: - /appstore/modules/genai/using-genai/starter-template/ + - /appstore/modules/genai/how-to/starter-template --- ## Introduction -This document guides on building a smart app using a starter template. Alternatively, you can create your smart app from scratch using a blank GenAI app template. For more details, see [Build a Smart App from a Blank GenAI App](/appstore/modules/genai/how-to/blank-app/). +This document guides on building a smart app using a starter template. Alternatively, you can create your smart app from scratch using a blank GenAI app template. For more details, see [Build a Smart App from a Blank GenAI App](/agents/how-to/blank-app/). ### Prerequisites @@ -20,9 +21,9 @@ Before starting this guide, make sure you have completed the following prerequis * Intermediate knowledge of the Mendix platform: Familiarity with Mendix Studio Pro, microflows, and modules is required. -* Basic understanding of GenAI concepts: Review the [Enrich Your Mendix App with GenAI Capabilities](/appstore/modules/genai/) page to gain foundational knowledge and become familiar with the key [concepts](/appstore/modules/genai/get-started/). +* Basic understanding of GenAI concepts: Review the [Enrich Your Mendix App with Agentic Capabilities](/agents/) page to gain foundational knowledge and become familiar with the key [concepts](/agents/get-started/). -* Understanding Large Language Models (LLMs) and Prompt Engineering: Learn about [LLMs](/appstore/modules/genai/get-started/#llm) and [prompt engineering](/appstore/modules/genai/get-started/#prompt-engineering) to effectively use these within the Mendix ecosystem. +* Understanding Large Language Models (LLMs) and Prompt Engineering: Learn about [LLMs](/agents/get-started/#llm) and [prompt engineering](/agents/get-started/#prompt-engineering) to effectively use these within the Mendix ecosystem. ### Learning Goals @@ -44,11 +45,11 @@ To simplify your first use case, start building a chatbot using the [AI Bot Star Selecting the infrastructure for integrating GenAI into your Mendix application is the first step. Depending on your use case and preferences, you can choose from the following options: -* [Mendix Cloud GenAI Resources Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/): The [Mendix Cloud GenAI Connector](https://marketplace.mendix.com/link/component/239449) integrates LLMs by dragging and dropping common operations from its toolbox in Studio Pro. +* [Mendix Cloud GenAI Resources Packs](/agents/mx-cloud-genai/resource-packs/): The [Mendix Cloud GenAI Connector](https://marketplace.mendix.com/link/component/239449) integrates LLMs by dragging and dropping common operations from its toolbox in Studio Pro. -* [OpenAI](/appstore/modules/genai/openai/): The [OpenAI Connector](https://marketplace.mendix.com/link/component/220472) supports OpenAI's platform and Microsoft Foundry. +* [OpenAI](/agents/reference-guide/external-connectors/openai/): The [OpenAI Connector](https://marketplace.mendix.com/link/component/220472) supports OpenAI's platform and Microsoft Foundry. -* [Amazon Bedrock](/appstore/modules/genai/bedrock/): The [Amazon Bedrock Connector](https://marketplace.mendix.com/link/component/215042) allows you to leverage Amazon Bedrock’s fully managed service to integrate foundation models from Amazon and leading AI providers. +* [Amazon Bedrock](/appstore/modules/aws/amazon-bedrock/): The [Amazon Bedrock Connector](https://marketplace.mendix.com/link/component/215042) allows you to leverage Amazon Bedrock’s fully managed service to integrate foundation models from Amazon and leading AI providers. * Your Own Connector: Optionally, if you prefer a custom connector, you can integrate your chosen infrastructure. However, this document focuses on the platform-supported connectors, as they offer comprehensive support and ease of use to get started. @@ -64,7 +65,7 @@ Next, follow the steps below based on the infrastructure you chose. #### Mendix Cloud GenAI Configuration -Follow these steps to configure the Mendix Cloud GenAI Resources Packs for your application and for more background information, look at the [Mendix Cloud GenAI Configuration](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/#configuration) documentation: +Follow these steps to configure the Mendix Cloud GenAI Resources Packs for your application and for more background information, look at the [Mendix Cloud GenAI Configuration](/agents/mx-cloud-genai/mxgenai-connector/#configuration) documentation: 1. Run the application locally. @@ -78,7 +79,7 @@ Follow these steps to configure the Mendix Cloud GenAI Resources Packs for your #### OpenAI Configuration -Follow the steps below to configure OpenAI for your application. For more information, see the [Configuration](/appstore/modules/genai/reference-guide/external-connectors/openai/#configuration) section of the *OpenAI*. +Follow the steps below to configure OpenAI for your application. For more information, see the [Configuration](/agents/reference-guide/external-connectors/openai/#configuration) section of the *OpenAI*. 1. Run the application locally. diff --git a/content/en/docs/marketplace/genai/how-to/start_from_blank_app.md b/content/en/docs/genai/how-to/start_from_blank_app.md similarity index 81% rename from content/en/docs/marketplace/genai/how-to/start_from_blank_app.md rename to content/en/docs/genai/how-to/start_from_blank_app.md index ce62d3c30cc..98762b804ea 100644 --- a/content/en/docs/marketplace/genai/how-to/start_from_blank_app.md +++ b/content/en/docs/genai/how-to/start_from_blank_app.md @@ -1,16 +1,17 @@ --- title: "Build a Chatbot from Scratch Using the Blank GenAI App" -url: /appstore/modules/genai/how-to/blank-app +url: /agents/how-to/blank-app linktitle: "Build a Chatbot Using the Blank GenAI App" weight: 20 description: "A tutorial that describes how to get started building a smart app from a Blank GenAI App" aliases: - /appstore/modules/genai/using-genai/blank-app/ + - /appstore/modules/genai/how-to/blank-app --- ## Introduction -This document guides you on building a smart app from scratch using a blank GenAI app template. Alternatively, you can use a starter app template to begin your build. For more details, see [Build a Smart App Using a Starter Template](/appstore/modules/genai/how-to/starter-template/). +This document guides you on building a smart app from scratch using a blank GenAI app template. Alternatively, you can use a starter app template to begin your build. For more details, see [Build a Smart App Using a Starter Template](/agents/how-to/starter-template/). ### Prerequisites @@ -20,9 +21,9 @@ Before starting this guide, make sure you have completed the following prerequis * Intermediate knowledge of the Mendix platform: Familiarity with Mendix Studio Pro, microflows, and modules is required. -* Basic understanding of GenAI concepts: Review the [Enrich Your Mendix App with GenAI Capabilities](/appstore/modules/genai/) page to gain foundational knowledge and become familiar with the key [concepts](/appstore/modules/genai/get-started/). +* Basic understanding of GenAI concepts: Review the [Enrich Your Mendix App with Agentic Capabilities](/agents/) page to gain foundational knowledge and become familiar with the key [concepts](/agents/get-started/). -* Understanding Large Language Models (LLMs) and Prompt Engineering: Learn about [LLMs](/appstore/modules/genai/get-started/#llm) and [prompt engineering](/appstore/modules/genai/get-started/#prompt-engineering) to effectively use these within the Mendix ecosystem. +* Understanding Large Language Models (LLMs) and Prompt Engineering: Learn about [LLMs](/agents/get-started/#llm) and [prompt engineering](/agents/get-started/#prompt-engineering) to effectively use these within the Mendix ecosystem. ### Learning Goals @@ -44,20 +45,20 @@ To start building your smart app with a blank GenAI App template, download the [ The [Blank GenAI App Template](https://marketplace.mendix.com/link/component/227934) has the essential GenAI modules pre-installed, which is beneficial to familiarize yourself with the GenAI functionalities Mendix can offer, as it includes: -* The [GenAI Commons](/appstore/modules/genai/commons/) module: provides pre-built operations and data structures for seamless integration with platform-supported GenAI connectors, such as the Mendix Cloud GenAI, OpenAI, or Amazon Bedrock. +* The [GenAI Commons](/agents/genai-for-mx/commons/) module: provides pre-built operations and data structures for seamless integration with platform-supported GenAI connectors, such as the Mendix Cloud GenAI, OpenAI, or Amazon Bedrock. -* The [Conversational UI](/appstore/modules/genai/conversational-ui/) module: offers UI elements for chat interfaces and usage data monitoring. +* The [Conversational UI](/agents/genai-for-mx/conversational-ui/) module: offers UI elements for chat interfaces and usage data monitoring. -* The [Mendix Cloud GenAI Resources Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/) connector: supports the usage of LLMs in your applications. +* The [Mendix Cloud GenAI Resources Packs](/agents/mx-cloud-genai/resource-packs/) connector: supports the usage of LLMs in your applications. ### Choosing the Infrastructure Selecting the infrastructure for integrating GenAI into your Mendix application is the first step. Depending on your use case and preferences, you can choose from the following options: -* [Mendix Cloud GenAI Resources Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/): The [Mendix Cloud GenAI Connector](https://marketplace.mendix.com/link/component/239449) integrates LLMs by dragging and dropping common operations from its toolbox in Studio Pro. -* [OpenAI](/appstore/modules/genai/openai/): The [OpenAI Connector](https://marketplace.mendix.com/link/component/220472) supports both OpenAI's platform and Microsoft Foundry. +* [Mendix Cloud GenAI Resources Packs](/agents/mx-cloud-genai/resource-packs/): The [Mendix Cloud GenAI Connector](https://marketplace.mendix.com/link/component/239449) integrates LLMs by dragging and dropping common operations from its toolbox in Studio Pro. +* [OpenAI](/agents/reference-guide/external-connectors/openai/): The [OpenAI Connector](https://marketplace.mendix.com/link/component/220472) supports both OpenAI's platform and Microsoft Foundry. -* [Amazon Bedrock](/appstore/modules/genai/bedrock/): The [Amazon Bedrock Connector](https://marketplace.mendix.com/link/component/215042) allows you to leverage Amazon Bedrock’s fully managed service to integrate foundation models from Amazon and leading AI providers. +* [Amazon Bedrock](/appstore/modules/aws/amazon-bedrock/): The [Amazon Bedrock Connector](https://marketplace.mendix.com/link/component/215042) allows you to leverage Amazon Bedrock’s fully managed service to integrate foundation models from Amazon and leading AI providers. * Your Own Connector: Optionally, if you prefer a custom connector, you can integrate your chosen infrastructure. However, this document focuses on the OpenAI and Bedrock connectors, as they offer comprehensive support and ease of use to get started. @@ -78,7 +79,7 @@ Since the **ConversationalUI_FullScreenChat** page contains a **Data View** usin #### Customizing the System Prompt (Optional) -To tailor your application's behavior, you can customize the [System Prompt](/appstore/modules/genai/prompt-engineering/#system-prompt) to make it more specific to your use case: +To tailor your application's behavior, you can customize the [System Prompt](/agents/prompt-engineering/#system-prompt) to make it more specific to your use case: ##### Changing the System Prompt {#changing-system-prompt} @@ -105,13 +106,13 @@ You may encounter an error about allowed roles. To resolve this, go to the **Pro #### Mendix Cloud GenAI Configuration -Follow these steps to configure the Mendix Cloud GenAI Resources Packs for your application and more background information, look at the [Mendix Cloud GenAI Configuration](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/#configuration) documentation: +Follow these steps to configure the Mendix Cloud GenAI Resources Packs for your application and more background information, look at the [Mendix Cloud GenAI Configuration](/agents/mx-cloud-genai/mxgenai-connector/#configuration) documentation: 1. Run the application locally. 2. Configure the Mendix Cloud GenAI Settings: * In the chatbot-like application interface, go to **Administration** icon, and find the **Mendix Cloud GenAI Configuration**. - * Select **Import key** and paste the key from the Mendix Portal given to you. For more information about this step, follow the [Navigate through the Mendix Cloud GenAI Portal](/appstore/modules/genai/mx-cloud-genai/Navigate-MxGenAI/) instructions. + * Select **Import key** and paste the key from the Mendix Portal given to you. For more information about this step, follow the [Navigate through the Mendix Cloud GenAI Portal](/agents/mx-cloud-genai/Navigate-MxGenAI/) instructions. 3. Test the Configuration: * Find the configuration you created, and select **Test Key** on the right side of the row. @@ -119,7 +120,7 @@ Follow these steps to configure the Mendix Cloud GenAI Resources Packs for your #### OpenAI Configuration -Follow the steps below to configure OpenAI for your application. For more information, see the [Configuration](/appstore/modules/genai/reference-guide/external-connectors/openai/#configuration) section of the *OpenAI*. +Follow the steps below to configure OpenAI for your application. For more information, see the [Configuration](/agents/reference-guide/external-connectors/openai/#configuration) section of the *OpenAI*. 1. Run the application locally. diff --git a/content/en/docs/marketplace/genai/mendix-cloud-genai/_index.md b/content/en/docs/genai/mendix-cloud-genai/_index.md similarity index 79% rename from content/en/docs/marketplace/genai/mendix-cloud-genai/_index.md rename to content/en/docs/genai/mendix-cloud-genai/_index.md index 1ed21f030de..7054d8b315e 100644 --- a/content/en/docs/marketplace/genai/mendix-cloud-genai/_index.md +++ b/content/en/docs/genai/mendix-cloud-genai/_index.md @@ -1,10 +1,12 @@ --- title: "Mendix Cloud GenAI" -url: /appstore/modules/genai/mx-cloud-genai/ +url: /agents/mx-cloud-genai/ linktitle: "Mendix Cloud GenAI" weight: 30 description: "Provides guidance on how to navigate through the Mendix Cloud GenAI Resource Packs." no_list: false +aliases: + - /appstore/modules/genai/mx-cloud-genai/ --- ## Introduction @@ -23,8 +25,8 @@ There are three types of resources: ## Getting Started -1. Learn about GenAI Resource Packs and how to acquire them in the [Mendix Cloud GenAI Resource Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/) document. -2. Once you have access to GenAI resources, log in to the [Mendix Cloud GenAI portal](https://genai.home.mendix.com/) to generate access keys for your resources. This portal provides an overview of all resources you have access to and enables you to request new GenAI resources. For more information, see [Navigate through the Mendix Cloud GenAI Portal](/appstore/modules/genai/mx-cloud-genai/Navigate-MxGenAI/). -3. Use a starter app containing the [Mendix Cloud GenAI Connector](https://marketplace.mendix.com/link/component/239449) (for example, the [BlankGenAI starter app](https://marketplace.mendix.com/link/component/227934)) or implement the connector in your Mendix app. For more information on configuration and usage, see [Mendix Cloud GenAI Connector](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/). Once you have imported an access key in the configuration overview, you are connected to Mendix Cloud GenAI and can access available resources within your application. +1. Learn about GenAI Resource Packs and how to acquire them in the [Mendix Cloud GenAI Resource Packs](/agents/mx-cloud-genai/resource-packs/) document. +2. Once you have access to GenAI resources, log in to the [Mendix Cloud GenAI portal](https://genai.home.mendix.com/) to generate access keys for your resources. This portal provides an overview of all resources you have access to and enables you to request new GenAI resources. For more information, see [Navigate through the Mendix Cloud GenAI Portal](/agents/mx-cloud-genai/Navigate-MxGenAI/). +3. Use a starter app containing the [Mendix Cloud GenAI Connector](https://marketplace.mendix.com/link/component/239449) (for example, the [BlankGenAI starter app](https://marketplace.mendix.com/link/component/227934)) or implement the connector in your Mendix app. For more information on configuration and usage, see [Mendix Cloud GenAI Connector](/agents/mx-cloud-genai/mxgenai-connector/). Once you have imported an access key in the configuration overview, you are connected to Mendix Cloud GenAI and can access available resources within your application. ## Relevant Sources diff --git a/content/en/docs/marketplace/genai/mendix-cloud-genai/mendix-cloud-grp.md b/content/en/docs/genai/mendix-cloud-genai/mendix-cloud-grp.md similarity index 88% rename from content/en/docs/marketplace/genai/mendix-cloud-genai/mendix-cloud-grp.md rename to content/en/docs/genai/mendix-cloud-genai/mendix-cloud-grp.md index 87ce6a7ec13..2f31ffcfd76 100644 --- a/content/en/docs/marketplace/genai/mendix-cloud-genai/mendix-cloud-grp.md +++ b/content/en/docs/genai/mendix-cloud-genai/mendix-cloud-grp.md @@ -1,9 +1,11 @@ --- title: "Mendix Cloud GenAI Resource Packs" -url: /appstore/modules/genai/mx-cloud-genai/resource-packs +url: /agents/mx-cloud-genai/resource-packs linktitle: "Mendix Cloud GenAI Resource Packs" description: "Provides an overview of Mendix Cloud GenAI Resource Packs, including their capabilities, limitations, and frequently asked questions (FAQ)" weight: 10 +aliases: + - /appstore/modules/genai/mx-cloud-genai/resource-packs --- ## Introduction @@ -14,7 +16,7 @@ Mendix Cloud GenAI Resource Packs provide turn-key access to Generative AI techn * Knowledge Base Resource Packs provide an OpenSearch-based vector database to support Retrieval-Augmented Generation (RAG), Semantic Search, and other Generative AI use cases. -Developers can use the Mendix Portal to manage their Mendix Cloud GenAI resources and seamlessly integrate model and knowledge base capabilities into their Mendix applications using the [Mendix Cloud GenAI Connector](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/). Optimized for high performance and low latency, Mendix Cloud GenAI Resource Packs provide the easiest and fastest way to deliver end-to-end Generative AI solutions with Mendix. +Developers can use the Mendix Portal to manage their Mendix Cloud GenAI resources and seamlessly integrate model and knowledge base capabilities into their Mendix applications using the [Mendix Cloud GenAI Connector](/agents/mx-cloud-genai/mxgenai-connector/). Optimized for high performance and low latency, Mendix Cloud GenAI Resource Packs provide the easiest and fastest way to deliver end-to-end Generative AI solutions with Mendix. ### General Availability @@ -39,7 +41,7 @@ The Mendix Cloud GenAI Resource Packs provide access to the following models: The models are available through the Mendix Cloud, leveraging AWS's highly secure Amazon Bedrock multi-tenant architecture. This architecture employs advanced logical isolation techniques to effectively segregate customer data, requests, and responses, ensuring a level of data protection that aligns with global security compliance requirements. Customer prompts, requests, and responses are neither stored nor used for model training. Your data remains your data. -Customers looking to leverage other models in addition to the above can also take advantage of Mendix's [(Azure) OpenAI Connector](/appstore/modules/genai/reference-guide/external-connectors/openai/), Amazon [Bedrock Connector](/appstore/modules/genai/reference-guide/external-connectors/bedrock/), and [Mistral Connector](/appstore/modules/genai/reference-guide/external-connectors/mistral/) to integrate numerous other models into their apps. +Customers looking to leverage other models in addition to the above can also take advantage of Mendix's [(Azure) OpenAI Connector](/agents/reference-guide/external-connectors/openai/), Amazon [Bedrock Connector](/agents/reference-guide/external-connectors/bedrock/), and [Mistral Connector](/agents/reference-guide/external-connectors/mistral/) to integrate numerous other models into their apps. {{% alert color="info" %}} Additional regions will be available in the future. If you have questions about upcoming regions, or would like to explore making models available in your specific region, reach out to `genai-resource-packs@mendix.com`. @@ -126,11 +128,11 @@ The [Mendix Cloud GenAI Portal](https://genai.home.mendix.com/) allows easy acce * Create and manage connection keys to connect your apps with all resources. * Track activity logs for team access and connection key management. -For more information, see [Navigate through the Mendix Cloud GenAI Portal](/appstore/modules/genai/mx-cloud-genai/Navigate-MxGenAI/). +For more information, see [Navigate through the Mendix Cloud GenAI Portal](/agents/mx-cloud-genai/Navigate-MxGenAI/). ### Mendix Cloud GenAI Connector -The [Mendix Cloud GenAI connector](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/) lets you utilize Mendix Cloud GenAI resource packs directly within your Mendix application. It allows you to integrate generative AI by dragging and dropping common operations from its toolbox. Note that any versions older than the ones listed below are no longer functional: +The [Mendix Cloud GenAI connector](/agents/mx-cloud-genai/mxgenai-connector/) lets you utilize Mendix Cloud GenAI resource packs directly within your Mendix application. It allows you to integrate generative AI by dragging and dropping common operations from its toolbox. Note that any versions older than the ones listed below are no longer functional: * GenAI for Mendix bundle v2.4.1 (Mendix 9) (contains Mendix Cloud GenAI connector) or * Mendix Cloud GenAI connector v3.1.1 (no `DeployedKnowledgeBase` support) or @@ -152,7 +154,7 @@ Data sent to the Knowledge Base (vectors, chunks) is stored in a logically isola ### Read More -* [Enrich your Mendix app with GenAI capabilities](/appstore/modules/genai/) -* [Build a Chatbot Using the AI Bot Starter App](/appstore/modules/genai/how-to/starter-template/) -* [Creating Your First Agent](/appstore/modules/genai/how-to/creating-agents/) -* [Grounding Your Large Language Model in Data – Mendix Cloud GenAI](/appstore/modules/genai/how-to/howto-groundllm/) +* [Enrich Your Mendix App with Agentic Capabilities](/agents/) +* [Build a Chatbot Using the AI Bot Starter App](/agents/how-to/starter-template/) +* [Creating Your First Agent](/agents/how-to/creating-agents/) +* [Grounding Your Large Language Model in Data – Mendix Cloud GenAI](/agents/how-to/howto-groundllm/) diff --git a/content/en/docs/marketplace/genai/mendix-cloud-genai/navigate_mxgenai.md b/content/en/docs/genai/mendix-cloud-genai/navigate_mxgenai.md similarity index 95% rename from content/en/docs/marketplace/genai/mendix-cloud-genai/navigate_mxgenai.md rename to content/en/docs/genai/mendix-cloud-genai/navigate_mxgenai.md index a6f34a51c2d..4d5914e3284 100644 --- a/content/en/docs/marketplace/genai/mendix-cloud-genai/navigate_mxgenai.md +++ b/content/en/docs/genai/mendix-cloud-genai/navigate_mxgenai.md @@ -1,14 +1,16 @@ --- title: "Navigate through the Mendix Cloud GenAI Portal" -url: /appstore/modules/genai/mx-cloud-genai/Navigate-MxGenAI/ +url: /agents/mx-cloud-genai/Navigate-MxGenAI/ linktitle: "Mendix Cloud GenAI Portal" description: "Describes how to navigate through the Mendix Cloud GenAI Portal." weight: 30 +aliases: + - /appstore/modules/genai/mx-cloud-genai/Navigate-MxGenAI/ --- ## Introduction -The [Mendix Cloud GenAI portal](https://genai.home.mendix.com/) is the part of the Mendix portal that provides access to [Mendix Cloud GenAI Resource Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/). After logging in, you can navigate to the overview of all resources. You can see all resources, that you are a team member of and access their details. +The [Mendix Cloud GenAI portal](https://genai.home.mendix.com/) is the part of the Mendix portal that provides access to [Mendix Cloud GenAI Resource Packs](/agents/mx-cloud-genai/resource-packs/). After logging in, you can navigate to the overview of all resources. You can see all resources, that you are a team member of and access their details. ## Resource Details @@ -34,7 +36,7 @@ The **Settings** tab contains the details of a GenAI resource. It shows the foll #### Additional Details for Knowledge Base Resources -For knowledge base resources, you can also see details of the associated embeddings resource and vice versa. To learn more about embeddings, see the [Embedding vector](/appstore/modules/genai/rag/#embedding-vector) section of *RAG in a Mendix App*. +For knowledge base resources, you can also see details of the associated embeddings resource and vice versa. To learn more about embeddings, see the [Embedding vector](/agents/rag/#embedding-vector) section of *RAG in a Mendix App*. #### Upgrading the Text Model Version{#upgrade-model} @@ -141,7 +143,7 @@ Instead of relying solely on similarity-based searches of ticket descriptions, u #### Add Data from a Mendix Application -You can upload data directly from Mendix to the Knowledge Base. To do so, several operations of the Mendix Cloud GenAI Connector are required. For a detailed guide on this process, see the [Add Data Chunks to Your Knowledge Base](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/#add-data-chunks-to-your-knowledge-base) section of **Mendix Cloud GenAI Connector**. +You can upload data directly from Mendix to the Knowledge Base. To do so, several operations of the Mendix Cloud GenAI Connector are required. For a detailed guide on this process, see the [Add Data Chunks to Your Knowledge Base](/agents/mx-cloud-genai/mxgenai-connector/#add-data-chunks-to-your-knowledge-base) section of **Mendix Cloud GenAI Connector**. ### Consumption (Only for Text and Embeddings Generation Resources) diff --git a/content/en/docs/marketplace/genai/reference-guide/_index.md b/content/en/docs/genai/reference-guide/_index.md similarity index 83% rename from content/en/docs/marketplace/genai/reference-guide/_index.md rename to content/en/docs/genai/reference-guide/_index.md index 51dca9a5ffe..2fdb7694f05 100644 --- a/content/en/docs/marketplace/genai/reference-guide/_index.md +++ b/content/en/docs/genai/reference-guide/_index.md @@ -1,12 +1,13 @@ --- title: "Reference Guide" -url: /appstore/modules/genai/reference-guide/ +url: /agents/reference-guide/ linktitle: "Reference Guide" weight: 20 description: "Provides references of Mendix's GenAI Modules and Tools." no_list: false aliases: - - /appstore/modules/genai/genai-for-mx/ + - /appstore/modules/genai/genai-for-mx/ + - /appstore/modules/genai/reference-guide/ --- ## Introduction {#introduction} diff --git a/content/en/docs/marketplace/genai/reference-guide/agent-commons.md b/content/en/docs/genai/reference-guide/agent-commons.md similarity index 84% rename from content/en/docs/marketplace/genai/reference-guide/agent-commons.md rename to content/en/docs/genai/reference-guide/agent-commons.md index 385495c1d40..4a2313d1c10 100644 --- a/content/en/docs/marketplace/genai/reference-guide/agent-commons.md +++ b/content/en/docs/genai/reference-guide/agent-commons.md @@ -1,9 +1,11 @@ --- title: "Agent Commons" -url: /appstore/modules/genai/genai-for-mx/agent-commons/ +url: /agents/genai-for-mx/agent-commons/ linktitle: "Agent Commons" description: "Describes the purpose, configuration, and usage of the Agents Commons module from the Mendix Marketplace that allows developers to build, define, and refine Agents, to integrate GenAI principles, and Agentic patterns into their Mendix app." weight: 20 +aliases: + - /appstore/modules/genai/genai-for-mx/agent-commons/ --- ## Introduction @@ -60,7 +62,7 @@ In addition, install the following modules: ## Installation If you are starting from a blank app or adding agent-building functionality to an existing project, you need to manually install the [Agent Commons](https://marketplace.mendix.com/link/component/240371) module from the Mendix Marketplace. -Before proceeding, ensure your project includes the latest versions of the required [dependencies](#dependencies). Follow the instructions in [How to Use Marketplace Content](/appstore/use-content/) to install the Agent Commons module. +Before proceeding, ensure your project includes the latest versions of the required [dependencies](#dependencies). Follow the instructions in [Using Marketplace Content](/appstore/use-content/) to install the Agent Commons module. ## Configuration {#configuration} @@ -93,11 +95,11 @@ For example, download and run the [Agent Builder Starter App](https://marketplac ### Configuring Deployed Models {#deployed-models} -To interact with LLMs using Agent Commons, you need at least one GenAI connector that adheres to the GenAI Commons principles. To test agent behavior, you must configure at least one [Deployed Model](/appstore/modules/genai/genai-for-mx/commons/#deployed-model) for your chosen connector. Refer to the specific connector’s documentation for detailed instructions on setting up the Deployed Model. +To interact with LLMs using Agent Commons, you need at least one GenAI connector that adheres to the GenAI Commons principles. To test agent behavior, you must configure at least one [Deployed Model](/agents/genai-for-mx/commons/#deployed-model) for your chosen connector. Refer to the specific connector’s documentation for detailed instructions on setting up the Deployed Model. -* For [Mendix Cloud GenAI](https://marketplace.mendix.com/link/component/239449), importing the **Key** from the Mendix portal automatically creates a MxCloud Deployed Model. This is part of the [configuration](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/#configuration). +* For [Mendix Cloud GenAI](https://marketplace.mendix.com/link/component/239449), importing the **Key** from the Mendix portal automatically creates a MxCloud Deployed Model. This is part of the [configuration](/agents/mx-cloud-genai/mxgenai-connector/#configuration). * For [Amazon Bedrock](https://marketplace.mendix.com/link/component/215042), the creation of Bedrock Deployed Models is part of the [model synchronization mechanism](/appstore/modules/aws/amazon-bedrock/#sync-models). -* For [OpenAI](https://marketplace.mendix.com/link/component/220472), the configuration of OpenAI Deployed Models is part of the [configuration](/appstore/modules/genai/reference-guide/external-connectors/openai/#general-configuration). +* For [OpenAI](https://marketplace.mendix.com/link/component/220472), the configuration of OpenAI Deployed Models is part of the [configuration](/agents/reference-guide/external-connectors/openai/#general-configuration). ### Defining the Agent {#define-agent} @@ -133,11 +135,11 @@ To extend an agent's capabilities, you can provide an LLM with tools so that it To allow your agent to act dynamically and autonomously or to access specific data based on input it determines, microflows can be added as tools. When the agent is invoked, it uses the function calling pattern to execute the required microflows, using the input specified in the model’s response. -For more technical details, see the [Function Calling](/appstore/modules/genai/function-calling/) documentation. +For more technical details, see the [Function Calling](/agents/function-calling/) documentation. ##### Adding Tools from MCP Servers -Besides microflow tools, tools exposed by MCP servers are also supported. To add MCP tools to an agent version, select an MCP server configuration from the [MCP client module](/appstore/modules/genai/mcp-modules/mcp-client/). You can then choose one of two ways to add MCP tools: +Besides microflow tools, tools exposed by MCP servers are also supported. To add MCP tools to an agent version, select an MCP server configuration from the [MCP Client module](/agents/mcp-modules/mcp-client/). You can then choose one of two ways to add MCP tools: * **Use all available tools**: Imports the entire server, including all tools it provides. This also means less control over individual tools, and if tools are added in the future, they get added automatically on agent execution. * **Select Tools**: Lets you import specific tools from the server and change specific fields for individual tools. @@ -146,14 +148,14 @@ Besides microflow tools, tools exposed by MCP servers are also supported. To add For supported knowledge bases registered in your app, you can connect them to agents to enable autonomous retrievals. Refer to the documentation of the connector provided by your selected knowledge base provider. Follow the instructions to configure the knowledge bases in your app, so that they can be linked to your agents. Mendix provides the following platform-supported connectors that support knowledge base integrations with agents: -* [Mendix Cloud GenAI Connector](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/#configuration) +* [Mendix Cloud GenAI Connector](/agents/mx-cloud-genai/mxgenai-connector/#configuration) * [Amazon Bedrock Connector](/appstore/modules/aws/amazon-bedrock/#sync-models) -* [OpenAI Connector](/appstore/modules/genai/reference-guide/external-connectors/openai/#azure-ai-search) -* [PgVector Knowledge Base](/appstore/modules/genai/reference-guide/external-connectors/pgvector/#general-configuration) +* [OpenAI Connector](/agents/reference-guide/external-connectors/openai/#azure-ai-search) +* [PgVector Knowledge Base](/agents/reference-guide/external-connectors/pgvector/#general-configuration) To allow an agent to perform semantic searches, add the knowledge base to the agent definition and configure the retrieval parameters, such as the number of chunks to retrieve, and the threshold similarity. Multiple knowledge bases can be added to the agent to pick from. Give each knowledge base a name and description (in human language) so that the model can decide which retrievals are necessary based on the input it gets. -Note that [user access approval](/appstore/modules/genai/genai-for-mx/commons/#enum-useraccessapproval) can only be set to `HiddenForUser` or `VisibleForUser` for knowledge base retrievals. +Note that [user access approval](/agents/genai-for-mx/commons/#enum-useraccessapproval) can only be set to `HiddenForUser` or `VisibleForUser` for knowledge base retrievals. #### Testing and Refining the Agent @@ -174,22 +176,22 @@ For most use cases, a `Call Agent` microflow activity can be used. You can find | Toolbox action name | Supported agent types | Description | |---|---|---| -| [Call Agent with History](#call-agent-with-history) | Task, Chat | This action returns the assistant response for a single user message or based on a conversation history. The user message or an alternating chat history of the user and assistant message needs to be added to the request before calling this action. See [Add Message to Request](/appstore/modules/genai/genai-for-mx/commons/#chat-add-message-to-request)
This operation is designed for chat agents, but will work for task agents as well; note that in that case, the user prompt defined on the agent version is ignored. | +| [Call Agent with History](#call-agent-with-history) | Task, Chat | This action returns the assistant response for a single user message or based on a conversation history. The user message or an alternating chat history of the user and assistant message needs to be added to the request before calling this action. See [Add Message to Request](/agents/genai-for-mx/commons/#chat-add-message-to-request)
This operation is designed for chat agents, but will work for task agents as well; note that in that case, the user prompt defined on the agent version is ignored. | | [Call Agent without History](#call-agent-without-history) | Task | This action returns the assistant response for a single user message. For Task agents, the user message is already part of the agent version and thus does not need to be passed explicitly or added to the optional request. | ##### Call Agent with History {#call-agent-with-history} -This action uses all defined settings, including the selected model, system prompt, tools, knowledge base, and model parameters to call the Agent using the specified `Request` and execute a `Chat Completions` operation. If a `Request` object is passed that already contains a system prompt, or a value for the parameters temperature, top P, or max tokens, those values have priority and will not be overwritten by the agent configurations. If a context entity is configured, the corresponding context object must be passed so that variables in the system prompt can be replaced. The operation returns a `Response` object containing the assistant’s final message, consistent with the chat completions operations from GenAI Commons. If there are tool calls requested by the model and set for visibility to the user, the response will contain those instead, see [Human in the loop](/appstore/modules/genai/genai-for-mx/conversational-ui/#human-in-the-loop), for more information. +This action uses all defined settings, including the selected model, system prompt, tools, knowledge base, and model parameters to call the Agent using the specified `Request` and execute a `Chat Completions` operation. If a `Request` object is passed that already contains a system prompt, or a value for the parameters temperature, top P, or max tokens, those values have priority and will not be overwritten by the agent configurations. If a context entity is configured, the corresponding context object must be passed so that variables in the system prompt can be replaced. The operation returns a `Response` object containing the assistant’s final message, consistent with the chat completions operations from GenAI Commons. If there are tool calls requested by the model and set for visibility to the user, the response will contain those instead, see [Human in the loop](/agents/genai-for-mx/conversational-ui/#human-in-the-loop), for more information. To use it: -1. Create a `Request` object using the [Create Request](/appstore/modules/genai/genai-for-mx/commons/#chat-create-request), [Default Preprocessing](/appstore/modules/genai/genai-for-mx/conversational-ui/#chat-context-operations), or the [Create Request with Chat History](/appstore/modules/genai/genai-for-mx/conversational-ui/#request-operations) action. You can set optional attributes (such as temperature) directly on the request if you want to override those defined in the agent version. You can also [add additional knowledge bases or tools to the request](/appstore/modules/genai/genai-for-mx/commons/#add-function-to-request) that are not already defined with the agent version. -2. Add at least one user message to the request using the [GenAI Commons operation](/appstore/modules/genai/genai-for-mx/commons/#chat-add-message-to-request). You can alternate between user and assistant messages if you want to send a whole conversation history to the model. If you used [Create Request with Chat History](/appstore/modules/genai/genai-for-mx/conversational-ui/#request-operations) or [Default Preprocessing](/appstore/modules/genai/genai-for-mx/conversational-ui/#chat-context-operations) and your Chat Context contained messages, you can ignore this step. +1. Create a `Request` object using the [Create Request](/agents/genai-for-mx/commons/#chat-create-request), [Default Preprocessing](/agents/genai-for-mx/conversational-ui/#chat-context-operations), or the [Create Request with Chat History](/agents/genai-for-mx/conversational-ui/#request-operations) action. You can set optional attributes (such as temperature) directly on the request if you want to override those defined in the agent version. You can also [add additional knowledge bases or tools to the request](/agents/genai-for-mx/commons/#add-function-to-request) that are not already defined with the agent version. +2. Add at least one user message to the request using the [GenAI Commons operation](/agents/genai-for-mx/commons/#chat-add-message-to-request). You can alternate between user and assistant messages if you want to send a whole conversation history to the model. If you used [Create Request with Chat History](/agents/genai-for-mx/conversational-ui/#request-operations) or [Default Preprocessing](/agents/genai-for-mx/conversational-ui/#chat-context-operations) and your Chat Context contained messages, you can ignore this step. 3. Ensure the Agent object is in scope, for example, retrieve it from the database by name. 4. Optional: For more specific use cases, a context object can be passed for variable replacement. This object needs to be of the entity that was selected while [defining the agent](#define-context-entity). 5. Pass both the `Request`, Agent, and optionally the context object to the `Call Agent with History` activity. -For a chat agent, the chat context can be created based on the agent in one convenient operation. Use the `New Chat for Agent` operation from the **Toolbox** under the **Agents Kit** category. Retrieve the agent (for example, by name) and pass it with your custom context object to the operation. Note that this sets the system prompt for the chat context, making it applicable to the entire (future) conversation. Similar to other chat context operations, an action microflow needs to be selected for this microflow action. For more information, see the [Creating a Custom Action Microflow](/appstore/modules/genai/genai-for-mx/conversational-ui/#action-microflow) section of Conversational UI. +For a chat agent, the chat context can be created based on the agent in one convenient operation. Use the `New Chat for Agent` operation from the **Toolbox** under the **Agents Kit** category. Retrieve the agent (for example, by name) and pass it with your custom context object to the operation. Note that this sets the system prompt for the chat context, making it applicable to the entire (future) conversation. Similar to other chat context operations, an action microflow needs to be selected for this microflow action. For more information, see the [Creating a Custom Action Microflow](/agents/genai-for-mx/conversational-ui/#action-microflow) section of Conversational UI. {{% alert color="info" %}} Download the [Agent Builder Starter App](https://marketplace.mendix.com/link/component/240369) from the Marketplace for a detailed example of how to use the **Call Agent** activity in an action microflow of a chat interface. @@ -197,14 +199,14 @@ Download the [Agent Builder Starter App](https://marketplace.mendix.com/link/com ##### Call Agent without History {#call-agent-without-history} -This action is only supported by Task agents which have a user prompt defined as part of the agent version. It uses all defined settings, including the selected model, system prompt, user prompt, tools, knowledge base, and model parameters to call the agent by executing a `Chat Completions` operation. If any of the parameters (system prompt, temperature, top P, or max tokens) should be overwritten or you want to pass an additional knowledge base or tool that is not already defined with the agent, you can do this by creating a request and adding these properties before passing it as `OptionalRequest` to the operation. If a context entity was configured, the corresponding context object must be passed so that variables in the system prompt can be replaced. The operation returns a `Response` object containing the assistant’s final message, similar to the chat completions operations from GenAI Commons. If there are tool calls requested by the model and set for visibility to the user, the response will contain those instead, see [Human in the loop](/appstore/modules/genai/genai-for-mx/conversational-ui/#human-in-the-loop), for more information. +This action is only supported by Task agents which have a user prompt defined as part of the agent version. It uses all defined settings, including the selected model, system prompt, user prompt, tools, knowledge base, and model parameters to call the agent by executing a `Chat Completions` operation. If any of the parameters (system prompt, temperature, top P, or max tokens) should be overwritten or you want to pass an additional knowledge base or tool that is not already defined with the agent, you can do this by creating a request and adding these properties before passing it as `OptionalRequest` to the operation. If a context entity was configured, the corresponding context object must be passed so that variables in the system prompt can be replaced. The operation returns a `Response` object containing the assistant’s final message, similar to the chat completions operations from GenAI Commons. If there are tool calls requested by the model and set for visibility to the user, the response will contain those instead, see [Human in the loop](/agents/genai-for-mx/conversational-ui/#human-in-the-loop), for more information. To use it: 1. Ensure the Agent object is in scope, for example, retrieve it from the database by name. -2. Optional: Create a `Request` object using the [GenAI Commons operation](/appstore/modules/genai/genai-for-mx/commons/#chat-create-request) to set optional attributes (such as temperature), if you want to overwrite those from the agent version. You can also [add additional knowledge bases or tools to the request](/appstore/modules/genai/genai-for-mx/commons/#add-function-to-request) that are not already defined with the agent version. +2. Optional: Create a `Request` object using the [GenAI Commons operation](/agents/genai-for-mx/commons/#chat-create-request) to set optional attributes (such as temperature), if you want to overwrite those from the agent version. You can also [add additional knowledge bases or tools to the request](/agents/genai-for-mx/commons/#add-function-to-request) that are not already defined with the agent version. 3. Optional: For more specific use cases, a context object can be passed for variable replacement. This object needs to be of the entity that was selected while [defining the agent](#define-context-entity). -4. Optional: You can [create a file collection and add files](/appstore/modules/genai/genai-for-mx/commons/#initialize-filecollection) to it that can be sent along with the user message to the model. Check the documentation of the underlying LLM connector for support of files and images. +4. Optional: You can [create a file collection and add files](/agents/genai-for-mx/commons/#initialize-filecollection) to it that can be sent along with the user message to the model. Check the documentation of the underlying LLM connector for support of files and images. 5. Pass Agent and, if relevant, the optional request and context objects to the `Call Agent without History` activity. #### Transporting the Agent to Other Environments diff --git a/content/en/docs/marketplace/genai/reference-guide/agent-editor.md b/content/en/docs/genai/reference-guide/agent-editor.md similarity index 94% rename from content/en/docs/marketplace/genai/reference-guide/agent-editor.md rename to content/en/docs/genai/reference-guide/agent-editor.md index e8f8f8ba17c..2c7f0b51242 100644 --- a/content/en/docs/marketplace/genai/reference-guide/agent-editor.md +++ b/content/en/docs/genai/reference-guide/agent-editor.md @@ -1,9 +1,11 @@ --- title: "Agent Editor" -url: /appstore/modules/genai/genai-for-mx/agent-editor/ +url: /agents/genai-for-mx/agent-editor/ linktitle: "Agent Editor" description: "Describes the purpose, configuration, and usage of the Agent Editor and Agent Editor Commons modules from the Mendix Marketplace that allow developers to build, define, and refine agents, and integrate GenAI principles and agentic patterns into their Mendix app." weight: 20 +aliases: + - /appstore/modules/genai/genai-for-mx/agent-editor/ --- ## Introduction @@ -72,7 +74,7 @@ In addition, ensure the following widgets are available in your app: If you are starting from a blank app or adding agent-editing functionality to an existing app, manually install the [Agent Editor](https://marketplace.mendix.com/link/component/257918) package from Mendix Marketplace. After downloading, you might see a warning asking for permission to add an extension to your app. Click **Trust module and enable extension** in the pop-up to install Agent Editor. -Before proceeding, ensure your app includes the latest versions of the required [dependencies](#dependencies). Follow the instructions in [How to Use Marketplace Content](/appstore/use-content/) to install Agent Editor. +Before proceeding, ensure your app includes the latest versions of the required [dependencies](#dependencies). Follow the instructions in [Using Marketplace Content](/appstore/use-content/) to install Agent Editor. Installation adds two modules to your app: @@ -104,7 +106,7 @@ To use Agent Editor functionalities in your app, you must perform the following 6. Deploy the agent to cloud environments. 7. Improve the agent in the next iterations. -For a step-by-step tutorial, see [Create an Agent with Agent Editor](/appstore/modules/genai/how-to/create-agent-with-agent-editor/). +For a step-by-step tutorial, see [Create an Agent with Agent Editor](/agents/how-to/create-agent-with-agent-editor/). ### Defining the Model {#define-model} @@ -137,13 +139,13 @@ Defining an agent is also document-based and can be configured using Agent Edito You can also check out template agents in the **USE_ME** folder of the **AgentEditorCommons** module. -For more information about prompts and prompt engineering, see [Prompt Engineering](/appstore/modules/genai/prompt-engineering/). +For more information about prompts and prompt engineering, see [Prompt Engineering](/agents/prompt-engineering/). Selecting a model is mandatory. You can save the document without it, but if the model configuration is incomplete, Studio Pro shows consistency errors. These errors block running the app locally, cloud deployment, and agent testing in later steps. ### Defining and Adding Tools and Knowledge Bases {#define-tools} -To extend the capabilities of your agent, you can add tools directly in Agent Editor. In Agent Editor, microflows and (external) MCP services can be added as tools to let the agent act dynamically and autonomously, or to access specific data based on input it determines. When the agent is invoked, it uses the function calling pattern to execute the required microflow by using the input specified in the model response. For more technical details about microflow tools and function calling behavior, see [Function Calling](/appstore/modules/genai/function-calling/). +To extend the capabilities of your agent, you can add tools directly in Agent Editor. In Agent Editor, microflows and (external) MCP services can be added as tools to let the agent act dynamically and autonomously, or to access specific data based on input it determines. When the agent is invoked, it uses the function calling pattern to execute the required microflow by using the input specified in the model response. For more technical details about microflow tools and function calling behavior, see [Function Calling](/agents/function-calling/). #### Configuring Consumed MCP Service {#define-mcp} @@ -170,7 +172,7 @@ You can choose from the following tool types: In Agent Editor, you can temporarily disable and re-enable tools using the **Active** checkbox. This is useful while iterating and testing the agent behavior with different tool combinations or descriptions. Only enabled tools are usable by the agent at runtime when called in the app. -Configure [tool choice](/appstore/modules/genai/genai-for-mx/commons/#enum-toolchoice) to control how the agent behaves with regard to tool calling. +Configure [tool choice](/agents/genai-for-mx/commons/#enum-toolchoice) to control how the agent behaves with regard to tool calling. #### Configuring Knowledge Base Document {#define-knowledgebase} @@ -233,7 +235,7 @@ When configuring the action, select the Agent document so that the right agent i For **Call Agent without History**, you can optionally pass a `Request` object to set request-level values and a `FileCollection` object with files to send along with the user message to use vision or document chat capabilities. For **Call Agent with History**, the `Request` object is mandatory because it contains the previous messages from the conversation. Support for files and images depends on the underlying large language model. Refer to the documentation of the specific connector. -The output is a `GenAICommons.Response` object, aligned with the GenAI Commons and Agent Commons domain models and actions. You can use this object for further logic. Additionally, all agents created via the Agent Editor extension are integrated with other Mendix offerings, such as the [Token consumption monitor](/appstore/modules/genai/genai-for-mx/conversational-ui/#snippet-token-monitor) or the [Traceability](/appstore/modules/genai/genai-for-mx/conversational-ui/#traceability) feature from [ConversationalUI](/appstore/modules/genai/genai-for-mx/conversational-ui/). +The output is a `GenAICommons.Response` object, aligned with the GenAI Commons and Agent Commons domain models and actions. You can use this object for further logic. Additionally, all agents created via the Agent Editor extension are integrated with other Mendix offerings, such as the [Token consumption monitor](/agents/genai-for-mx/conversational-ui/#snippet-token-monitor) or the [Traceability](/agents/genai-for-mx/conversational-ui/#traceability) feature from [ConversationalUI](/agents/genai-for-mx/conversational-ui/). ### Including the Agent in Workflows @@ -241,7 +243,7 @@ Agents can also be invoked from workflows using the [AI Agent Task](/refguide/ai ### Including the Agent in a Conversational User Interface {#conversational-ui} -Pages and Snippets are building blocks for chat-type UI patterns that exist in the [ConversationalUI module](/appstore/modules/genai/genai-for-mx/conversational-ui/). The central entity is the `ChatContext`, which represents a user-agent chat session. When using Agent Editor, to instantiate a new `ChatContext`, use the **New Chat for Agent** action in the microflow to open the chat page and pass the Agent document. Configure the Agent document as the input parameter for this action. For more information, see [Conversational UI patterns](/appstore/modules/genai/genai-for-mx/conversational-ui/#chat-context-operations). +Pages and Snippets are building blocks for chat-type UI patterns that exist in the [ConversationalUI module](/agents/genai-for-mx/conversational-ui/). The central entity is the `ChatContext`, which represents a user-agent chat session. When using Agent Editor, to instantiate a new `ChatContext`, use the **New Chat for Agent** action in the microflow to open the chat page and pass the Agent document. Configure the Agent document as the input parameter for this action. For more information, see [Conversational UI patterns](/agents/genai-for-mx/conversational-ui/#chat-context-operations). ### Deploying the Agent to Cloud Environments {#deploy-agent} @@ -291,7 +293,7 @@ Agent documents created in Studio Pro are imported through after-startup logic. If **List tools** fails, verify the consumed MCP service configuration: endpoint constant value, protocol version, and credentials microflow (when authentication is required). For technical details, the log files in the `/agent-editor` folder of the app directory can be inspected. -If possible, confirm that the target endpoint is reachable from the running app runtime. You can do this, for example, by temporarily configuring it manually in the [MCP Client module](/appstore/modules/genai/mcp-modules/mcp-client/) and checking the **Console** pane in Studio Pro for logs. +If possible, confirm that the target endpoint is reachable from the running app runtime. You can do this, for example, by temporarily configuring it manually in the [MCP Client module](/agents/mcp-modules/mcp-client/) and checking the **Console** pane in Studio Pro for logs. If calling the tools fails at runtime while testing the agent, check the **Console** pane in Studio Pro for error logs. diff --git a/content/en/docs/marketplace/genai/reference-guide/conversational-ui.md b/content/en/docs/genai/reference-guide/conversational-ui.md similarity index 82% rename from content/en/docs/marketplace/genai/reference-guide/conversational-ui.md rename to content/en/docs/genai/reference-guide/conversational-ui.md index 890661b1c6d..73eeda1d2c2 100644 --- a/content/en/docs/marketplace/genai/reference-guide/conversational-ui.md +++ b/content/en/docs/genai/reference-guide/conversational-ui.md @@ -1,13 +1,14 @@ --- title: "Conversational UI" -url: /appstore/modules/genai/genai-for-mx/conversational-ui/ +url: /agents/genai-for-mx/conversational-ui/ linktitle: "Conversational UI" weight: 20 description: "Describes the Conversational UI marketplace module that assists developers in implementing conversational use cases such as an AI Bot." aliases: - - /appstore/modules/genai/conversational-ui/ - - /appstore/modules/genai/conversational-ui-module/conversational-ui/ - - /appstore/modules/genai/conversational-ui-module/ + - /appstore/modules/genai/conversational-ui/ + - /appstore/modules/genai/conversational-ui-module/conversational-ui/ + - /appstore/modules/genai/conversational-ui-module/ + - /appstore/modules/genai/genai-for-mx/conversational-ui/ --- ## Introduction {#introduction} @@ -17,7 +18,7 @@ With the [Conversational UI](https://marketplace.mendix.com/link/component/23945 Mendix has produced a [Conversational AI Design Checklist](/howto/front-end/conversation-checklist/) with some best practices for introducing conversational AI into your app. {{% alert color="info" %}} -Prompt Management used to be a capability of the Conversational UI module. Since version 4.0.0, it is no longer part of the module, and has been moved to the [Agent Commons](/appstore/modules/genai/genai-for-mx/agent-commons/) module. Existing prompts can be exported from the Prompt Management overview page and imported into the Agent Builder interface. +Prompt Management used to be a capability of the Conversational UI module. Since version 4.0.0, it is no longer part of the module, and has been moved to the [Agent Commons](/agents/genai-for-mx/agent-commons/) module. Existing prompts can be exported from the Prompt Management overview page and imported into the Agent Builder interface. {{% /alert %}} ### Typical Use Cases {#use-cases} @@ -27,7 +28,7 @@ Typical use cases for Conversational UI include the following: * Create a chat interface for users to chat with Large Language Models (LLM). * Allow users to switch between different implementations by switching providers. * Include advanced capabilities to control the model's behavior, for example, by setting the temperature parameter. -* Easily extend the chat interface with advanced concepts, such as RAG or the ReAct pattern. For more information, see [GenAI Concepts](/appstore/modules/genai/get-started/). +* Easily extend the chat interface with advanced concepts, such as RAG or the ReAct pattern. For more information, see [GenAI Concepts](/agents/get-started/). ### Features {#features} @@ -43,7 +44,7 @@ The Conversational UI module provides the following functionalities: * Operations to set up your context, interact with the model, and add the data to be displayed in the UI * Domain model to store the chat conversations and additional information -* Integration with any model that is compatible with [GenAI Commons](/appstore/modules/genai/commons/) +* Integration with any model that is compatible with [GenAI Commons](/agents/genai-for-mx/commons/) * Support for comprehensive traceability and monitoring of GenAI interactions ### Limitations {#limitations} @@ -63,11 +64,11 @@ You must also ensure you have the other prerequisite modules that Conversational * [Nanoflow Commons](https://marketplace.mendix.com/link/component/109515) * [Web Actions](https://marketplace.mendix.com/link/component/114337) -Finally, you must also set up a connector that is compatible with [GenAI Commons](/appstore/modules/genai/commons/). One option is to use the [Mendix Cloud GenAI connector](https://marketplace.mendix.com/link/component/239449). For more information on how to configure this connector, see the [Configuration](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/#configuration) section of *Mendix Cloud GenAI connector*. Additionally, Mendix offers platform-supported integration with [(Azure) OpenAI](/appstore/modules/genai/openai/) and [Amazon Bedrock](/appstore/modules/aws/amazon-bedrock/). If desired, you need to download these integrations manually from the Marketplace. Alternatively, you can integrate with custom models by creating your own connector and making its operations and object structure compatible with the [GenAI Commons](/appstore/modules/genai/commons/) `Request` and `Response`. +Finally, you must also set up a connector that is compatible with [GenAI Commons](/agents/genai-for-mx/commons/). One option is to use the [Mendix Cloud GenAI connector](https://marketplace.mendix.com/link/component/239449). For more information on how to configure this connector, see the [Configuration](/agents/mx-cloud-genai/mxgenai-connector/#configuration) section of *Mendix Cloud GenAI connector*. Additionally, Mendix offers platform-supported integration with [(Azure) OpenAI](/agents/reference-guide/external-connectors/openai/) and [Amazon Bedrock](/appstore/modules/aws/amazon-bedrock/). If desired, you need to download these integrations manually from the Marketplace. Alternatively, you can integrate with custom models by creating your own connector and making its operations and object structure compatible with the [GenAI Commons](/agents/genai-for-mx/commons/) `Request` and `Response`. ## Installation {#installation} -Follow the instructions in [How to Use Marketplace Content](/appstore/use-content/) to import the Conversational UI module into your app. +Follow the instructions in [Using Marketplace Content](/appstore/use-content/) to import the Conversational UI module into your app. ## Configuration {#configuration} @@ -157,7 +158,7 @@ If you need custom attributes or settings in your action microflow required for Depending on the implementation, you can create this object using a microflow that opens the page or using a datasource microflow on the page itself. The following are the operations in the toolbox for creating the ChatContext: -* `New Chat` creates a new `ChatContext` and a new `ProviderConfig`. The `ProviderConfig` is added to the `ChatContext` and set to active. Additionally, the action microflow of the new `ProviderConfig` is set. A [DeployedModel](/appstore/modules/genai/genai-for-mx/commons/#deployed-model) needs to be passed in order to access the right model. Via the association `ProviderConfig_DeployedModel` the DeployedModel can be retrieved and used to pass to the [Chat Completions (with history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-with-history) later in the Action Microflow. +* `New Chat` creates a new `ChatContext` and a new `ProviderConfig`. The `ProviderConfig` is added to the `ChatContext` and set to active. Additionally, the action microflow of the new `ProviderConfig` is set. A [DeployedModel](/agents/genai-for-mx/commons/#deployed-model) needs to be passed in order to access the right model. Via the association `ProviderConfig_DeployedModel` the DeployedModel can be retrieved and used to pass to the [Chat Completions (with history)](/agents/genai-for-mx/commons/#chat-completions-with-history) later in the Action Microflow. * `New Chat with Existing Config` creates a new `ChatContext` and sets a given `ProviderConfig` to active. * `New Chat with Additional Configs` creates a new `ChatContext`, adds a `ProviderConfig` to the `ChatContext`, and sets it to active. In addition, a list of `ProviderConfig` can be added to the `ChatContext` (non-active, but selectable in the UI). @@ -176,7 +177,7 @@ If the `ChatContext`, however, already exists and a new `ProviderConfig` needs t ### Defining and Setting the Action Microflow {#action-microflow} -The `Action Microflow` stored on a `ProviderConfig` is executed when the user clicks the **Send** button. This microflow handles the interaction between the LLM connectors and the Conversational UI entities. The **USE_ME > ConversationalUI > Action microflow examples** folder included in the Conversational UI module contains an example action microflow that is compatible with all connectors that follow GenAI Commons principles (such as [Mendix Cloud GenAI Connector](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/), [OpenAI](/appstore/modules/genai/reference-guide/external-connectors/openai/), and [Amazon Bedrock](/appstore/modules/aws/amazon-bedrock/)). You can copy and modify the microflow or use it directly. +The `Action Microflow` stored on a `ProviderConfig` is executed when the user clicks the **Send** button. This microflow handles the interaction between the LLM connectors and the Conversational UI entities. The **USE_ME > ConversationalUI > Action microflow examples** folder included in the Conversational UI module contains an example action microflow that is compatible with all connectors that follow GenAI Commons principles (such as [Mendix Cloud GenAI Connector](/agents/mx-cloud-genai/mxgenai-connector/), [OpenAI](/agents/reference-guide/external-connectors/openai/), and [Amazon Bedrock](/appstore/modules/aws/amazon-bedrock/)). You can copy and modify the microflow or use it directly. Add the action microflow to an existing `ProviderConfig` by using the **Set Chat Action** toolbox action. Note that this action does not commit the object, so you must add a step to commit it afterward. @@ -185,7 +186,7 @@ Add the action microflow to an existing `ProviderConfig` by using the **Set Chat A typical action microflow is responsible for the following: * Convert the `ChatContext` with user input to a `Request` structure for the chat completions operation. This module provides the **Default Preprocessing** toolbox action to take care of that in basic cases; for more advanced or custom cases you need to create your own logic based on this. -* Execute the [Chat Completions (with history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-with-history) operation. To pass a [DeployedModel](/appstore/modules/genai/genai-for-mx/commons/#deployed-model), you can use the `ProviderConfig_DeployedModel` association of the active `ProviderConfig` for the `ChatContext`. +* Execute the [Chat Completions (with history)](/agents/genai-for-mx/commons/#chat-completions-with-history) operation. To pass a [DeployedModel](/agents/genai-for-mx/commons/#deployed-model), you can use the `ProviderConfig_DeployedModel` association of the active `ProviderConfig` for the `ChatContext`. * Update the `ChatContext` structure based on the response so that the user can see the result in the UI. This module provides the **Update Assistant Response** microflow action in the toolbox. It is only required to execute this logic in successful model interactions, make sure to pass the response object. In the case of an unhappy scenario, the action microflow should return false and the module logic will take care of setting the applicable error status and no response object is needed. The example action microflow in this module, to be found in the **USE_ME > ConversationalUI > Action microflow examples** folder follows this basic structure. @@ -202,14 +203,14 @@ If you want to create your custom action microflow, keep the following considera The following operations can be found in the toolbox for changing the [ChatContext](#chat-context) in a (custom) action microflow: * `Set Topic` sets the `Topic` of the `ChatContext`. This attribute can be used in the **History** sidebar while making historical chats visible to users. -* `Default Preprocessing` sets a default `Topic` for `ChatContext` and creates a sample [Request](/appstore/modules/genai/genai-for-mx/commons/#request). +* `Default Preprocessing` sets a default `Topic` for `ChatContext` and creates a sample [Request](/agents/genai-for-mx/commons/#request). * `Set ConversationID` sets the ConversationID on the `ChatContext`. Storing the ConversationID is needed for a chat with history within [Retrieve and Generate with Amazon Bedrock](/appstore/modules/aws/amazon-bedrock/#retrieve-and-generate). ##### Request Operations {#request-operations} The following operations are used in a (custom) action microflow: -* `Create Request with Chat History` creates a [Request](/appstore/modules/genai/commons/) object that is used as an input parameter in a [Chat Completions (with history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-with-history) operation as part of the [action microflow](#action-microflow). +* `Create Request with Chat History` creates a [Request](/agents/genai-for-mx/commons/#request) object that is used as an input parameter in a [Chat Completions (with history)](/agents/genai-for-mx/commons/#chat-completions-with-history) operation as part of the [action microflow](#action-microflow). * `Get Current User Prompt` gets the current user prompt. It can be used in the [action microflow](#action-microflow) because the `CurrentUserPrompt` from the chat context is no longer available. * `Update Assistant Response` processes the response of the model and adds the new message and any sources to the UI. This is typically one of the last steps of the logic in an [action microflow](#action-microflow). It only needs to be included at the end of the happy flow of an action microflow. Make sure to pass the response object. @@ -219,20 +220,20 @@ Since version 6.0.0, the module stores messages from tool calling persistently i This changes how action microflows are used, because they are called each time a tool is called and the UI changes for the user, for example, displaying a tool call or waiting for a user decision if a tool can be executed. Logic that only needs to happen right after the user sends their message (preprocessing) or after the final assistant's message was returned (postprocessing), should perhaps only be executed for those cases. -If no [user-visibility](/appstore/modules/genai/genai-for-mx/commons/#enum-useraccessapproval) is configured for tools and you would like not to store tool messages (and therefore retain the behavior from versions before 6.0.0), you can change the boolean `SaveToolCallHistory` to *false* on the [Request](/appstore/modules/genai/genai-for-mx/commons/#request). Note that [knowledge base retrievals](/appstore/modules/genai/genai-for-mx/commons/#add-knowledge-base-to-request) are set to `HiddenForUser` by default. +If no [user-visibility](/agents/genai-for-mx/commons/#enum-useraccessapproval) is configured for tools and you would like not to store tool messages (and therefore retain the behavior from versions before 6.0.0), you can change the boolean `SaveToolCallHistory` to *false* on the [Request](/agents/genai-for-mx/commons/#request). Note that [knowledge base retrievals](/agents/genai-for-mx/commons/#add-knowledge-base-to-request) are set to `HiddenForUser` by default. ### Human in the loop {#human-in-the-loop} -When using the [Function Calling](/appstore/modules/genai/function-calling/) pattern by adding tools to the request, you can control when those tools get executed and if they are visible to the user by setting [user access approval](/appstore/modules/genai/genai-for-mx/commons/#enum-useraccessapproval) per tool. Human in the loop describes a pattern where the AI can perform powerful tasks, but still requires humans to take certain decisions and oversee the agent's behavior. When using the ConversationalUI module, its basic action microflow pattern to execute requests with history and UI snippets to display the chat, human in the loop works out of the box. Note that action microflows are called until there is a final assistant's response as described in the [Using Tool or Knowledge Base Calling](#action-microflow-tool-calling) section above, even if all tools are executed without user interaction. +When using the [Function Calling](/agents/function-calling/) pattern by adding tools to the request, you can control when those tools get executed and if they are visible to the user by setting [user access approval](/agents/genai-for-mx/commons/#enum-useraccessapproval) per tool. Human in the loop describes a pattern where the AI can perform powerful tasks, but still requires humans to take certain decisions and oversee the agent's behavior. When using the ConversationalUI module, its basic action microflow pattern to execute requests with history and UI snippets to display the chat, human in the loop works out of the box. Note that action microflows are called until there is a final assistant's response as described in the [Using Tool or Knowledge Base Calling](#action-microflow-tool-calling) section above, even if all tools are executed without user interaction. -If you are not using the ConversationalUI module for [chat with history executions](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-with-history) or your use case does not contain a chat history, but is [task-based (without history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-without-history), you need to implement the following actions: +If you are not using the ConversationalUI module for [chat with history executions](/agents/genai-for-mx/commons/#chat-completions-with-history) or your use case does not contain a chat history, but is [task-based (without history)](/agents/genai-for-mx/commons/#chat-completions-without-history), you need to implement the following actions: -1. Store the tool calls from the returned [Response](/appstore/modules/genai/genai-for-mx/commons/#response) in your database. You can either use your own entities or reuse `ToolMessage` from ConversationalUI. The microflow `Response_CreateOrUpdateMessage` updates or creates a `Message` object with its corresponding tool messages, based on the response from the LLM. -2. If `UserConfirmationRequired` was enabled for a tool in the [user access approval](/appstore/modules/genai/genai-for-mx/commons/#enum-useraccessapproval) setting, you can use the tool messages to display the information and wait for the user to decide. The `pending` status of the tool message indicates that a user needs to take action. The `ToolMessage_UserConfirmation_Example` page shows an example as a popup. You can duplicate the page and modify to your own. The buttons for confirmation or rejection should recall the whole action. -3. Add the content of the tool messages to the request. [Add a message](/appstore/modules/genai/genai-for-mx/commons/#chat-add-message-to-request) with role `assistant` that contains the tool call information and messages with role `tool` for the tool results. You can use the `Request_AddMessage_ToolMessages` microflow to pass the same message from the first step. +1. Store the tool calls from the returned [Response](/agents/genai-for-mx/commons/#response) in your database. You can either use your own entities or reuse `ToolMessage` from ConversationalUI. The microflow `Response_CreateOrUpdateMessage` updates or creates a `Message` object with its corresponding tool messages, based on the response from the LLM. +2. If `UserConfirmationRequired` was enabled for a tool in the [user access approval](/agents/genai-for-mx/commons/#enum-useraccessapproval) setting, you can use the tool messages to display the information and wait for the user to decide. The `pending` status of the tool message indicates that a user needs to take action. The `ToolMessage_UserConfirmation_Example` page shows an example as a popup. You can duplicate the page and modify to your own. The buttons for confirmation or rejection should recall the whole action. +3. Add the content of the tool messages to the request. [Add a message](/agents/genai-for-mx/commons/#chat-add-message-to-request) with role `assistant` that contains the tool call information and messages with role `tool` for the tool results. You can use the `Request_AddMessage_ToolMessages` microflow to pass the same message from the first step. 4. Recall the chat completions action. Be aware that the response might contain new tool calls and not the final message yet, so you need to follow the above steps again. A recursive loop might be helpful, for example, as shown in the `Request_CallWithoutHistory_ToolUserConfirmation_Example` microflow. -For a task-based (without history) use case, you can review the [GenAI Showcase App's](https://marketplace.mendix.com/link/component/220475) function calling example, especially the microflows `Task_ProcessWithFunctionCalling` and `Task_CallWithoutHistory`. Alternatively, refer to the [Creating Your First Agent](/appstore/modules/genai/how-to/creating-agents/) documentation for a similar example and a step by step guide. +For a task-based (without history) use case, you can review the [GenAI Showcase App's](https://marketplace.mendix.com/link/component/220475) function calling example, especially the microflows `Task_ProcessWithFunctionCalling` and `Task_CallWithoutHistory`. Alternatively, refer to the [Creating Your First Agent](/agents/how-to/creating-agents/) documentation for a similar example and a step by step guide. ### Customizing Styling {#customize-styling} @@ -301,14 +302,14 @@ If you are using a custom layout in your application, you may need to use a layo ### Token Consumption Monitor Snippets {#snippet-token-monitor} -A separate set of snippets has been made available to display and export token usage information in the running application. This is applicable for LLM connectors that follow the principles of [GenAI Commons](/appstore/modules/genai/genai-for-mx/commons/#token-usage) and as a result store token usage information. The following snippets can be added to (admin) pages independently from the conversation logic described in earlier sections. +A separate set of snippets has been made available to display and export token usage information in the running application. This is applicable for LLM connectors that follow the principles of [GenAI Commons](/agents/genai-for-mx/commons/#token-usage) and as a result store token usage information. The following snippets can be added to (admin) pages independently from the conversation logic described in earlier sections. * **Snippet_TokenMonitor** - This snippet can be used to display token usage information in charts and contains several other snippets that you can use to build your token consumption monitor dashboard. To display the token usage data, users will need the `UsageMonitoring` user role. * **Snippet_TokenMonitor_Export** - This snippet can be used to display token usage information in a grid and export it as *.xlsx*. ### Traceability {#traceability} -The ConversationalUI module supports traceability functionality that helps you monitor and analyze GenAI interactions for debugging and compliance purposes. This functionality builds on the [traceability features](/appstore/modules/genai/genai-for-mx/commons/#traceability) provided by the GenAI Commons module. +The ConversationalUI module supports traceability functionality that helps you monitor and analyze GenAI interactions for debugging and compliance purposes. This functionality builds on the [traceability features](/agents/genai-for-mx/commons/#traceability) provided by the GenAI Commons module. #### Overview {#traceability-overview} @@ -332,7 +333,7 @@ Trace data may contain sensitive and personally identifiable information. You sh #### Configuration {#traceability-configuration} -Traceability is controlled by the `StoreTraces` constant in the GenAI Commons module. When set to *true*, detailed trace information will be stored for all GenAI operations. For more information about configuring traceability, see the [Traceability](/appstore/modules/genai/genai-for-mx/commons/#traceability) section of *GenAI Commons*. +Traceability is controlled by the `StoreTraces` constant in the GenAI Commons module. When set to *true*, detailed trace information will be stored for all GenAI operations. For more information about configuring traceability, see the [Traceability](/agents/genai-for-mx/commons/#traceability) section of *GenAI Commons*. To enable users to view traceability data, grant the `TraceMonitoring` module role to the applicable user roles. @@ -345,7 +346,7 @@ The ConversationalUI module includes a dedicated page in the **USE_ME > Traceabi These pages are designed for administrators and developers who need to monitor GenAI usage and investigate specific interactions. They provide the primary interface for accessing traceability data without requiring custom development. {{% alert color="info" %}} -If you are using the GenAI Commons module version 5.3.0 and set the `StoreTraces` constant to true, traces that contain errors might not be shown in the traceability UI. To migrate existing data, you need to create Usage objects for those [Traces](/appstore/modules/genai/genai-for-mx/commons/#trace), setting the tokens to 0 and associating them to the trace. +If you are using the GenAI Commons module version 5.3.0 and set the `StoreTraces` constant to true, traces that contain errors might not be shown in the traceability UI. To migrate existing data, you need to create Usage objects for those [Traces](/agents/genai-for-mx/commons/#trace), setting the tokens to 0 and associating them to the trace. {{% /alert %}} ## Technical Reference {#technical-reference} diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/_index.md b/content/en/docs/genai/reference-guide/external-platforms/_index.md similarity index 70% rename from content/en/docs/marketplace/genai/reference-guide/external-platforms/_index.md rename to content/en/docs/genai/reference-guide/external-platforms/_index.md index aa12d66b321..27d68ce51ba 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/_index.md +++ b/content/en/docs/genai/reference-guide/external-platforms/_index.md @@ -1,17 +1,18 @@ --- title: "Connectors" -url: /appstore/modules/genai/reference-guide/connectors/ +url: /agents/reference-guide/connectors/ weight: 30 description: "Provides information on connectors that enable seamless integration between Mendix applications and GenAI platforms and services." no_list: false aliases: - /appstore/modules/genai/reference-guide/external-connectors/ + - /appstore/modules/genai/reference-guide/connectors/ --- ## Introduction The Mendix platform provides seamless integration with various platforms through specialized connectors. These connectors enable you to extend the functionality of your applications by leveraging external services and data sources. -This section contains documentation for GenAI connectors, including the [Mendix Cloud GenAI Connector](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/) and connectors to external platforms such as Amazon Bedrock and OpenAI. +This section contains documentation for GenAI connectors, including the [Mendix Cloud GenAI Connector](/agents/mx-cloud-genai/mxgenai-connector/) and connectors to external platforms such as Amazon Bedrock and OpenAI. ## Connectors diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/bedrock.md b/content/en/docs/genai/reference-guide/external-platforms/bedrock.md similarity index 88% rename from content/en/docs/marketplace/genai/reference-guide/external-platforms/bedrock.md rename to content/en/docs/genai/reference-guide/external-platforms/bedrock.md index d5bc5af557c..b69e2a5876e 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/bedrock.md +++ b/content/en/docs/genai/reference-guide/external-platforms/bedrock.md @@ -1,10 +1,11 @@ --- title: "Amazon Bedrock" -url: /appstore/modules/genai/reference-guide/external-connectors/bedrock/ +url: /agents/reference-guide/external-connectors/bedrock/ weight: 10 description: "Describes the Amazon Bedrock GenAI service." aliases: - /appstore/modules/genai/bedrock/ + - /appstore/modules/genai/reference-guide/external-connectors/bedrock/ --- ## Introduction diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/gemini.md b/content/en/docs/genai/reference-guide/external-platforms/gemini.md similarity index 81% rename from content/en/docs/marketplace/genai/reference-guide/external-platforms/gemini.md rename to content/en/docs/genai/reference-guide/external-platforms/gemini.md index ae00003421a..e60320ca29f 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/gemini.md +++ b/content/en/docs/genai/reference-guide/external-platforms/gemini.md @@ -1,10 +1,11 @@ --- title: "Gemini" -url: /appstore/modules/genai/reference-guide/external-connectors/gemini/ +url: /agents/reference-guide/external-connectors/gemini/ linktitle: "Gemini" description: "Describes the configuration and usage of the Google Gemini Connector, which allows you to integrate generative AI into your Mendix app." weight: 20 - +aliases: + - /appstore/modules/genai/reference-guide/external-connectors/gemini/ --- ## Introduction @@ -13,7 +14,7 @@ The [Google Gemini Connector](https://marketplace.mendix.com/link/component/2547 ### Features {#features} -The Google Gemini Connector is commonly used for text generation based on the [Chat Completions API](https://ai.google.dev/gemini-api/docs/openai). Typical use cases for generative AI are described in the [Typical LLM Use Cases](/appstore/modules/genai/get-started/#llm-use-cases). +The Google Gemini Connector is commonly used for text generation based on the [Chat Completions API](https://ai.google.dev/gemini-api/docs/openai). Typical use cases for generative AI are described in the [Typical LLM Use Cases](/agents/get-started/#llm-use-cases). For more information about the models, see [Gemini models](https://ai.google.dev/gemini-api/docs/models). @@ -32,16 +33,16 @@ To use this connector, you need to sign up for a Google AI Studio account and cr ### Dependencies {#dependencies} * Mendix Studio Pro version 10.24.13 or above -* [GenAI Commons module](/appstore/modules/genai/commons/) +* [GenAI Commons module](/agents/genai-for-mx/commons/) * [Encryption module](/appstore/modules/encryption/) * [Community Commons module](/appstore/modules/community-commons-function-library/) -* [OpenAI connector](/appstore/modules/genai/reference-guide/external-connectors/openai/) +* [OpenAI connector](/agents/reference-guide/external-connectors/openai/) ## Installation Install all required modules from the Mendix Marketplace as listed in the [Dependencies](#dependencies) section above. -To import the [Google Gemini Connector](https://marketplace.mendix.com/link/component/248276) and the other modules into your app, follow the instructions in [How to Use Marketplace Content](/appstore/use-content/). +To import the [Google Gemini Connector](https://marketplace.mendix.com/link/component/248276) and the other modules into your app, follow the instructions in [Using Marketplace Content](/appstore/use-content/). ## Configuration {#configuration} @@ -66,7 +67,7 @@ The following inputs are required for the Gemini configuration: #### Configuring the Gemini Deployed Models -A [Deployed Model](/appstore/modules/genai/genai-for-mx/commons/#deployed-model) represents a GenAI model instance that can be used by the app to generate text, embeddings, or images. For every model you want to invoke from your app, you need to create a `GeminiDeployedModel` record, a specialization of `DeployedModel` (and also a specialization of `OpenAIDeployedModel`). In addition to the model display name and a technical name or identifier, a Gemini-deployed model contains a reference to the additional connection details as configured in the previous step. Currently, only specific models for text generation are supported by the Google Gemini connector. +A [Deployed Model](/agents/genai-for-mx/commons/#deployed-model) represents a GenAI model instance that can be used by the app to generate text, embeddings, or images. For every model you want to invoke from your app, you need to create a `GeminiDeployedModel` record, a specialization of `DeployedModel` (and also a specialization of `OpenAIDeployedModel`). In addition to the model display name and a technical name or identifier, a Gemini-deployed model contains a reference to the additional connection details as configured in the previous step. Currently, only specific models for text generation are supported by the Google Gemini connector. 1. Click the three-dots ({{% icon name="three-dots-menu-horizontal-filled" %}}) icon for a Gemini configuration and open **Manage Deployed Models**. It is possible to use a predefined generation method, where available models are created according to their capabilities. @@ -74,19 +75,19 @@ A [Deployed Model](/appstore/modules/genai/genai-for-mx/commons/#deployed-model) ### Using GenAI Commons Operations {#genai-commons-operations} -After following the general setup above, you are all set to use the text generation related microflow actions under the **GenAI (Generate)** category from the toolbox. These operations are part of GenAI Commons. Since OpenAI (and therefore Gemini) is compatible with the principles of GenAI Commons, you can pass a `GeminiDeployedModel` to all GenAI Commons operations that expect the generalization of `DeployedModel`. All actions under **GenAI (Generate)** will take care of executing the right provider-specific logic, based on the type of specialization passed, in this case, Gemini. From an implementation perspective, no extra work is required for the inner workings of this operation. The input, output, and behavior are described in the [GenAICommons](/appstore/modules/genai/genai-for-mx/commons/#microflows) documentation. Applicable operations and some Gemini-specific aspects are listed in the sections below. +After following the general setup above, you are all set to use the text generation related microflow actions under the **GenAI (Generate)** category from the toolbox. These operations are part of GenAI Commons. Since OpenAI (and therefore Gemini) is compatible with the principles of GenAI Commons, you can pass a `GeminiDeployedModel` to all GenAI Commons operations that expect the generalization of `DeployedModel`. All actions under **GenAI (Generate)** will take care of executing the right provider-specific logic, based on the type of specialization passed, in this case, Gemini. From an implementation perspective, no extra work is required for the inner workings of this operation. The input, output, and behavior are described in the [GenAICommons](/agents/genai-for-mx/commons/#microflows) documentation. Applicable operations and some Gemini-specific aspects are listed in the sections below. For more inspiration or guidance on how to use the microflow actions in your logic, Mendix recommends downloading the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475), which demonstrates a variety of examples that cover all the operations mentioned. -You can use the GenAI Commons toolbox actions to [create the required Request](/appstore/modules/genai/genai-for-mx/commons/#genai-request-building) and [handle the Response](/appstore/modules/genai/genai-for-mx/commons/#genai-response-handling) for your use case. +You can use the GenAI Commons toolbox actions to [create the required Request](/agents/genai-for-mx/commons/#genai-request-building) and [handle the Response](/agents/genai-for-mx/commons/#genai-response-handling) for your use case. The internal chat completion logic supports [JSON mode](#chatcompletions-json-mode), [Function Calling](#chatcompletions-functioncalling), and [Vision](#chatcompletions-vision) for Gemini. Make sure to check the actual compatibility of the available models with these functionalities, as this changes over time. The following sections list toolbox actions for OpenAI-compatible APIs (especially Gemini). #### Chat Completions -Operations for chat completions focus on the generation of text based on a certain input. In this context, system prompts and user prompts are two key components that help guide the language model in generating relevant and contextually appropriate responses. For more information on the type of prompts and message roles, see the [ENUM_MessageRole](/appstore/modules/genai/genai-for-mx/commons/#enum-messagerole) enumeration. +Operations for chat completions focus on the generation of text based on a certain input. In this context, system prompts and user prompts are two key components that help guide the language model in generating relevant and contextually appropriate responses. For more information on the type of prompts and message roles, see the [ENUM_MessageRole](/agents/genai-for-mx/commons/#enum-messagerole) enumeration. -The `GeminiDeployedModel` is compatible with the two chat completion operations from GenAI Commons. While developing your custom microflow, you can drag and drop the following operations from the toolbox in Studio Pro. See category [GenAI (Generate)](/appstore/modules/genai/genai-for-mx/commons/#genai-generate): +The `GeminiDeployedModel` is compatible with the two chat completion operations from GenAI Commons. While developing your custom microflow, you can drag and drop the following operations from the toolbox in Studio Pro. See category [GenAI (Generate)](/agents/genai-for-mx/commons/#genai-generate): * Chat Completions (with history) * Chat Completions (without history) @@ -101,9 +102,9 @@ Function calling enables LLMs to connect with external tools to gather informati Gemini does not call the function. The model returns a tool called JSON structure that is used to build the input of the function (or functions) so that they can be executed as part of the chat completions operation. Functions in Mendix are essentially microflows that can be registered within the request to the LLM​. The OpenAI connector takes care of handling the tool call response as well as executing the function microflows until the API returns the assistant's final response for Gemini. -This is all part of the implementation that is executed by the GenAI Commons chat completions operations. As a developer, make the system aware of your functions and what is done by registering the functions with the request. This is done using the GenAI Commons operation [Tools: Add Function to Request](/appstore/modules/genai/genai-for-mx/commons/#add-function-to-request) once per function before passing the request to the chat completions operation. +This is all part of the implementation that is executed by the GenAI Commons chat completions operations. As a developer, make the system aware of your functions and what is done by registering the functions with the request. This is done using the GenAI Commons operation [Tools: Add Function to Request](/agents/genai-for-mx/commons/#add-function-to-request) once per function before passing the request to the chat completions operation. -Function microflows 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](/appstore/modules/genai/genai-for-mx/commons/#request) or [Tool](/appstore/modules/genai/genai-for-mx/commons/#tool) objects as inputs. The function microflow must return a String value. +Function microflows 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](/agents/genai-for-mx/commons/#request) or [Tool](/agents/genai-for-mx/commons/#tool) objects as inputs. The function microflow must return a String value. {{% alert color="warning" %}} Function calling is a very powerful capability and should be used with caution. Note that function microflows run in the context of the current user without enforcing entity-access. You can use `$currentUser` in XPath queries to ensure you retrieve and return only information that the end-user is allowed to view; otherwise confidential information may become visible to the current end-user in the assistant's response. @@ -111,7 +112,7 @@ Function calling is a very powerful capability and should be used with caution. Mendix also strongly advises that you build user confirmation logic into function microflows that have a potential impact on the world on behalf of the end-user. Some examples of such microflows include sending an email, posting online, or making a purchase. {{% /alert %}} -For more information, see [Function Calling](/appstore/modules/genai/function-calling/). +For more information, see [Function Calling](/agents/function-calling/). #### Adding Knowledge Bases {#chatcompletions-add-knowledge-base} @@ -119,17 +120,17 @@ Adding knowledge bases to a call enables LLMs to retrieve information when relat Gemini does not directly connect to the knowledge resources. The model returns a tool call JSON structure that is used to build the input of the retrievals so that they can be executed as part of the chat completions operation. The OpenAI connector takes care of handling the tool call response for Gemini as well as executing the function microflows until the API returns the assistant's final response. -This functionality is part of the implementation executed by the GenAI Commons Chat Completions operations mentioned earlier. As a developer, make the system aware of your indexes and their purpose by registering them with the request. This is done using the GenAI Commons operation [Tools: Add Knowledge Base](/appstore/modules/genai/genai-for-mx/commons/#add-knowledge-base-to-request), which must be called once per knowledge resource before passing the request to the Chat Completions operation. +This functionality is part of the implementation executed by the GenAI Commons Chat Completions operations mentioned earlier. As a developer, make the system aware of your indexes and their purpose by registering them with the request. This is done using the GenAI Commons operation [Tools: Add Knowledge Base](/agents/genai-for-mx/commons/#add-knowledge-base-to-request), which must be called once per knowledge resource before passing the request to the Chat Completions operation. Note that the retrieval process is independent of the model provider and can be used with any model that supports function calling, as it relies on the generalized `GenAICommons.ConsumedKnowledgeBase` input parameter. #### Vision {#chatcompletions-vision} -Vision enables models to interpret and analyze images, allowing them to answer questions and perform tasks related to visual content. This integration of computer vision and language processing enhances the model's comprehension and makes it valuable for tasks involving visual information. To make use of vision with the Google Gemini connector, send an optional [FileCollection](/appstore/modules/genai/genai-for-mx/commons/#filecollection) containing one or multiple images along with a single message. +Vision enables models to interpret and analyze images, allowing them to answer questions and perform tasks related to visual content. This integration of computer vision and language processing enhances the model's comprehension and makes it valuable for tasks involving visual information. To make use of vision with the Google Gemini connector, send an optional [FileCollection](/agents/genai-for-mx/commons/#filecollection) containing one or multiple images along with a single message. For `Chat Completions without History`, `FileCollection` is an optional input parameter. -For `Chat Completions with History`, you can optionally add `FileCollection` to individual user messages using [Chat: Add Message to Request](/appstore/modules/genai/genai-for-mx/commons/#chat-add-message-to-request). +For `Chat Completions with History`, you can optionally add `FileCollection` to individual user messages using [Chat: Add Message to Request](/agents/genai-for-mx/commons/#chat-add-message-to-request). Use the two microflow actions from the OpenAI specific toolbox `Files: Initialize Collection with OpenAI File` and `Files: Add OpenAIFile to Collection` to construct the input with either `FileDocuments` (for vision, it must be of type `Image`) or `URLs`. The GenAI commons module exposes similar file operations that you can use for vision requests with the OpenAIConnector for Gemini. However, these generic operations do not support the optional OpenAI API-specific `Detail` attribute. @@ -149,7 +150,7 @@ Embeddings generation is currently not supported by the Google Gemini connector. ### Exposed Microflow Actions for OpenAI-compatible APIs {#exposed-microflows} -The exposed microflow actions used to construct requests via drag and drop specifically for OpenAI-compatible APIs are listed below. You can find these microflows in the **Toolbox** of Studio Pro. Note that these flows are only required if you need to add specific options to your requests. For generic functionality, you can use the GenAI Commons toolbox actions to [create the required Request](/appstore/modules/genai/genai-for-mx/commons/#genai-request-building) and [handle the Response](/appstore/modules/genai/genai-for-mx/commons/#genai-response-handling). These actions are available under the **GenAI (Request Building)** and **GenAI (Response Handling)** categories in the Toolbox. +The exposed microflow actions used to construct requests via drag and drop specifically for OpenAI-compatible APIs are listed below. You can find these microflows in the **Toolbox** of Studio Pro. Note that these flows are only required if you need to add specific options to your requests. For generic functionality, you can use the GenAI Commons toolbox actions to [create the required Request](/agents/genai-for-mx/commons/#genai-request-building) and [handle the Response](/agents/genai-for-mx/commons/#genai-response-handling). These actions are available under the **GenAI (Request Building)** and **GenAI (Response Handling)** categories in the Toolbox. #### Set Response Format {#set-responseformat-chat} @@ -168,7 +169,7 @@ The **Documentation** pane displays the documentation for the currently selected ### Tool Choice -Gemini supports the following [tool choice types](/appstore/modules/genai/genai-for-mx/commons/#enum-toolchoice) of GenAI Commons for the [Tools: Set Tool Choice](/appstore/modules/genai/genai-for-mx/commons/#set-toolchoice) action is supported. For API mapping reference, see the table below: +Gemini supports the following [tool choice types](/agents/genai-for-mx/commons/#enum-toolchoice) of GenAI Commons for the [Tools: Set Tool Choice](/agents/genai-for-mx/commons/#set-toolchoice) action is supported. For API mapping reference, see the table below: | GenAI Commons (Mendix) | Gemini | | ----------------------- | ------- | @@ -189,7 +190,7 @@ This action is currently not used during the creation of usable models in the co For more inspiration or guidance on how to use those microflows in your logic, Mendix recommends downloading the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475), which demonstrates a variety of example use cases. {{% alert color="info" %}} -Some examples demonstrate knowledge base interaction and require a connection to a vector database. For more information on these concepts, see [Retrieval Augmented Generation (RAG)](/appstore/modules/genai/rag/) +Some examples demonstrate knowledge base interaction and require a connection to a vector database. For more information on these concepts, see [Retrieval Augmented Generation (RAG)](/agents/rag/) {{% /alert %}} ## Troubleshooting {#troubleshooting} diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/mistral.md b/content/en/docs/genai/reference-guide/external-platforms/mistral.md similarity index 79% rename from content/en/docs/marketplace/genai/reference-guide/external-platforms/mistral.md rename to content/en/docs/genai/reference-guide/external-platforms/mistral.md index 4703178b236..6d9d1edb52c 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/mistral.md +++ b/content/en/docs/genai/reference-guide/external-platforms/mistral.md @@ -1,10 +1,11 @@ --- title: "Mistral" -url: /appstore/modules/genai/reference-guide/external-connectors/mistral/ +url: /agents/reference-guide/external-connectors/mistral/ linktitle: "Mistral" description: "Describes the configuration and usage of the Mistral Connector, which allows you to integrate generative AI into your Mendix app." weight: 20 - +aliases: + - /appstore/modules/genai/reference-guide/external-connectors/mistral/ --- ## Introduction @@ -13,7 +14,7 @@ The [Mistral Connector](https://marketplace.mendix.com/link/component/248276) al ### Features {#features} -The Mistral Connector is commonly used for text generation based on the [Chat Completions API](https://docs.mistral.ai/api/endpoint/chat) and embeddings generation with the [Embeddings API](https://docs.mistral.ai/api/endpoint/embeddings). Typical use cases for generative AI are described in the [Typical LLM Use Cases](/appstore/modules/genai/get-started/#llm-use-cases). +The Mistral Connector is commonly used for text generation based on the [Chat Completions API](https://docs.mistral.ai/api/endpoint/chat) and embeddings generation with the [Embeddings API](https://docs.mistral.ai/api/endpoint/embeddings). Typical use cases for generative AI are described in the [Typical LLM Use Cases](/agents/get-started/#llm-use-cases). For more information about the models, see [Mistral models](https://docs.mistral.ai/getting-started/models). @@ -32,16 +33,16 @@ To use this connector, you need to sign up for a Mistral account and create an A ### Dependencies {#dependencies} * Mendix Studio Pro version 10.24.0 or above -* [GenAI Commons module](/appstore/modules/genai/commons/) +* [GenAI Commons module](/agents/genai-for-mx/commons/) * [Encryption module](/appstore/modules/encryption/) * [Community Commons module](/appstore/modules/community-commons-function-library/) -* [OpenAI connector](/appstore/modules/genai/reference-guide/external-connectors/openai/) +* [OpenAI connector](/agents/reference-guide/external-connectors/openai/) ## Installation Install all required modules from the Mendix Marketplace as listed in the [Dependencies](#dependencies) section above. -To import the [Mistral Connector](https://marketplace.mendix.com/link/component/248276) and the other modules into your app, follow the instructions in [How to Use Marketplace Content](/appstore/use-content/). +To import the [Mistral Connector](https://marketplace.mendix.com/link/component/248276) and the other modules into your app, follow the instructions in [Using Marketplace Content](/appstore/use-content/). ## Configuration {#configuration} @@ -66,7 +67,7 @@ The following inputs are required for the Mistral configuration: #### Configuring the Mistral Deployed Models -A [Deployed Model](/appstore/modules/genai/genai-for-mx/commons/#deployed-model) represents a GenAI model instance that can be used by the app to generate text, embeddings, or images. For every model you want to invoke from your app, you need to create a `MistralDeployedModel` record, a specialization of `DeployedModel` (and also a specialization of `OpenAIDeployedModel`). In addition to the model display name and a technical name or identifier, a Mistral deployed model contains a reference to the additional connection details as configured in the previous step. +A [Deployed Model](/agents/genai-for-mx/commons/#deployed-model) represents a GenAI model instance that can be used by the app to generate text, embeddings, or images. For every model you want to invoke from your app, you need to create a `MistralDeployedModel` record, a specialization of `DeployedModel` (and also a specialization of `OpenAIDeployedModel`). In addition to the model display name and a technical name or identifier, a Mistral deployed model contains a reference to the additional connection details as configured in the previous step. 1. Click the three dots ({{% icon name="three-dots-menu-horizontal" %}}) icon for a Mistral configuration and open **Manage Deployed Models**. It is possible to use a predefined syncing method, where all available models are retrieved for the specified API key and then filtered according to their capabilities. If you want to use additional models that are made available by Mistral you can add them manually by clicking the **New** button instead. 2. For every additional model, add a record. The following fields are required: @@ -82,19 +83,19 @@ A [Deployed Model](/appstore/modules/genai/genai-for-mx/commons/#deployed-model) ### Using GenAI Commons Operations {#genai-commons-operations} -After following the general setup above, you are all set to use the microflow actions under the **GenAI (Generate)** category from the toolbox. These operations are part of GenAI Commons. Since OpenAI (and therefor Mistral) is compatible with the principles of GenAI Commons, you can pass a `MistralDeployedModel` to all GenAI Commons operations that expect the generalization of `DeployedModel`. All actions under **GenAI (Generate)** will take care of executing the right provider-specific logic, based on the type of specialization passed, in this case, Mistral. From an implementation perspective, it is not needed to required the inner workings of this operation. The input, output, and behavior are described in the [GenAICommons](/appstore/modules/genai/genai-for-mx/commons/#microflows) documentation. Applicable operations and some Mistral-specific aspects are listed in the sections below. +After following the general setup above, you are all set to use the microflow actions under the **GenAI (Generate)** category from the toolbox. These operations are part of GenAI Commons. Since OpenAI (and therefor Mistral) is compatible with the principles of GenAI Commons, you can pass a `MistralDeployedModel` to all GenAI Commons operations that expect the generalization of `DeployedModel`. All actions under **GenAI (Generate)** will take care of executing the right provider-specific logic, based on the type of specialization passed, in this case, Mistral. From an implementation perspective, it is not needed to required the inner workings of this operation. The input, output, and behavior are described in the [GenAICommons](/agents/genai-for-mx/commons/#microflows) documentation. Applicable operations and some Mistral-specific aspects are listed in the sections below. For more inspiration or guidance on how to use the microflow actions in your logic, Mendix recommends downloading [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475), which demonstrates a variety of examples that cover all the operations mentioned. -You can use the GenAI Commons toolbox actions to [create the required Request](/appstore/modules/genai/genai-for-mx/commons/#genai-request-building) and [handle the Response](/appstore/modules/genai/genai-for-mx/commons/#genai-response-handling) for your use case. +You can use the GenAI Commons toolbox actions to [create the required Request](/agents/genai-for-mx/commons/#genai-request-building) and [handle the Response](/agents/genai-for-mx/commons/#genai-response-handling) for your use case. The internal chat completion logic supports [JSON mode](#chatcompletions-json-mode), [function calling](#chatcompletions-functioncalling), and [vision](#chatcompletions-vision) for Mistral. Make sure to check the actual compatibility of the available models with these functionalities, as this changes over time. The following sections list toolbox actions which are specifically for OpenAI compatible APIs (especially Mistral). #### Chat Completions -Operations for chat completions focus on the generation of text based on a certain input. In this context, system prompts and user prompts are two key components that help guide the language model in generating relevant and contextually appropriate responses. For more information on the type of prompts and message roles, see the [ENUM_MessageRole](/appstore/modules/genai/genai-for-mx/commons/#enum-messagerole) enumeration. To learn more about how to create the right prompts for your use case, see the [Read More](#read-more) section below +Operations for chat completions focus on the generation of text based on a certain input. In this context, system prompts and user prompts are two key components that help guide the language model in generating relevant and contextually appropriate responses. For more information on the type of prompts and message roles, see the [ENUM_MessageRole](/agents/genai-for-mx/commons/#enum-messagerole) enumeration. To learn more about how to create the right prompts for your use case, see the [Read More](#read-more) section below -The `MistralDeployedModel` is compatible with the two [Chat Completions operations from GenAI Commons](/appstore/modules/genai/genai-for-mx/commons/#genai-generate). While developing your custom microflow, you can drag and drop the following operations from the toolbox in Studio Pro. See category **GenAI (Generate)**: +The `MistralDeployedModel` is compatible with the two [Chat Completions operations from GenAI Commons](/agents/genai-for-mx/commons/#genai-generate). While developing your custom microflow, you can drag and drop the following operations from the toolbox in Studio Pro. See category **GenAI (Generate)**: * Chat Completions (with history) * Chat Completions (without history) @@ -109,9 +110,9 @@ Function calling enables LLMs to connect with external tools to gather informati Mistral does not call the function. The model returns a tool called JSON structure that is used to build the input of the function (or functions) so that they can be executed as part of the chat completions operation. Functions in Mendix are essentially microflows that can be registered within the request to the LLM​. The OpenAI connector takes care of handling the tool call response as well as executing the function microflows until the API returns the assistant's final response for Mistral. -This is all part of the implementation that is executed by the GenAI Commons chat completions operations mentioned before. As a developer, you have to make the system aware of your functions and what these do by registering the function(s) to the request. This is done using the GenAI Commons operation [Tools: Add Function to Request](/appstore/modules/genai/genai-for-mx/commons/#add-function-to-request) once per function before passing the request to the chat completions operation. +This is all part of the implementation that is executed by the GenAI Commons chat completions operations mentioned before. As a developer, you have to make the system aware of your functions and what these do by registering the function(s) to the request. This is done using the GenAI Commons operation [Tools: Add Function to Request](/agents/genai-for-mx/commons/#add-function-to-request) once per function before passing the request to the chat completions operation. -Function microflows 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](/appstore/modules/genai/genai-for-mx/commons/#request) or [Tool](/appstore/modules/genai/genai-for-mx/commons/#tool) objects as inputs. The function microflow must return a String value. +Function microflows 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](/agents/genai-for-mx/commons/#request) or [Tool](/agents/genai-for-mx/commons/#tool) objects as inputs. The function microflow must return a String value. {{% alert color="warning" %}} Function calling is a very powerful capability and should be used with caution. Note that function microflows run in the context of the current user without enforcing entity-access. You can use `$currentUser` in XPath queries to ensure you retrieve and return only information that the end-user is allowed to view; otherwise confidential information may become visible to the current end-user in the assistant's response. @@ -119,7 +120,7 @@ Function calling is a very powerful capability and should be used with caution. Mendix also strongly advises that you build user confirmation logic into function microflows that have a potential impact on the world on behalf of the end-user. Some examples of such microflows include sending an email, posting online, or making a purchase. {{% /alert %}} -For more information, see [Function Calling](/appstore/modules/genai/function-calling/). +For more information, see [Function Calling](/agents/function-calling/). #### Adding Knowledge Bases {#chatcompletions-add-knowledge-base} @@ -127,17 +128,17 @@ Adding knowledge bases to a call enables LLMs to retrieve information when a rel Mistral does not directly connect to the knowledge resources. The model returns a tool call JSON structure that is used to build the input of the retrievals so that they can be executed as part of the chat completions operation. The OpenAI connector takes care of handling the tool call response for Mistral as well as executing the function microflows until the API returns the assistant's final response. -This functionality is part of the implementation executed by the GenAI Commons Chat Completions operations mentioned earlier. As a developer, you need to make the system aware of your indexes and their purpose by registering them with the request. This is done using the GenAI Commons operation [Tools: Add Knowledge Base](/appstore/modules/genai/genai-for-mx/commons/#add-knowledge-base-to-request), which must be called once per knowledge resource before passing the request to the Chat Completions operation. +This functionality is part of the implementation executed by the GenAI Commons Chat Completions operations mentioned earlier. As a developer, you need to make the system aware of your indexes and their purpose by registering them with the request. This is done using the GenAI Commons operation [Tools: Add Knowledge Base](/agents/genai-for-mx/commons/#add-knowledge-base-to-request), which must be called once per knowledge resource before passing the request to the Chat Completions operation. Note that the retrieval process is independent of the model provider and can be used with any model that supports function calling, as it relies on the generalized `GenAICommons.ConsumedKnowledgeBase` input parameter. #### Vision {#chatcompletions-vision} -Vision enables models like Mistral Medium 3.1 and Mistral Small 3.2 to interpret and analyze images, allowing them to answer questions and perform tasks related to visual content. This integration of computer vision and language processing enhances the model's comprehension and makes it valuable for tasks involving visual information. To make use of vision with Mistral connector, an optional [FileCollection](/appstore/modules/genai/genai-for-mx/commons/#filecollection) containing one or multiple images must be sent along with a single message. +Vision enables models like Mistral Medium 3.1 and Mistral Small 3.2 to interpret and analyze images, allowing them to answer questions and perform tasks related to visual content. This integration of computer vision and language processing enhances the model's comprehension and makes it valuable for tasks involving visual information. To make use of vision with Mistral connector, an optional [FileCollection](/agents/genai-for-mx/commons/#filecollection) containing one or multiple images must be sent along with a single message. For `Chat Completions without History`, `FileCollection` is an optional input parameter. -For `Chat Completions with History`, `FileCollection` can optionally be added to individual user messages using [Chat: Add Message to Request](/appstore/modules/genai/genai-for-mx/commons/#chat-add-message-to-request). +For `Chat Completions with History`, `FileCollection` can optionally be added to individual user messages using [Chat: Add Message to Request](/agents/genai-for-mx/commons/#chat-add-message-to-request). Use the two microflow actions from the OpenAI specific toolbox [Files: Initialize Collection with OpenAI File](#initialize-filecollection) and [Files: Add OpenAIFile to Collection](#add-file) to construct the input with either `FileDocuments` (for vision, it needs to be of type `Image`) or `URLs`. There are similar file operations exposed by the GenAI commons module that can be used for vision requests with the OpenAIConnector for Mistral. However, these generic operations do not support the optional OpenAI API-specific `Detail` attribute. @@ -153,29 +154,29 @@ Image generation is currently not supported by the Mistral connector. You can le #### Embeddings Generation {#embeddings-configuration} -Mistral also provides vector embedding generation capabilities which can be invoked using this connector module. The `MistralDeployedModel` entity is compatible with the [knowledge base operations](/appstore/modules/genai/genai-for-mx/commons/#genai-knowledgebase-content) from the GenAI Commons. +Mistral also provides vector embedding generation capabilities which can be invoked using this connector module. The `MistralDeployedModel` entity is compatible with the [knowledge base operations](/agents/genai-for-mx/commons/#genai-knowledgebase-content) from the GenAI Commons. In order to implement embeddings generation into your Mendix application, you can use the Embedding generation microflow actions from GenAI Commons directly. When developing your microflow, you can drag and drop the one you need from the toolbox: find it under the **GenAI (Generate)** category in the **Toolbox** in Mendix Studio Pro: * Generate Embeddings (String) * Generate Embeddings (Chunk Collection) -Depending on the operation you use in the microflow, an `InputText` String or a [ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection) needs to be provided. The current version of this operation only supports the float representation of the resulting vector. +Depending on the operation you use in the microflow, an `InputText` String or a [ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection) needs to be provided. The current version of this operation only supports the float representation of the resulting vector. {{% alert color="info" %}} The Mistral API limits the amount of chunks that can be embedded within the single API call. To embed a larger amount of chunks, it is recommended to process them in batches. You can find the example of this use case in the Clustering example of the [GenAI showcase](https://marketplace.mendix.com/link/component/220475) application. {{% /alert %}} -The microflow action `Generate Embeddings (String)` supports scenarios where the vector embedding of a single string must be generated, e.g. to use for a nearest neighbor search across an existing knowledge base. This input string can be passed directly as the `InputText` parameter of this microflow. Additionally, [EmbeddingsOptions](/appstore/modules/genai/genai-for-mx/commons/#embeddingsoptions-entity) is optional and can be instantiated using [Embeddings: Create EmbeddingsOptions](/appstore/modules/genai/genai-for-mx/commons/#embeddingsoptions-create) from GenAI Commons. Use the GenAI Commons toolbox action [Embeddings: Get First Vector from Response](/appstore/modules/genai/genai-for-mx/commons/#embeddings-get-first-vector) to retrieve the generated embeddings vector. Both mentioned operations can be found under **GenAI Knowledge Base (Content)** in the **Toolbox** in Mendix Studio Pro. +The microflow action `Generate Embeddings (String)` supports scenarios where the vector embedding of a single string must be generated, e.g. to use for a nearest neighbor search across an existing knowledge base. This input string can be passed directly as the `InputText` parameter of this microflow. Additionally, [EmbeddingsOptions](/agents/genai-for-mx/commons/#embeddingsoptions-entity) is optional and can be instantiated using [Embeddings: Create EmbeddingsOptions](/agents/genai-for-mx/commons/#embeddingsoptions-create) from GenAI Commons. Use the GenAI Commons toolbox action [Embeddings: Get First Vector from Response](/agents/genai-for-mx/commons/#embeddings-get-first-vector) to retrieve the generated embeddings vector. Both mentioned operations can be found under **GenAI Knowledge Base (Content)** in the **Toolbox** in Mendix Studio Pro. -The microflow action `Generate Embeddings (Chunk Collection)` supports the more complex scenario where a collection of string inputs is vectorized in a single API call, such as when converting a collection of texts (chunks) into embeddings to be inserted into a knowledge base. Instead of calling the API for each string, executing a single call for a list of strings can significantly reduce HTTP overhead. Use the exposed microflows of GenAI Commons [Chunks: Initialize ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-create) to create the wrapper and [Chunks: Add Chunk to ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-add-chunk), or [Chunks: Add KnowledgeBaseChunk to ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) to construct the input. The resulting embedding vectors returned after a successful API call will be stored in the `EmbeddingVector` attribute in the same `Chunk` object. \ +The microflow action `Generate Embeddings (Chunk Collection)` supports the more complex scenario where a collection of string inputs is vectorized in a single API call, such as when converting a collection of texts (chunks) into embeddings to be inserted into a knowledge base. Instead of calling the API for each string, executing a single call for a list of strings can significantly reduce HTTP overhead. Use the exposed microflows of GenAI Commons [Chunks: Initialize ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection-create) to create the wrapper and [Chunks: Add Chunk to ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection-add-chunk), or [Chunks: Add KnowledgeBaseChunk to ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) to construct the input. The resulting embedding vectors returned after a successful API call will be stored in the `EmbeddingVector` attribute in the same `Chunk` object. \ Purely to generate embeddings, it does not matter whether the ChunkCollection contains Chunks or its specialization KnowledgeBaseChunks. However, if the end goal is to store the generated embedding vectors in a knowledge base (e.g. using the [PgVector Knowledge Base](/appstore/modules/pgvector-knowledge-base/) module), then Mendix recommends adding `KnowledgeBaseChunks` to the `ChunkCollection` and using these as an input for the embeddings operations, so they can later be used directly to populate the knowledge base. -Note that, currently, the knowledge base interaction (e.g. inserting or retrieving chunks) is not supported for OpenAI compatible APIs. For more information on possible ways to work with knowledge bases for embedding generation, see [PgVector Knowledge Base](/appstore/modules/pgvector-knowledge-base/) and [setting up a Vector Database](/appstore/modules/genai/pgvector-setup/). +Note that, currently, the knowledge base interaction (e.g. inserting or retrieving chunks) is not supported for OpenAI compatible APIs. For more information on possible ways to work with knowledge bases for embedding generation, see [PgVector Knowledge Base](/appstore/modules/pgvector-knowledge-base/) and [setting up a Vector Database](/agents/reference-guide/external-connectors/pgvector-setup/). ### Exposed Microflow Actions for OpenAI-compatible APIs {#exposed-microflows} -T exposed microflow actions used to construct requests via drag-and-drop specifically for OpenAI-compatible APIs are listed below. You can find these microflows in the **Toolbox** of Studio Pro. Note that these flows are only required if you need to add Mistral-specific options to your requests. For generic functionality, can use the GenAI Commons toolbox actions to [create the required Request](/appstore/modules/genai/genai-for-mx/commons/#genai-request-building) and [handle the Response](/appstore/modules/genai/genai-for-mx/commons/#genai-response-handling). These actions are available under the **GenAI (Request Building)** and **GenAI (Response Handling)** categories in the Toolbox. +T exposed microflow actions used to construct requests via drag-and-drop specifically for OpenAI-compatible APIs are listed below. You can find these microflows in the **Toolbox** of Studio Pro. Note that these flows are only required if you need to add Mistral-specific options to your requests. For generic functionality, can use the GenAI Commons toolbox actions to [create the required Request](/agents/genai-for-mx/commons/#genai-request-building) and [handle the Response](/agents/genai-for-mx/commons/#genai-response-handling). These actions are available under the **GenAI (Request Building)** and **GenAI (Response Handling)** categories in the Toolbox. #### Set Response Format {#set-responseformat-chat} @@ -206,7 +207,7 @@ The **Documentation** pane displays the documentation for the currently selected ### Tool Choice -Mistral supports the following [tool choice types](/appstore/modules/genai/genai-for-mx/commons/#enum-toolchoice) of GenAI Commons for the [Tools: Set Tool Choice](/appstore/modules/genai/genai-for-mx/commons/#set-toolchoice) action are supported. For API mapping reference, see the table below: +Mistral supports the following [tool choice types](/agents/genai-for-mx/commons/#enum-toolchoice) of GenAI Commons for the [Tools: Set Tool Choice](/agents/genai-for-mx/commons/#set-toolchoice) action are supported. For API mapping reference, see the table below: | GenAI Commons (Mendix) | Mistral | | -----------------------| ------- | @@ -219,7 +220,7 @@ Mistral supports the following [tool choice types](/appstore/modules/genai/genai For more inspiration or guidance on how to use those microflows in your logic, Mendix recommends downloading the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475), which demonstrates a variety of example use cases. {{% alert color="info" %}} -Some examples demonstrate knowledge base interaction and require a connection to a vector database. For more information on these concepts, see [Retrieval Augmented Generation (RAG)](/appstore/modules/genai/rag/) +Some examples demonstrate knowledge base interaction and require a connection to a vector database. For more information on these concepts, see [Retrieval Augmented Generation (RAG)](/agents/rag/) {{% /alert %}} ## Troubleshooting {#troubleshooting} diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/Mx GenAI Connector.md b/content/en/docs/genai/reference-guide/external-platforms/mx-genai-connector.md similarity index 75% rename from content/en/docs/marketplace/genai/reference-guide/external-platforms/Mx GenAI Connector.md rename to content/en/docs/genai/reference-guide/external-platforms/mx-genai-connector.md index 93cb4ecf8c2..7376a94dc18 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/Mx GenAI Connector.md +++ b/content/en/docs/genai/reference-guide/external-platforms/mx-genai-connector.md @@ -1,22 +1,23 @@ --- title: "Mendix Cloud GenAI Connector" -url: /appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/ +url: /agents/mx-cloud-genai/mxgenai-connector/ linktitle: "Mendix Cloud GenAI Connector" description: "Describes the configuration and usage of the Mendix Cloud GenAI Connector, enabling you to integrate Mendix Cloud GenAI Resource Packs directly into your Mendix application." weight: 20 -aliases: +aliases: - /appstore/modules/genai/MxGenAI/ + - /appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/ --- ## Introduction -The [Mendix Cloud GenAI connector](https://marketplace.mendix.com/link/component/239449) lets you use [Mendix Cloud GenAI Resource Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/) directly within your Mendix application. It allows you to integrate generative AI by dragging and dropping common operations from its toolbox. +The [Mendix Cloud GenAI connector](https://marketplace.mendix.com/link/component/239449) lets you use [Mendix Cloud GenAI Resource Packs](/agents/mx-cloud-genai/resource-packs/) directly within your Mendix application. It allows you to integrate generative AI by dragging and dropping common operations from its toolbox. ### Features In the current version, Mendix supports text generation (including function/tool calling, chat with images, and chat with documents), vector embedding generation, knowledge base storage, and retrieval of knowledge base chunks. -Typical use cases for generative AI are described in more detail in the [Typical LLM Use Cases](/appstore/modules/genai/get-started/#llm-use-cases) section of the *GenAI Concepts*. +Typical use cases for generative AI are described in more detail in the [Typical LLM Use Cases](/agents/get-started/#llm-use-cases) section of the *GenAI Concepts*. ### Prerequisites @@ -75,7 +76,7 @@ After following the general setup above, you are ready to use the chat completio These microflows expect a `DeployedModel` as input to determine the connection details. -In chat completions, system prompts and user prompts are two key components that help guide the language model in generating relevant and contextually appropriate responses. For more information on prompt engineering, see the [Read More](#readmore) section. Different exposed microflow activities may require different prompts and logic for how the prompts must be passed, as described in the following sections. For more information on message roles, see the [ENUM_MessageRole](/appstore/modules/genai/genai-for-mx/commons/#enum-messagerole) enumeration in *GenAI Commons*. +In chat completions, system prompts and user prompts are two key components that help guide the language model in generating relevant and contextually appropriate responses. For more information on prompt engineering, see the [Read More](#readmore) section. Different exposed microflow activities may require different prompts and logic for how the prompts must be passed, as described in the following sections. For more information on message roles, see the [ENUM_MessageRole](/agents/genai-for-mx/commons/#enum-messagerole) enumeration in *GenAI Commons*. The chat completion operations support [Function Calling](#function-calling), [Vision](#vision), and [Document Chat](#document-chat). @@ -83,25 +84,25 @@ For more inspiration or guidance on how to use the above-mentioned microflows in #### Chat Completions (without History) -The microflow activity [Chat Completions (without history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-without-history) supports scenarios where there is no need to send a list of (historic) messages comprising the conversation so far as part of the request. +The microflow activity [Chat Completions (without history)](/agents/genai-for-mx/commons/#chat-completions-without-history) supports scenarios where there is no need to send a list of (historic) messages comprising the conversation so far as part of the request. #### Chat Completions (with History) -The microflow activity [Chat completions (with history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-with-history) supports more complex use cases where a list of (historical) messages (for example, the conversation or context so far) is sent as part of the request to the LLM. +The microflow activity [Chat completions (with history)](/agents/genai-for-mx/commons/#chat-completions-with-history) supports more complex use cases where a list of (historical) messages (for example, the conversation or context so far) is sent as part of the request to the LLM. #### Retrieve & Generate {#retrieve-and-generate} -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). +To use retrieval and generation in a single operation, an internally predefined tool can be added to the [Request](/agents/genai-for-mx/commons/#request) via the `Tools: Add Knowledge Base` action. The model can then decide whether to use the [knowledge base retrieval](/agents/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](/agents/genai-for-mx/commons/#metadatacollection-entity). {{< 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. +The returned `Response` includes [References](/agents/genai-for-mx/commons/#reference) for each retrieved chunk from the knowledge base. Optionally, you can control both reference creation and the output returned for the model during the insertion step: -* The `HumanReadableId` of a chunk is used for the reference title in the response, which is shown to the end user in the [ConversationalUI](/appstore/modules/genai/genai-for-mx/conversational-ui/). -* To utilize the `Source` attribute of the references, include `MetaData` with the key `sourceUrl`. In [ConversationalUI](/appstore/modules/genai/genai-for-mx/conversational-ui/), this will appear as a clickable link for the end user. -* In some cases, a knowledge chunk consists of two texts: one for the semantic search (retrieval) step, and another for the generation step. For example, when solving a problem based on historical solutions, semantic search identifies similar problems using their descriptions, while the generation step produces a solution based on the corresponding historical solutions. In such cases, you can add [MetaData](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) with the key `knowledge` to each chunk during insertion. This allows the model to generate its response using the specified metadata instead of the input text (only the value of `knowledge` is passed to the model). +* The `HumanReadableId` of a chunk is used for the reference title in the response, which is shown to the end user in the [ConversationalUI](/agents/genai-for-mx/conversational-ui/). +* To utilize the `Source` attribute of the references, include `MetaData` with the key `sourceUrl`. In [ConversationalUI](/agents/genai-for-mx/conversational-ui/), this will appear as a clickable link for the end user. +* In some cases, a knowledge chunk consists of two texts: one for the semantic search (retrieval) step, and another for the generation step. For example, when solving a problem based on historical solutions, semantic search identifies similar problems using their descriptions, while the generation step produces a solution based on the corresponding historical solutions. In such cases, you can add [MetaData](/agents/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) with the key `knowledge` to each chunk during insertion. This allows the model to generate its response using the specified metadata instead of the input text (only the value of `knowledge` is passed to the model). #### Function Calling{#function-calling} @@ -109,7 +110,7 @@ Function calling enables LLMs to connect with external tools to gather informati The model does not call the function but rather returns a tool called JSON structure that is used to build the input of the function (or functions) so that they can be executed as part of the chat completions operation. Functions in Mendix are essentially microflows that can be registered within the request to the LLM​. The connector takes care of handling the tool call response and executing the function microflows until the API returns the assistant's final response. -Function microflows 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](/appstore/modules/genai/genai-for-mx/commons/#request) or [Tool](/appstore/modules/genai/genai-for-mx/commons/#tool) objects as inputs. The function microflow must return a String value. +Function microflows 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](/agents/genai-for-mx/commons/#request) or [Tool](/agents/genai-for-mx/commons/#tool) objects as inputs. The function microflow must return a String value. {{% alert color="warning" %}} Function calling is a very powerful capability and should be used with caution. Note that function microflows run in the context of the current user without enforcing entity-access. You can use `$currentUser` in XPath queries to ensure you retrieve and return only information that the end-user is allowed to view; otherwise confidential information may become visible to the current end-user in the assistant's response. @@ -117,22 +118,22 @@ Function calling is a very powerful capability and should be used with caution. Mendix also strongly advises that you build user confirmation logic into function microflows that have a potential impact on the world on behalf of the end-user. Some examples of such microflows include sending an email, posting online, or making a purchase. {{% /alert %}} -You can use function calling in all chat completions operations by adding a `ToolCollection` with a `Function` via the [Tools: Add Function to Request](/appstore/modules/genai/genai-for-mx/commons/#add-function-to-request) operation. -For more information, see [Function Calling](/appstore/modules/genai/function-calling/). +You can use function calling in all chat completions operations by adding a `ToolCollection` with a `Function` via the [Tools: Add Function to Request](/agents/genai-for-mx/commons/#add-function-to-request) operation. +For more information, see [Function Calling](/agents/function-calling/). #### Vision{#vision} -Vision enables the model to interpret and analyze images, allowing them to answer questions and perform tasks related to visual content. This integration of computer vision and language processing enhances the model's comprehension and makes it valuable for tasks involving visual information. To ensure vision inside the connector, an optional [FileCollection](/appstore/modules/genai/genai-for-mx/commons/#filecollection) containing one or multiple images must be sent with a single message. +Vision enables the model to interpret and analyze images, allowing them to answer questions and perform tasks related to visual content. This integration of computer vision and language processing enhances the model's comprehension and makes it valuable for tasks involving visual information. To ensure vision inside the connector, an optional [FileCollection](/agents/genai-for-mx/commons/#filecollection) containing one or multiple images must be sent with a single message. -For [Chat Completions (without history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-without-history), `OptionalFileCollection` is an optional input parameter. For [Chat completions (with history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-with-history), a `FileCollection` can optionally be added to individual user messages using [Add Message to Request](/appstore/modules/genai/genai-for-mx/commons/#chat-add-message-to-request). +For [Chat Completions (without history)](/agents/genai-for-mx/commons/#chat-completions-without-history), `OptionalFileCollection` is an optional input parameter. For [Chat completions (with history)](/agents/genai-for-mx/commons/#chat-completions-with-history), a `FileCollection` can optionally be added to individual user messages using [Add Message to Request](/agents/genai-for-mx/commons/#chat-add-message-to-request). In the entire conversation, you can pass up to 20 images that are smaller than 3.75 MB each and with a height and width of a maximum 8000 pixels. The following types are accepted: PNG, JPEG, JPG, GIF, and WebP. #### Document Chat{#document-chat} -Document chat enables the model to interpret and analyze documents, such as PDFs or Excel files, allowing them to answer questions and perform tasks related to the content. To use document chat, an optional [FileCollection](/appstore/modules/genai/genai-for-mx/commons/#filecollection) containing one or multiple documents must be sent along with a single message. +Document chat enables the model to interpret and analyze documents, such as PDFs or Excel files, allowing them to answer questions and perform tasks related to the content. To use document chat, an optional [FileCollection](/agents/genai-for-mx/commons/#filecollection) containing one or multiple documents must be sent along with a single message. -For [Chat Completions (without history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-without-history), `OptionalFileCollection` is an optional input parameter. For [Chat completions (with history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-with-history), a `FileCollection` can optionally be added to individual user messages using [Add Message to Request](/appstore/modules/genai/genai-for-mx/commons/#chat-add-message-to-request). +For [Chat Completions (without history)](/agents/genai-for-mx/commons/#chat-completions-without-history), `OptionalFileCollection` is an optional input parameter. For [Chat completions (with history)](/agents/genai-for-mx/commons/#chat-completions-with-history), a `FileCollection` can optionally be added to individual user messages using [Add Message to Request](/agents/genai-for-mx/commons/#chat-add-message-to-request). In the entire conversation, you can pass up to five documents that are smaller than 4.5 MB each. Note that there is also a practical, model-dependent limit on the number of pages a document can contain - typically around 100 pages, but this is not fixed and can vary with the selected model and the complexity of the file (for example, images, heavy formatting, or embedded content can reduce the effective page limit). If you expect to work with very large documents, consider splitting them into smaller files or providing summarized extracts to improve reliability. @@ -178,15 +179,15 @@ Using metadata, even more fine-grained filtering becomes feasible. Each ticket m * key: `Status`, value: `Solved` * key: `Priority`, value: `High` -Instead of relying solely on similarity-based searches of ticket descriptions, users can then filter for specific tickets, such as 'Bug' tickets with the status set to 'Solved'. You can add [MetaData](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) with the respective key to each chunk during insertion. +Instead of relying solely on similarity-based searches of ticket descriptions, users can then filter for specific tickets, such as 'Bug' tickets with the status set to 'Solved'. You can add [MetaData](/agents/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) with the respective key to each chunk during insertion. #### How to Get Data Into a Knowledge Base -If you are looking for a step-by-step guide on how to get your application data into a collection inside a Mendix Cloud Knowledge Base Resource, refer to [Grounding Your Large Language Model in Data – Mendix Cloud GenAI](/appstore/modules/genai/how-to/howto-groundllm/). Note that the Mendix Portal also provides options for importing data into your knowledge base, such as file uploads. For more information, see [Navigate through the Mendix Cloud GenAI Portal](/appstore/modules/genai/mx-cloud-genai/Navigate-MxGenAI/). This documentation focuses solely on adding data from inside a Mendix application and using the connector. +If you are looking for a step-by-step guide on how to get your application data into a collection inside a Mendix Cloud Knowledge Base Resource, refer to [Grounding Your Large Language Model in Data – Mendix Cloud GenAI](/agents/how-to/howto-groundllm/). Note that the Mendix Portal also provides options for importing data into your knowledge base, such as file uploads. For more information, see [Navigate through the Mendix Cloud GenAI Portal](/agents/mx-cloud-genai/Navigate-MxGenAI/). This documentation focuses solely on adding data from inside a Mendix application and using the connector. ### Knowledge Base Operations -To implement knowledge base logic into your Mendix application, you can use the actions in the **USE_ME** > **Knowledge Base** folder or under the **GenAI Knowledge Base (Content)** or **Mendix Cloud Knowledge Base** categories in the **Toolbox**. These actions require a specialized [DeployedKnowledgeBase](/appstore/modules/genai/genai-for-mx/commons/#deployed-knowledge-base) of type `Collection` that determines the model and endpoint to use. Additionally, the collection name must be passed when creating the object, and it must be associated with a `Configuration` object. Note that for Mendix Cloud GenAI, a knowledge base resource may contain several collections (tables). +To implement knowledge base logic into your Mendix application, you can use the actions in the **USE_ME** > **Knowledge Base** folder or under the **GenAI Knowledge Base (Content)** or **Mendix Cloud Knowledge Base** categories in the **Toolbox**. These actions require a specialized [DeployedKnowledgeBase](/agents/genai-for-mx/commons/#deployed-knowledge-base) of type `Collection` that determines the model and endpoint to use. Additionally, the collection name must be passed when creating the object, and it must be associated with a `Configuration` object. Note that for Mendix Cloud GenAI, a knowledge base resource may contain several collections (tables). Dealing with knowledge bases involves two main stages: @@ -203,7 +204,7 @@ The knowledge chunks are stored in an AWS OpenSearch Serverless database to ensu ##### Data Chunks -To add data to the knowledge base, you need discrete pieces of information and create knowledge base chunks for each one. Use the GenAICommons operations to first [initialize a ChunkCollection object](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-create), and then [add a KnowledgeBaseChunk](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) object to it for each piece of information. Both can be found in the **Toolbox** inside of the **GenAI Knowledge Base (Content)** category. +To add data to the knowledge base, you need discrete pieces of information and create knowledge base chunks for each one. Use the GenAICommons operations to first [initialize a ChunkCollection object](/agents/genai-for-mx/commons/#chunkcollection-create), and then [add a KnowledgeBaseChunk](/agents/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) object to it for each piece of information. Both can be found in the **Toolbox** inside of the **GenAI Knowledge Base (Content)** category. ##### Chunking Strategy @@ -217,9 +218,9 @@ The chunk collection can then be stored in the knowledge base using one of the f Use the following toolbox actions inside the **Mendix Cloud Knowledge Base** toolbox category to populate knowledge data into a collection: -1. `Embed & Insert` embeds a list of chunks (passed via a [ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection)) and inserts them into the knowledge base. +1. `Embed & Insert` embeds a list of chunks (passed via a [ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection)) and inserts them into the knowledge base. 2. `Embed & Repopulate KB` is similar to `Embed & Insert`, but deletes all existing chunks from the knowledge base before inserting the new chunks. -3. `Embed & Replace` replaces existing chunks in the knowledge base that match the associated Mendix object that was passed via the [Add KnowledgeBaseChunk to ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) action at the insertion stage. +3. `Embed & Replace` replaces existing chunks in the knowledge base that match the associated Mendix object that was passed via the [Add KnowledgeBaseChunk to ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) action at the insertion stage. Additionally, use the following toolbox actions to delete chunks: @@ -238,7 +239,7 @@ The following toolbox actions can be used to retrieve knowledge data from a coll {{% alert color="info" %}}You must define your entity specialized from `KnowledgeBaseChunk`, which is associated with the entity that was used to pass a MendixObject during the [insertion stage](#knowledge-base-insertion). {{% /alert %}} -3. `Embed & Retrieve Nearest Neighbors` retrieves a list of type [KnowledgeBaseChunk](/appstore/modules/genai/genai-for-mx/commons/#knowledgebasechunk-entity) from the knowledge base that are most similar to a given `Content` by calculating the cosine similarity of its vectors. +3. `Embed & Retrieve Nearest Neighbors` retrieves a list of type [KnowledgeBaseChunk](/agents/genai-for-mx/commons/#knowledgebasechunk-entity) from the knowledge base that are most similar to a given `Content` by calculating the cosine similarity of its vectors. 4. `Embed & Retrieve Nearest Neighbors & Associate` combines the above actions, `Retrieve & Associate` and `Embed & Retrieve Nearest Neighbors`. ### Embedding Operations @@ -247,15 +248,15 @@ If you are working directly with embedding vectors for specific use cases that d To implement embeddings into your Mendix application, you can use the microflows in the **Knowledge Bases & Embeddings** folder inside of the GenAICommons module. Both microflows for embeddings are exposed as microflow actions under the **GenAI (Generate)** category in the **Toolbox** in Mendix Studio Pro. -These microflows require a [DeployedModel](/appstore/modules/genai/genai-for-mx/commons/#deployed-model) that determines the model and endpoint to use. Depending on the selected operation, an `InputText` String or a [ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection) needs to be provided. Note that embedding operations enforce a maximum character limit of 2048 characters per chunk; input exceeding this limit will cause the embedding operation to fail, so validate your input before submitting it for embedding. +These microflows require a [DeployedModel](/agents/genai-for-mx/commons/#deployed-model) that determines the model and endpoint to use. Depending on the selected operation, an `InputText` String or a [ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection) needs to be provided. Note that embedding operations enforce a maximum character limit of 2048 characters per chunk; input exceeding this limit will cause the embedding operation to fail, so validate your input before submitting it for embedding. #### Embeddings (String) -The microflow activity [Generate Embeddings (String)](/appstore/modules/genai/genai-for-mx/commons/#embeddings-string) supports scenarios where the vector embedding of a single string must be generated. This input string can be passed directly as the `TextInput` parameter of this microflow. Note that the parameter [EmbeddingsOptions](/appstore/modules/genai/genai-for-mx/commons/#embeddingsoptions-entity) is optional. Use the exposed microflow [Embeddings: Get First Vector from Response](/appstore/modules/genai/genai-for-mx/commons/#embeddings-get-first-vector) to retrieve the generated embeddings vector. +The microflow activity [Generate Embeddings (String)](/agents/genai-for-mx/commons/#embeddings-string) supports scenarios where the vector embedding of a single string must be generated. This input string can be passed directly as the `TextInput` parameter of this microflow. Note that the parameter [EmbeddingsOptions](/agents/genai-for-mx/commons/#embeddingsoptions-entity) is optional. Use the exposed microflow [Embeddings: Get First Vector from Response](/agents/genai-for-mx/commons/#embeddings-get-first-vector) to retrieve the generated embeddings vector. #### Embeddings (ChunkCollection) -The microflow activity [Generate Embeddings (ChunkCollection)](/appstore/modules/genai/genai-for-mx/commons/#embeddings-chunk-collection) supports the more complex scenario where a collection of [Chunk](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection) objects is vectorized in a single API call, such as when converting a collection of text strings (chunks) from a private knowledge base into embeddings. Instead of calling the API for each string, executing a single call for a list of strings can significantly reduce HTTP overhead. The embedding vectors returned after a successful API call will be stored as an `EmbeddingVector` attribute in the same `Chunk` object. Use the exposed microflows of GenAI Commons [Chunks: Initialize ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-create), [Chunks: Add Chunk to ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-add-chunk), or [Chunks: Add KnowledgeBaseChunk to ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) to construct the input. +The microflow activity [Generate Embeddings (ChunkCollection)](/agents/genai-for-mx/commons/#embeddings-chunk-collection) supports the more complex scenario where a collection of [Chunk](/agents/genai-for-mx/commons/#chunkcollection) objects is vectorized in a single API call, such as when converting a collection of text strings (chunks) from a private knowledge base into embeddings. Instead of calling the API for each string, executing a single call for a list of strings can significantly reduce HTTP overhead. The embedding vectors returned after a successful API call will be stored as an `EmbeddingVector` attribute in the same `Chunk` object. Use the exposed microflows of GenAI Commons [Chunks: Initialize ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection-create), [Chunks: Add Chunk to ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection-add-chunk), or [Chunks: Add KnowledgeBaseChunk to ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) to construct the input. To create embeddings, it does not matter whether the ChunkCollection contains Chunks or its specialization KnowledgeBaseChunks. Note that the knowledge base operations handle the embedding generation themselves internally. @@ -272,7 +273,7 @@ The **Documentation** pane displays the documentation for the currently selected ### Tool Choice -All [tool choice types](/appstore/modules/genai/genai-for-mx/commons/#enum-toolchoice) of GenAI Commons for the [Tools: Set Tool Choice](/appstore/modules/genai/genai-for-mx/commons/#set-toolchoice) action are supported. For API mapping reference, see the table below: +All [tool choice types](/agents/genai-for-mx/commons/#enum-toolchoice) of GenAI Commons for the [Tools: Set Tool Choice](/agents/genai-for-mx/commons/#set-toolchoice) action are supported. For API mapping reference, see the table below: | GenAI Commons (Mendix) | Amazon Bedrock | | -----------------------| ----------------------------- | @@ -283,7 +284,7 @@ All [tool choice types](/appstore/modules/genai/genai-for-mx/commons/#enum-toolc ## Implementing GenAI with the Showcase App -For more guidance on how to use microflows in your logic, Mendix recommends downloading the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475), which demonstrates a variety of example use cases and applies almost all of the Mendix Cloud GenAI operations. The [starter apps](/appstore/modules/genai/#starter-apps) can also be used as inspiration or simply adapted for a specific use case. +For more guidance on how to use microflows in your logic, Mendix recommends downloading the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475), which demonstrates a variety of example use cases and applies almost all of the Mendix Cloud GenAI operations. The [starter apps](/agents/#starter-apps) can also be used as inspiration or simply adapted for a specific use case. ## Troubleshooting {#troubleshooting} diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/openai.md b/content/en/docs/genai/reference-guide/external-platforms/openai.md similarity index 81% rename from content/en/docs/marketplace/genai/reference-guide/external-platforms/openai.md rename to content/en/docs/genai/reference-guide/external-platforms/openai.md index bc613e0c7d0..572727c2405 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/openai.md +++ b/content/en/docs/genai/reference-guide/external-platforms/openai.md @@ -1,12 +1,13 @@ --- title: "OpenAI" -url: /appstore/modules/genai/reference-guide/external-connectors/openai/ +url: /agents/reference-guide/external-connectors/openai/ linktitle: "OpenAI" description: "Describes the configuration and usage of the OpenAI Connector, which allows you to integrate generative AI into your Mendix app." weight: 20 aliases: - /appstore/connectors/openai-connector/ - /appstore/modules/genai/openai/ + - /appstore/modules/genai/reference-guide/external-connectors/openai/ --- ## Introduction {#introduction} @@ -25,7 +26,7 @@ Mendix provides support for [OpenAI](https://platform.openai.com/) and [Microsof With the current version, Mendix supports the Chat Completions API for [text generation](https://platform.openai.com/docs/guides/text-generation), the Image Generations API for [images](https://platform.openai.com/docs/guides/images), the Embeddings API for [vector embeddings](https://platform.openai.com/docs/guides/embeddings/what-are-embeddings), and indexes via [Azure AI Search](https://learn.microsoft.com/en-us/azure/search/) for knowledge base retrieval. -Typical use cases for generative AI are described in the [Typical LLM Use Cases](/appstore/modules/genai/get-started/#llm-use-cases). +Typical use cases for generative AI are described in the [Typical LLM Use Cases](/agents/get-started/#llm-use-cases). #### Knowledge Base @@ -38,7 +39,7 @@ To use this connector, you need to either sign up for an [OpenAI account](https: ### Dependencies {#dependencies} * Mendix Studio Pro version 10.24.0 or above -* [GenAI Commons module](/appstore/modules/genai/commons/) +* [GenAI Commons module](/agents/genai-for-mx/commons/) * [Encryption module](/appstore/modules/encryption/) * [Community Commons module](/appstore/modules/community-commons-function-library/) @@ -50,7 +51,7 @@ To use this connector, you need to either sign up for an [OpenAI account](https: * [Encryption](https://marketplace.mendix.com/link/component/1011) module * [Community Commons](https://marketplace.mendix.com/link/component/170) module -To import the OpenAI Connector into your app, follow the instructions in [How to Use Marketplace Content](/appstore/use-content/). +To import the OpenAI Connector into your app, follow the instructions in [Using Marketplace Content](/appstore/use-content/). ## Configuration {#configuration} @@ -115,7 +116,7 @@ Currently, the only supported authorization method for Azure AI Search resources #### Configuring the OpenAI Deployed Models -A [Deployed Model](/appstore/modules/genai/genai-for-mx/commons/#deployed-model) represents a GenAI model instance that can be used by the app to generate text, embeddings, or images. For every model you want to invoke from your app, you need to create a `OpenAIDeployedModel` record, a specialization of `DeployedModel`. In addition to the model display name and a technical name/identifier, an OpenAI deployed model contains a reference to the additional connection details as configured in the previous step. For OpenAI, a set of common models can be created automatically using the designated button. If you want to use additional models that are made available by OpenAI you need to configure additional OpenAI deployed models in your Mendix app. For Microsoft Foundry, the model names can be different. The technical model names depend on the deployment names that were chosen while deploying the models in the [Microsoft Foundry portal](https://ai.azure.com/). Therefore in this case you always need to configure the deployed models manually in your Mendix app. +A [Deployed Model](/agents/genai-for-mx/commons/#deployed-model) represents a GenAI model instance that can be used by the app to generate text, embeddings, or images. For every model you want to invoke from your app, you need to create a `OpenAIDeployedModel` record, a specialization of `DeployedModel`. In addition to the model display name and a technical name/identifier, an OpenAI deployed model contains a reference to the additional connection details as configured in the previous step. For OpenAI, a set of common models can be created automatically using the designated button. If you want to use additional models that are made available by OpenAI you need to configure additional OpenAI deployed models in your Mendix app. For Microsoft Foundry, the model names can be different. The technical model names depend on the deployment names that were chosen while deploying the models in the [Microsoft Foundry portal](https://ai.azure.com/). Therefore in this case you always need to configure the deployed models manually in your Mendix app. 1. If needed, click the three dots ({{% icon name="three-dots-menu-horizontal" %}}) icon for an OpenAI configuration to open the **Manage Deployed Models** pop-up. 2. For every additional model, add a record. The following fields are required: @@ -132,20 +133,20 @@ A [Deployed Model](/appstore/modules/genai/genai-for-mx/commons/#deployed-model) ### Using GenAI Commons Operations {#genai-commons-operations} -After following the general setup above, you are all set to use the microflow actions under the **GenAI (Generate)** category from the toolbox. These operations are part of GenAI Commons. Since OpenAI is compatible with the principles of GenAI Commons, you can pass an `OpenAIDeployedModel` to all GenAI Commons operations that expect the generalization `DeployedModel`. All actions under **GenAI (Generate)** will take care of executing the right provider-specific logic, based on the type of specialization passed, in this case OpenAI. From an implementation perspective, it is not needed to inspect the inner workings of this operation. The input, output, and behavior are as described in the [GenAICommons documentation](/appstore/modules/genai/genai-for-mx/commons/#microflows). Applicable operations and some OpenAI-specific aspects are listed below. +After following the general setup above, you are all set to use the microflow actions under the **GenAI (Generate)** category from the toolbox. These operations are part of GenAI Commons. Since OpenAI is compatible with the principles of GenAI Commons, you can pass an `OpenAIDeployedModel` to all GenAI Commons operations that expect the generalization `DeployedModel`. All actions under **GenAI (Generate)** will take care of executing the right provider-specific logic, based on the type of specialization passed, in this case OpenAI. From an implementation perspective, it is not needed to inspect the inner workings of this operation. The input, output, and behavior are as described in the [GenAICommons documentation](/agents/genai-for-mx/commons/#microflows). Applicable operations and some OpenAI-specific aspects are listed below. For more inspiration or guidance on how to use the microflow actions in your logic, Mendix recommends downloading our [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475), which demonstrates a variety of examples that cover all the operations mentioned. #### Chat Completions -Operations for chat completions focus on the generation of text based on a certain input. In this context, system prompts and user prompts are two key components that help guide the language model in generating relevant and contextually appropriate responses. For more information on the type of prompts and message roles, see the [ENUM_MessageRole](/appstore/modules/genai/genai-for-mx/commons/#enum-messagerole) enumeration. To learn more about how to create the right prompts for your use case, see the prompt engineering links in the [Read More](#read-more) section. +Operations for chat completions focus on the generation of text based on a certain input. In this context, system prompts and user prompts are two key components that help guide the language model in generating relevant and contextually appropriate responses. For more information on the type of prompts and message roles, see the [ENUM_MessageRole](/agents/genai-for-mx/commons/#enum-messagerole) enumeration. To learn more about how to create the right prompts for your use case, see the prompt engineering links in the [Read More](#read-more) section. -The `OpenAIDeployedModel` is compatible with the two [Chat Completions operations from GenAI Commons](/appstore/modules/genai/genai-for-mx/commons/#genai-generate). While developing your custom microflow, you can drag and drop the following operations from the toolbox in Studio Pro, see category **GenAI (Generate)**: +The `OpenAIDeployedModel` is compatible with the two [Chat Completions operations from GenAI Commons](/agents/genai-for-mx/commons/#genai-generate). While developing your custom microflow, you can drag and drop the following operations from the toolbox in Studio Pro, see category **GenAI (Generate)**: * Chat Completions (with history) * Chat Completions (without history) -You can use the GenAI Commons toolbox actions to [create the required Request](/appstore/modules/genai/genai-for-mx/commons/#genai-request-building) and [handle the Response](/appstore/modules/genai/genai-for-mx/commons/#genai-response-handling) for your use case. +You can use the GenAI Commons toolbox actions to [create the required Request](/agents/genai-for-mx/commons/#genai-request-building) and [handle the Response](/agents/genai-for-mx/commons/#genai-response-handling) for your use case. The internal chat completion logic within the OpenAI connector supports [JSON mode](#chatcompletions-json-mode), [function calling](#chatcompletions-functioncalling), and [vision](#chatcompletions-vision). Make sure to check the actual compatibility of the available models with these functionalities, as this changes over time. Any specific OpenAI microflow actions from the toolbox are listed below. @@ -159,9 +160,9 @@ Function calling enables LLMs to connect with external tools to gather informati OpenAI does not call the function. The model returns a tool called JSON structure that is used to build the input of the function (or functions) so that they can be executed as part of the chat completions operation. Functions in Mendix are essentially microflows that can be registered within the request to the LLM​. The OpenAI connector takes care of handling the tool call response as well as executing the function microflows until the API returns the assistant's final response. -This is all part of the implementation that is executed by the GenAI Commons chat completions operations mentioned before. As a developer, you have to make the system aware of your functions and what these do by registering the function(s) to the request. This is done using the GenAI Commons operation [Tools: Add Function to Request](/appstore/modules/genai/genai-for-mx/commons/#add-function-to-request) once per function before passing the request to the chat completions operation. +This is all part of the implementation that is executed by the GenAI Commons chat completions operations mentioned before. As a developer, you have to make the system aware of your functions and what these do by registering the function(s) to the request. This is done using the GenAI Commons operation [Tools: Add Function to Request](/agents/genai-for-mx/commons/#add-function-to-request) once per function before passing the request to the chat completions operation. -Function microflows 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](/appstore/modules/genai/genai-for-mx/commons/#request) or [Tool](/appstore/modules/genai/genai-for-mx/commons/#tool) objects as inputs. The function microflow must return a String value. +Function microflows 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](/agents/genai-for-mx/commons/#request) or [Tool](/agents/genai-for-mx/commons/#tool) objects as inputs. The function microflow must return a String value. {{% alert color="warning" %}} Function calling is a very powerful capability and should be used with caution. Note that function microflows run in the context of the current user without enforcing entity-access. You can use `$currentUser` in XPath queries to ensure you retrieve and return only information that the end-user is allowed to view; otherwise confidential information may become visible to the current end-user in the assistant's response. @@ -169,7 +170,7 @@ Function calling is a very powerful capability and should be used with caution. Mendix also strongly advises that you build user confirmation logic into function microflows that have a potential impact on the world on behalf of the end-user. Some examples of such microflows include sending an email, posting online, or making a purchase. {{% /alert %}} -For more information, see [Function Calling](/appstore/modules/genai/function-calling/). +For more information, see [Function Calling](/agents/function-calling/). #### Index {#chatcompletions-index} @@ -177,17 +178,17 @@ Adding Azure indexes to a call enables LLMs to retrieve information when a relat OpenAI does not directly connect to the Azure AI Search resource. The model returns a tool called JSON structure that is used to build the input of the retrievals so that they can be executed as part of the chat completions operation. The OpenAI connector takes care of handling the tool call response as well as executing the function microflows until the API returns the assistant's final response. -This functionality is part of the implementation executed by the GenAI Commons Chat Completions operations mentioned earlier. As a developer, you need to make the system aware of your indexes and their purpose by registering them with the request. This is done using the GenAI Commons operation [Tools: Add Knowledge Base](/appstore/modules/genai/genai-for-mx/commons/#add-knowledge-base-to-request), which must be called once per index before passing the request to the Chat Completions operation. +This functionality is part of the implementation executed by the GenAI Commons Chat Completions operations mentioned earlier. As a developer, you need to make the system aware of your indexes and their purpose by registering them with the request. This is done using the GenAI Commons operation [Tools: Add Knowledge Base](/agents/genai-for-mx/commons/#add-knowledge-base-to-request), which must be called once per index before passing the request to the Chat Completions operation. Note that the retrieval process is independent of the model provider and can be used with any model that supports function calling, as it relies on the generalized `GenAICommons.ConsumedKnowledgeBase`entity. For Azure indexes specifically, as part of this module, when collection identifiers needs to be passed to operations, the `Name` of the `Index` should be used. #### Vision {#chatcompletions-vision} -Vision enables models like GPT-4o and GPT-4 Turbo to interpret and analyze images, allowing them to answer questions and perform tasks related to visual content. This integration of computer vision and language processing enhances the model's comprehension and makes it valuable for tasks involving visual information. To make use of vision inside the OpenAI connector, an optional [FileCollection](/appstore/modules/genai/genai-for-mx/commons/#filecollection) containing one or multiple images must be sent along with a single message. +Vision enables models like GPT-4o and GPT-4 Turbo to interpret and analyze images, allowing them to answer questions and perform tasks related to visual content. This integration of computer vision and language processing enhances the model's comprehension and makes it valuable for tasks involving visual information. To make use of vision inside the OpenAI connector, an optional [FileCollection](/agents/genai-for-mx/commons/#filecollection) containing one or multiple images must be sent along with a single message. For `Chat Completions without History`, `FileCollection` is an optional input parameter. -For `Chat Completions with History`, `FileCollection` can optionally be added to individual user messages using [Chat: Add Message to Request](/appstore/modules/genai/genai-for-mx/commons/#chat-add-message-to-request). +For `Chat Completions with History`, `FileCollection` can optionally be added to individual user messages using [Chat: Add Message to Request](/agents/genai-for-mx/commons/#chat-add-message-to-request). Use the two OpenAI-specific microflow actions from the toolbox [Files: Initialize Collection with OpenAI File](#initialize-filecollection) and [Files: Add OpenAIFile to Collection](#add-file) to construct the input with either `FileDocuments` (for vision, it needs to be of type `Image`) or `URLs`. There are similar file operations exposed by the GenAI commons module that can be used for vision requests with the OpenAIConnector; however, these generic operations do not support the optional OpenAI-specific `Detail` attribute. @@ -201,9 +202,9 @@ For more information on vision, see [OpenAI](https://platform.openai.com/docs/gu #### Document Chat {#chatcompletions-document} -Document chat enables the model to interpret and analyze PDF documents, allowing it to answer questions and perform tasks based on the document content. To use document chat, you can send an optional [FileCollection](/appstore/modules/genai/genai-for-mx/commons/#filecollection) containing one or more documents along with a single message. +Document chat enables the model to interpret and analyze PDF documents, allowing it to answer questions and perform tasks based on the document content. To use document chat, you can send an optional [FileCollection](/agents/genai-for-mx/commons/#filecollection) containing one or more documents along with a single message. -For [Chat Completions (without history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-without-history), `OptionalFileCollection` is an optional input parameter. For [Chat completions (with history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-with-history), a `FileCollection` can optionally be added to individual user messages using [Add Message to Request](/appstore/modules/genai/genai-for-mx/commons/#chat-add-message-to-request). +For [Chat Completions (without history)](/agents/genai-for-mx/commons/#chat-completions-without-history), `OptionalFileCollection` is an optional input parameter. For [Chat completions (with history)](/agents/genai-for-mx/commons/#chat-completions-with-history), a `FileCollection` can optionally be added to individual user messages using [Add Message to Request](/agents/genai-for-mx/commons/#chat-add-message-to-request). You can send up to 100 pages across multiple files, with a maximum combined size of 32 MB per conversation. Currently, processing multiple files with OpenAI is not always guaranteed and can lead to unexpected behavior (for example, only one file being processed). @@ -215,37 +216,37 @@ Note that the model uses the file name when analyzing documents, which may intro #### Image Generations {#image-generations-configuration} -OpenAI also provides image generation capabilities which can be invoked using this connector module. The `OpenAIDeployedModel` entity is compatible with the [image generation operation from GenAI Commons](/appstore/modules/genai/genai-for-mx/commons/#generate-image). +OpenAI also provides image generation capabilities which can be invoked using this connector module. The `OpenAIDeployedModel` entity is compatible with the [image generation operation from GenAI Commons](/agents/genai-for-mx/commons/#generate-image). To implement image generation into your Mendix application, you can use the Image generation microflow action from GenAI Commons directly. When developing your microflow, you can drag and drop it from the toolbox: find it under the **GenAI (Generate)** category in the **Toolbox** in Mendix Studio Pro: * Generate Image -When you drag this operation into your app microflow logic, use the `user prompt` to describe the desired image, and for the `DeployedModel` pass the relevant `OpenAIDeployedModel` that supports image generation. Additional parameters like the height and the width can be configured using [Image Generation: Create ImageOptions](/appstore/modules/genai/genai-for-mx/commons/#imageoptions-create). To configure OpenAI-specific options, like quality and style an extension to the ImageOptions can be added using [Image Generation: Set ImageOptions Extension](#set-imageoptions-extension). +When you drag this operation into your app microflow logic, use the `user prompt` to describe the desired image, and for the `DeployedModel` pass the relevant `OpenAIDeployedModel` that supports image generation. Additional parameters like the height and the width can be configured using [Image Generation: Create ImageOptions](/agents/genai-for-mx/commons/#imageoptions-create). To configure OpenAI-specific options, like quality and style an extension to the ImageOptions can be added using [Image Generation: Set ImageOptions Extension](#set-imageoptions-extension). -A generated image needs to be stored in a custom entity that inherits from the `System.Image` entity. The `Response` from the single image operation can be processed using [Get Generated Image (Single)](/appstore/modules/genai/genai-for-mx/commons/#image-get-single) to store the image in your custom `Image` entity. +A generated image needs to be stored in a custom entity that inherits from the `System.Image` entity. The `Response` from the single image operation can be processed using [Get Generated Image (Single)](/agents/genai-for-mx/commons/#image-get-single) to store the image in your custom `Image` entity. #### Embeddings Generation {#embeddings-configuration} -OpenAI also provides vector embedding generation capabilities which can be invoked using this connector module. The `OpenAIDeployedModel` entity is compatible with the [knowledge base operations](/appstore/modules/genai/genai-for-mx/commons/#genai-knowledgebase-content) from the GenAI Commons. +OpenAI also provides vector embedding generation capabilities which can be invoked using this connector module. The `OpenAIDeployedModel` entity is compatible with the [knowledge base operations](/agents/genai-for-mx/commons/#genai-knowledgebase-content) from the GenAI Commons. In order to implement embeddings generation into your Mendix application, you can use the Embedding generation microflow actions from GenAI Commons directly. When developing your microflow, you can drag and drop the one you need from the toolbox: find it under the **GenAI (Generate)** category in the **Toolbox** in Mendix Studio Pro: * Generate Embeddings (String) * Generate Embeddings (Chunk Collection) -Depending on the operation you use in the microflow, an `InputText` String or a [ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection) needs to be provided. The current version of this operation only supports the float representation of the resulting vector. +Depending on the operation you use in the microflow, an `InputText` String or a [ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection) needs to be provided. The current version of this operation only supports the float representation of the resulting vector. -The microflow action `Generate Embeddings (String)` supports scenarios where the vector embedding of a single string must be generated, e.g. to use for a nearest neighbor search across an existing knowledge base. This input string can be passed directly as the `InputText` parameter of this microflow. Additionally, [EmbeddingsOptions](/appstore/modules/genai/genai-for-mx/commons/#embeddingsoptions-entity) is optional and can be instantiated using [Embeddings: Create EmbeddingsOptions](/appstore/modules/genai/genai-for-mx/commons/#embeddingsoptions-create) from GenAI Commons. Use the GenAI Commons toolbox action [Embeddings: Get First Vector from Response](/appstore/modules/genai/genai-for-mx/commons/#embeddings-get-first-vector) to retrieve the generated embeddings vector. Both mentioned operations can be found under **GenAI Knowledge Base (Content)** in the **Toolbox** in Mendix Studio Pro. +The microflow action `Generate Embeddings (String)` supports scenarios where the vector embedding of a single string must be generated, e.g. to use for a nearest neighbor search across an existing knowledge base. This input string can be passed directly as the `InputText` parameter of this microflow. Additionally, [EmbeddingsOptions](/agents/genai-for-mx/commons/#embeddingsoptions-entity) is optional and can be instantiated using [Embeddings: Create EmbeddingsOptions](/agents/genai-for-mx/commons/#embeddingsoptions-create) from GenAI Commons. Use the GenAI Commons toolbox action [Embeddings: Get First Vector from Response](/agents/genai-for-mx/commons/#embeddings-get-first-vector) to retrieve the generated embeddings vector. Both mentioned operations can be found under **GenAI Knowledge Base (Content)** in the **Toolbox** in Mendix Studio Pro. -The microflow action `Generate Embeddings (Chunk Collection)` supports the more complex scenario where a collection of string inputs is vectorized in a single API call, such as when converting a collection of texts (chunks) into embeddings to be inserted into a knowledge base. Instead of calling the API for each string, executing a single call for a list of strings can significantly reduce HTTP overhead. Use the exposed microflows of GenAI Commons [Chunks: Initialize ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-create) to create the wrapper and [Chunks: Add Chunk to ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-add-chunk), or [Chunks: Add KnowledgeBaseChunk to ChunkCollection](/appstore/modules/genai/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) to construct the input. The resulting embedding vectors returned after a successful API call will be stored in the `EmbeddingVector` attribute in the same `Chunk` object. \ +The microflow action `Generate Embeddings (Chunk Collection)` supports the more complex scenario where a collection of string inputs is vectorized in a single API call, such as when converting a collection of texts (chunks) into embeddings to be inserted into a knowledge base. Instead of calling the API for each string, executing a single call for a list of strings can significantly reduce HTTP overhead. Use the exposed microflows of GenAI Commons [Chunks: Initialize ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection-create) to create the wrapper and [Chunks: Add Chunk to ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection-add-chunk), or [Chunks: Add KnowledgeBaseChunk to ChunkCollection](/agents/genai-for-mx/commons/#chunkcollection-add-knowledgebasechunk) to construct the input. The resulting embedding vectors returned after a successful API call will be stored in the `EmbeddingVector` attribute in the same `Chunk` object. \ Purely to generate embeddings, it does not matter whether the ChunkCollection contains Chunks or its specialization KnowledgeBaseChunks. However, if the end goal is to store the generated embedding vectors in a knowledge base (e.g. using the [PgVector Knowledge Base](/appstore/modules/pgvector-knowledge-base/) module), then Mendix recommends adding `KnowledgeBaseChunks` to the `ChunkCollection` and using these as an input for the embeddings operations, so they can afterward directly be used to populate the knowledge base with. -Note that currently, the OpenAI connector does not support knowledge base interaction (e.g. inserting or retrieving chunks). For more information on possible ways to work with knowledge bases when using the OpenAI Connector for embedding generation, read more about [PgVector Knowledge Base](/appstore/modules/pgvector-knowledge-base/) and [setting up a Vector Database](/appstore/modules/genai/pgvector-setup/). +Note that currently, the OpenAI connector does not support knowledge base interaction (e.g. inserting or retrieving chunks). For more information on possible ways to work with knowledge bases when using the OpenAI Connector for embedding generation, read more about [PgVector Knowledge Base](/appstore/modules/pgvector-knowledge-base/) and [setting up a Vector Database](/agents/reference-guide/external-connectors/pgvector-setup/). ### Exposed Microflow Actions for (Azure) OpenAI {#exposed-microflows} -OpenAI-specific exposed microflow actions to construct requests via drag-and-drop are listed below. These microflows can be found in the **Toolbox** in Studio Pro. Note that using these flows is only required if you need to add options to the request that are specific to OpenAI. For the generic part can use the GenAI Commons toolbox actions to [create the required Request](/appstore/modules/genai/genai-for-mx/commons/#genai-request-building) and [handle the Response](/appstore/modules/genai/genai-for-mx/commons/#genai-response-handling), which can be found under the **GenAI (Request Building)** and **GenAI (Response Handling)** categories in the Toolbox. +OpenAI-specific exposed microflow actions to construct requests via drag-and-drop are listed below. These microflows can be found in the **Toolbox** in Studio Pro. Note that using these flows is only required if you need to add options to the request that are specific to OpenAI. For the generic part can use the GenAI Commons toolbox actions to [create the required Request](/agents/genai-for-mx/commons/#genai-request-building) and [handle the Response](/agents/genai-for-mx/commons/#genai-response-handling), which can be found under the **GenAI (Request Building)** and **GenAI (Response Handling)** categories in the Toolbox. #### Set Response Format {#set-responseformat-chat} @@ -261,7 +262,7 @@ This microflow adds a new `FileDocument` or URL to an existing `FileCollection`. #### Image Generation: Set ImageOptions Extension {#set-imageoptions-extension} -This microflow adds a new `OpenAIImageOptions_Extension` to an [ImageOptions](/appstore/modules/genai/genai-for-mx/commons/#imageoptions-entity) object to specify additional configurations for the image generation operation. The object will be used inside of the image generation operation if the same `ImageOptions` are passed. The parameters are optional. +This microflow adds a new `OpenAIImageOptions_Extension` to an [ImageOptions](/agents/genai-for-mx/commons/#imageoptions-entity) object to specify additional configurations for the image generation operation. The object will be used inside of the image generation operation if the same `ImageOptions` are passed. The parameters are optional. ## Technical Reference {#technical-reference} @@ -276,7 +277,7 @@ The **Documentation** pane displays the documentation for the currently selected ### Tool Choice -All [tool choice types](/appstore/modules/genai/genai-for-mx/commons/#enum-toolchoice) of GenAI Commons for the [Tools: Set Tool Choice](/appstore/modules/genai/genai-for-mx/commons/#set-toolchoice) action are supported. For API mapping reference, see the table below: +All [tool choice types](/agents/genai-for-mx/commons/#enum-toolchoice) of GenAI Commons for the [Tools: Set Tool Choice](/agents/genai-for-mx/commons/#set-toolchoice) action are supported. For API mapping reference, see the table below: | GenAI Commons (Mendix) | OpenAI | | -----------------------| ------- | @@ -287,14 +288,14 @@ All [tool choice types](/appstore/modules/genai/genai-for-mx/commons/#enum-toolc ### Knowledge Base Retrieval -When adding a [KnowledgeBaseRetrieval](/appstore/modules/genai/genai-for-mx/commons/#add-knowledge-base-to-request) object to your request, there are some optional parameters. Currently, only the MaxNumberOfResults parameter can be added to the search call and the others (`MinimumSimilarity` and `MetadataCollection`) are not compatible with the OpenAI Connector. +When adding a [KnowledgeBaseRetrieval](/agents/genai-for-mx/commons/#add-knowledge-base-to-request) object to your request, there are some optional parameters. Currently, only the MaxNumberOfResults parameter can be added to the search call and the others (`MinimumSimilarity` and `MetadataCollection`) are not compatible with the OpenAI Connector. ## GenAI showcase Application {#showcase-application} For more inspiration or guidance on how to use those microflows in your logic, Mendix recommends downloading the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475), which demonstrates a variety of example use cases. {{% alert color="info" %}} -Some examples demonstrate knowledge base interaction and require a connection to a vector database. For more information on these concepts, see [Retrieval Augmented Generation (RAG)](/appstore/modules/genai/rag/) +Some examples demonstrate knowledge base interaction and require a connection to a vector database. For more information on these concepts, see [Retrieval Augmented Generation (RAG)](/agents/rag/) {{% /alert %}} ## Troubleshooting {#troubleshooting} diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/pg-vector-knowledge-base/_index.md b/content/en/docs/genai/reference-guide/external-platforms/pg-vector-knowledge-base/_index.md similarity index 84% rename from content/en/docs/marketplace/genai/reference-guide/external-platforms/pg-vector-knowledge-base/_index.md rename to content/en/docs/genai/reference-guide/external-platforms/pg-vector-knowledge-base/_index.md index 0c9c810cf4f..a41bef919df 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/pg-vector-knowledge-base/_index.md +++ b/content/en/docs/genai/reference-guide/external-platforms/pg-vector-knowledge-base/_index.md @@ -1,12 +1,13 @@ --- title: "PgVector Knowledge Base" -url: /appstore/modules/genai/reference-guide/external-connectors/pgvector/ +url: /agents/reference-guide/external-connectors/pgvector/ linktitle: "PgVector Knowledge Base" description: "Describes the configuration and usage of the PgVector Knowledge Base module from the Mendix Marketplace. This module allows developers to integrate PostgreSQL databases with pgvector installed as knowledge bases into their Mendix app." weight: 70 aliases: - - /appstore/modules/pgvector-knowledge-base/ - - /appstore/modules/genai/pgvector/ + - /appstore/modules/pgvector-knowledge-base/ + - /appstore/modules/genai/pgvector/ + - /appstore/modules/genai/reference-guide/external-connectors/pgvector/ --- ## Introduction {#introduction} @@ -37,7 +38,7 @@ With the current version, Mendix supports inserting data chunks with their vecto ### Prerequisites {#prerequisites} -You should have access to your own (remote) PostgreSQL database server with the [pgvector](https://github.com/pgvector/pgvector) extension installed. For more information, see the [Setting up a Vector Database](/appstore/modules/genai/pgvector-setup/) section. +You should have access to your own (remote) PostgreSQL database server with the [pgvector](https://github.com/pgvector/pgvector) extension installed. For more information, see the [Setting up a Vector Database](/agents/reference-guide/external-connectors/pgvector-setup/) section. {{% alert color="info" %}}This module cannot be used with the Mendix Cloud app database. It only works if you are using your own database server or Amazon RDS.{{% /alert %}} @@ -51,7 +52,7 @@ You should have access to your own (remote) PostgreSQL database server with the ## Installation {#installation} -Follow the instructions in [How to Use Marketplace Content](/appstore/use-content/) to import the PgVector Knowledge Base module into your app. +Follow the instructions in [Using Marketplace Content](/appstore/use-content/) to import the PgVector Knowledge Base module into your app. ## Configuration {#configuration} @@ -63,7 +64,7 @@ You must perform the following steps to integrate a Mendix app integrate a PgVec 1. Add the module role **PgVectorKnowledgeBase.Administrator** to your Administrator user role in the security settings of your app. Optionally, map **GenAICommons.User** to any user roles that need read access directly on retrieved entities. 2. Add the **DatabaseConfiguration_Overview** page (**USE_ME > Configuration**) to your navigation, or add the **Snippet_DatabaseConfigurations** to a page that is already part of your navigation. -3. Set up your database configurations at runtime. For more information, see the [Configuring the Database Connection Details](/appstore/modules/genai/reference-guide/external-connectors/pgvector-setup/#configure-database-connection) section in *Setting up a Vector Database*. Selecting an embeddings model is optional and only required if you plan to use PgVector for the [Tools: Add Knowledge Base](/appstore/modules/genai/genai-for-mx/commons/#add-knowledge-base-to-request) action. +3. Set up your database configurations at runtime. For more information, see the [Configuring the Database Connection Details](/agents/reference-guide/external-connectors/pgvector-setup/#configure-database-connection) section in *Setting up a Vector Database*. Selecting an embeddings model is optional and only required if you plan to use PgVector for the [Tools: Add Knowledge Base](/agents/genai-for-mx/commons/#add-knowledge-base-to-request) action. {{% alert color="info" %}} It is possible to have multiple knowledge bases in the same database in parallel by providing different knowledge base names in combination with the same `DatabaseConfiguration`. @@ -71,24 +72,24 @@ It is possible to have multiple knowledge bases in the same database in parallel ### General Operations {#general-operations-configuration} -After following the general setup above, you are all set to use the microflows and Java actions in the **USE_ME > Operations** folder in your logic. Currently, eleven operations (microflows and Java actions) are exposed as microflow actions under the **PgVector Knowledge Base** category in the **Toolbox** in Mendix Studio Pro. These can be split into three categories, corresponding to the main functionalities: managing data chunks in the knowledge base (for example, [(Re)populate](#repopulate-knowledge-base)), finding relevant data chunks in an existing knowledge base (for example, [Retrieve](#retrieve)), and deleting chunk data or a whole knowledge base (for exapmle, [Delete Knowledge Base](#delete-knowledge-base)). In many occasions, metadata in a [MetadataCollection](/appstore/modules/genai/genai-for-mx/commons/#metadatacollection-entity) can be provided to enable additional filtering. +After following the general setup above, you are all set to use the microflows and Java actions in the **USE_ME > Operations** folder in your logic. Currently, eleven operations (microflows and Java actions) are exposed as microflow actions under the **PgVector Knowledge Base** category in the **Toolbox** in Mendix Studio Pro. These can be split into three categories, corresponding to the main functionalities: managing data chunks in the knowledge base (for example, [(Re)populate](#repopulate-knowledge-base)), finding relevant data chunks in an existing knowledge base (for example, [Retrieve](#retrieve)), and deleting chunk data or a whole knowledge base (for exapmle, [Delete Knowledge Base](#delete-knowledge-base)). In many occasions, metadata in a [MetadataCollection](/agents/genai-for-mx/commons/#metadatacollection-entity) can be provided to enable additional filtering. Additionally, there is one activity to prepare the connection input, which is a required input parameter for all operations and exposed separately in the **Toolbox** in Studio Pro. The following section describes this operation: #### `DeployedKnowledgeBase: Create` {#create-pgvectordeployedknowledgebase} -All operations that include knowledge base interaction need the connection details to the knowledge base. Adhering to the GenAI Commons standard, this information is conveyed in a specialization of the GenAI Commons [DeployedKnowledgeBase](/appstore/modules/genai/genai-for-mx/commons/#deployed-knowledge-base) entity and the [ConsumedKnowledgeBase](/appstore/modules/genai/genai-for-mx/commons/#consumed-knowledge-base) (see the [Technical Reference](#technical-reference) section). After instantiating the `PgVectorKnowledgeBase` based on custom logic and/or front-end logic, this object can be used for the actual knowledge base operations. For operations where collection identifiers are needed in combination with a `ConsumedKnowledgeBase` object, the `Name` of the KnowledgeBase (see the `PgVectorKnowledgeBase` entity) needs to be passed as string. +All operations that include knowledge base interaction need the connection details to the knowledge base. Adhering to the GenAI Commons standard, this information is conveyed in a specialization of the GenAI Commons [DeployedKnowledgeBase](/agents/genai-for-mx/commons/#deployed-knowledge-base) entity and the [ConsumedKnowledgeBase](/agents/genai-for-mx/commons/#consumed-knowledge-base) (see the [Technical Reference](#technical-reference) section). After instantiating the `PgVectorKnowledgeBase` based on custom logic and/or front-end logic, this object can be used for the actual knowledge base operations. For operations where collection identifiers are needed in combination with a `ConsumedKnowledgeBase` object, the `Name` of the KnowledgeBase (see the `PgVectorKnowledgeBase` entity) needs to be passed as string. ### (Re)populate Operations {#repopulate-operations-configuration} -In order to add data to the knowledge base, you need to have discrete pieces of information and create knowledge base chunks for those. You can use the [operations for Chunks and KnowledgeBaseChunks in the GenAI Commons module](/appstore/modules/genai/commons/). After you create the knowledge base chunks and [generate embedding vectors for them](/appstore/modules/genai/commons/), the resulting `ChunkCollection` can be inserted into the knowledge base using an operation for insertion, for example the `(Re)populate Knowledge Base` operation. +In order to add data to the knowledge base, you need to have discrete pieces of information and create knowledge base chunks for those. You can use the [operations for Chunks and KnowledgeBaseChunks in the GenAI Commons module](/agents/genai-for-mx/commons/#genai-knowledgebase-content). After you create the knowledge base chunks and [generate embedding vectors for them](/agents/genai-for-mx/commons/#add-knowledge-base-to-request), the resulting `ChunkCollection` can be inserted into the knowledge base using an operation for insertion, for example the `(Re)populate Knowledge Base` operation. A typical pattern for populating a knowledge base is as follows: -1. Create a new `ChunkCollection`. See the [Initialize ChunkCollection](/appstore/modules/genai/commons/) section. +1. Create a new `ChunkCollection`. See the [Initialize ChunkCollection](/agents/genai-for-mx/commons/) section. 2. For each knowledge item that needs to be inserted, do the following: - * Use [Initialize MetadataCollection with Metadata](/appstore/modules/genai/commons/) and [Add Metadata to MetadataCollection](/appstore/modules/genai/commons/) to create a collection of the necessary metadata for the knowledge base item. - * With both collections as input parameters, use [Add KnowledgeBaseChunk to ChunkCollection](/appstore/modules/genai/commons/) for the knowledge item. + * Use [Initialize MetadataCollection with Metadata](/agents/genai-for-mx/commons/) and [Add Metadata to MetadataCollection](/agents/genai-for-mx/commons/) to create a collection of the necessary metadata for the knowledge base item. + * With both collections as input parameters, use [Add KnowledgeBaseChunk to ChunkCollection](/agents/genai-for-mx/commons/) for the knowledge item. 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. @@ -102,7 +103,7 @@ This operation handles the following: * Creating the empty knowledge base if it does not exist * Inserting all provided knowledge base chunks with their metadata into the knowledge base -The population handles a whole collection of chunks at once, and this `ChunkCollection` should be created using the [Initialize ChunkCollection](/appstore/modules/genai/commons/) and [Add KnowledgeBaseChunk to ChunkCollection](/appstore/modules/genai/commons/) operations. +The population handles a whole collection of chunks at once, and this `ChunkCollection` should be created using the [Initialize ChunkCollection](/agents/genai-for-mx/commons/) and [Add KnowledgeBaseChunk to ChunkCollection](/agents/genai-for-mx/commons/) operations. #### `Insert` {#insert} @@ -118,16 +119,16 @@ Currently, four operations are available for on-demand retrieval of data chunks A typical pattern for retrieval from a knowledge base uses GenAI Commons operations and can be illustrated as follows: -1. Use [Initialize MetadataCollection with Metadata](/appstore/modules/genai/commons/) to set up a `MetadataCollection` for filtering with its first key-value pair added immediately. -2. Use [Add Metadata to MetadataCollection](/appstore/modules/genai/commons/) (iteratively) to create a collection of the necessary metadata. +1. Use [Initialize MetadataCollection with Metadata](/agents/genai-for-mx/commons/) to set up a `MetadataCollection` for filtering with its first key-value pair added immediately. +2. Use [Add Metadata to MetadataCollection](/agents/genai-for-mx/commons/) (iteratively) to create a collection of the necessary metadata. 3. Do the retrieval. For example, you could use [Retrieve Nearest Neighbors](#retrieve-nearest-neighbors) to find chunks based on vector similarity. For scenarios in which the created chunks were based on Mendix objects at the time of population and these objects need to be used in logic after the retrieval step, two additional operations are available. The Java actions [Retrieve & Associate](#retrieve-associate) and [Retrieve Nearest Neighbors & Associate](#retrieve-nearest-neighbors-associate) take care of the chunk retrieval and set the association towards the original object, if applicable. A typical pattern for this retrieval is as follows: -1. Use [Initialize MetadataCollection with Metadata](/appstore/modules/genai/commons/) to set up a `MetadataCollection` for filtering with its first key-value pair added immediately. -2. Use [Add Metadata to MetadataCollection](/appstore/modules/genai/commons/) (iteratively) to create a collection of the necessary metadata. +1. Use [Initialize MetadataCollection with Metadata](/agents/genai-for-mx/commons/) to set up a `MetadataCollection` for filtering with its first key-value pair added immediately. +2. Use [Add Metadata to MetadataCollection](/agents/genai-for-mx/commons/) (iteratively) to create a collection of the necessary metadata. 3. Do the retrieval. For example, you could use [Retrieve Nearest Neighbors & Associate](#retrieve-nearest-neighbors-associate) to find chunks based on vector similarity. 4. For each retrieved chunk, retrieve the original Mendix object and do custom logic. @@ -179,7 +180,7 @@ The **Documentation** pane displays the documentation for the currently selected For more inspiration and guidance on how to use these operations in your logic and how to combine it with use cases in the context of generative AI, Mendix highly recommends downloading the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) from the Marketplace. This application contains various examples in the context of generative AI, some of which use the PgVector Knowledge Base module for storing embedding vectors. {{% alert color="info" %}} -For more information on how to set up a vector database for retrieval augmented generation (RAG), see the [Setting up a Vector Database](/appstore/modules/genai/pgvector-setup/) section and the [RAG Example Implementation in the GenAI Showcase App](/appstore/modules/genai/rag/) section. +For more information on how to set up a vector database for retrieval augmented generation (RAG), see the [Setting up a Vector Database](/agents/reference-guide/external-connectors/pgvector-setup/) section and the [RAG Example Implementation in the GenAI Showcase App](/agents/rag/) section. {{% /alert %}} ## Troubleshooting diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/pg-vector-knowledge-base/vector-database-setup.md b/content/en/docs/genai/reference-guide/external-platforms/pg-vector-knowledge-base/vector-database-setup.md similarity index 98% rename from content/en/docs/marketplace/genai/reference-guide/external-platforms/pg-vector-knowledge-base/vector-database-setup.md rename to content/en/docs/genai/reference-guide/external-platforms/pg-vector-knowledge-base/vector-database-setup.md index 1390858af56..9227eea3748 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/pg-vector-knowledge-base/vector-database-setup.md +++ b/content/en/docs/genai/reference-guide/external-platforms/pg-vector-knowledge-base/vector-database-setup.md @@ -1,11 +1,12 @@ --- title: "Setting up a Vector Database" -url: /appstore/modules/genai/reference-guide/external-connectors/pgvector-setup/ +url: /agents/reference-guide/external-connectors/pgvector-setup/ linktitle: "Vector Database Setup" weight: 5 description: "Describes how to set up a vector database to store and manage vector embeddings for a knowledge base" aliases: - - /appstore/modules/genai/pgvector-setup/ + - /appstore/modules/genai/pgvector-setup/ + - /appstore/modules/genai/reference-guide/external-connectors/pgvector-setup/ --- ## Introduction @@ -136,7 +137,7 @@ Complete the following steps: ## Configuring the Database Connection Details in Your Application {#configure-database-connection} -1. Add the PgVector Knowledge Base module and its dependencies to your Mendix app and set it up. For detailed instructions, see [PgVector Knowledge Base](/appstore/modules/genai/pgvector/). +1. Add the PgVector Knowledge Base module and its dependencies to your Mendix app and set it up. For detailed instructions, see [PgVector Knowledge Base](/agents/reference-guide/external-connectors/pgvector/). 2. Include the page **DatabaseConfiguration_Overview** in the navigation or use the snippet **Snippet_DatabaseConfigurations** on an existing page. diff --git a/content/en/docs/marketplace/genai/reference-guide/external-platforms/snowflake-cortex.md b/content/en/docs/genai/reference-guide/external-platforms/snowflake-cortex.md similarity index 95% rename from content/en/docs/marketplace/genai/reference-guide/external-platforms/snowflake-cortex.md rename to content/en/docs/genai/reference-guide/external-platforms/snowflake-cortex.md index 0243124d66b..dd3453d4667 100644 --- a/content/en/docs/marketplace/genai/reference-guide/external-platforms/snowflake-cortex.md +++ b/content/en/docs/genai/reference-guide/external-platforms/snowflake-cortex.md @@ -1,9 +1,10 @@ --- title: "Snowflake Cortex" -url: /appstore/modules/genai/snowflake-cortex/ +url: /agents/snowflake-cortex/ weight: 50 description: "Describes the Snowflake Cortex service." - +aliases: + - /appstore/modules/genai/snowflake-cortex/ --- ## Introduction @@ -45,7 +46,7 @@ The [Snowflake showcase app](https://marketplace.mendix.com/link/component/22584 1. Import the sample app into your Mendix Studio Pro. - For more information, see [How to Use Marketplace Content](/appstore/use-content/). + For more information, see [Using Marketplace Content](/appstore/use-content/). 2. In Studio Pro, in the [App Explorer](/refguide/app-explorer/), go to **Showcase_AI_RESTSQLAPI** > **Pages**. diff --git a/content/en/docs/marketplace/genai/reference-guide/genai-commons.md b/content/en/docs/genai/reference-guide/genai-commons.md similarity index 97% rename from content/en/docs/marketplace/genai/reference-guide/genai-commons.md rename to content/en/docs/genai/reference-guide/genai-commons.md index ba175f148c6..d68cba09a4f 100644 --- a/content/en/docs/marketplace/genai/reference-guide/genai-commons.md +++ b/content/en/docs/genai/reference-guide/genai-commons.md @@ -1,17 +1,18 @@ --- title: "GenAI Commons" -url: /appstore/modules/genai/genai-for-mx/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." weight: 10 aliases: - /appstore/modules/genai-commons/ - /appstore/modules/genai/commons/ + - /appstore/modules/genai/genai-for-mx/commons/ --- ## 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](/appstore/modules/genai/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. @@ -31,11 +32,11 @@ You must also download the [Community Commons](/appstore/modules/community-commo 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 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 [How to Use 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 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. ## Implementation {#implementation} -GenAI Commons is the foundation of large language model implementations within the [Mendix Cloud GenAI Connector](/appstore/modules/genai/mx-cloud-genai/MxGenAI-connector/), [OpenAI connector](/appstore/modules/genai/reference-guide/external-connectors/openai/), and the [Amazon Bedrock connector](/appstore/modules/genai/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/), but may also be used to build other GenAI service implementations on top of it 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. @@ -45,7 +46,7 @@ GenAI Commons can help store usage data, allowing admins to understand token usa 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. -Lastly, the [Conversational UI module](/appstore/modules/genai/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. +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. ### Traceability {#traceability} @@ -93,7 +94,7 @@ Furthermore, it contains the name of the microflow to be executed to do a retrie 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](/appstore/modules/genai/genai-for-mx/migration-guide/#march-2026). +`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). | Attribute | Description | | --- | --- | @@ -223,7 +224,7 @@ A knowledge base span is created for each knowledge base retrieval tool call req #### `MCPSpan` {#mcp-span} -An MCP span is created for each tool invocation over the Model Context Protocol via the [MCP Client module](/appstore/modules/genai/mcp-modules/mcp-client/). The tool call is processed on the MCP server, usually outside of this application, and the result is sent back to the model. In addition to the [ToolSpan's](#tool-span) attributes, it also contains the following: +An MCP span is created for each tool invocation over the Model Context Protocol via the [MCP Client module](/agents/mcp-modules/mcp-client/). The tool call is processed on the MCP server, usually outside of this application, and the result is sent back to the model. In addition to the [ToolSpan's](#tool-span) attributes, it also contains the following: | Attribute | Description | | --- | --- | @@ -454,7 +455,7 @@ It is recommended that you adapt to the same interface when developing custom ch ##### 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](/appstore/modules/genai/genai-for-mx/conversational-ui/#human-in-the-loop) module, this is automatically handled. +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. ###### Input Parameters @@ -471,7 +472,7 @@ The `Chat Completions (with history)` operation supports more complex use cases ##### 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](/appstore/modules/genai/genai-for-mx/conversational-ui/#human-in-the-loop). +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). ###### Input Parameters @@ -623,7 +624,7 @@ To include files within a message, you must provide them in the form of a file c ##### Tools: Add Function to Request {#add-function-to-request} -Adds a new Function to a [ToolCollection](#toolcollection) that is part of a Request. Use this action to expose microflows as tools to the LLM via [function calling](/appstore/modules/genai/function-calling/). If supported by the LLM connector, the chat completion operation calls the right functions based on the LLM response and continues the process until the assistant's final response is returned. +Adds a new Function to a [ToolCollection](#toolcollection) that is part of a Request. Use this action to expose microflows as tools to the LLM via [function calling](/agents/function-calling/). If supported by the LLM connector, the chat completion operation calls the right functions based on the LLM response and continues the process until the assistant's final response is returned. ###### Input Parameters diff --git a/content/en/docs/marketplace/genai/reference-guide/mcp-modules/_index.md b/content/en/docs/genai/reference-guide/mcp-modules/_index.md similarity index 63% rename from content/en/docs/marketplace/genai/reference-guide/mcp-modules/_index.md rename to content/en/docs/genai/reference-guide/mcp-modules/_index.md index 392fa52c975..59195a5a665 100644 --- a/content/en/docs/marketplace/genai/reference-guide/mcp-modules/_index.md +++ b/content/en/docs/genai/reference-guide/mcp-modules/_index.md @@ -1,14 +1,16 @@ --- title: "Model Context Protocol Modules" -url: /appstore/modules/genai/reference-guide/mcp-modules/ +url: /agents/reference-guide/mcp-modules/ linktitle: "MCP Modules" weight: 20 description: "Provides information on modules that enable the implementation of the Model Context Protocol (MCP) in Mendix." no_list: false +aliases: + - /appstore/modules/genai/reference-guide/mcp-modules/ --- ## Introduction -The Mendix platform enables developers to build powerful agentic systems by using the Model Context Protocol (MCP) to expose and consume logic from external systems. The modules help to facilitate a client-server connection to consume tools and prompts ([MCP Client module](/appstore/modules/genai/mcp-modules/mcp-client/)) or to expose Mendix logic, such as microflows, to external AI systems ([MCP Server module](/appstore/modules/genai/mcp-modules/mcp-server/)). +The Mendix platform enables developers to build powerful agentic systems by using the Model Context Protocol (MCP) to expose and consume logic from external systems. The modules help to facilitate a client-server connection to consume tools and prompts ([MCP Client module](/agents/mcp-modules/mcp-client/)) or to expose Mendix logic, such as microflows, to external AI systems ([MCP Server module](/agents/mcp-modules/mcp-server/)). ## Modules diff --git a/content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-client.md b/content/en/docs/genai/reference-guide/mcp-modules/mcp-client.md similarity index 85% rename from content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-client.md rename to content/en/docs/genai/reference-guide/mcp-modules/mcp-client.md index 1be899235f5..f5b75be64b7 100644 --- a/content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-client.md +++ b/content/en/docs/genai/reference-guide/mcp-modules/mcp-client.md @@ -1,20 +1,22 @@ --- title: "MCP Client" -url: /appstore/modules/genai/mcp-modules/mcp-client/ +url: /agents/mcp-modules/mcp-client/ linktitle: "MCP Client" description: "This document describes the purpose, configuration, and usage of the MCP Client module from the Mendix Marketplace that allows developers to consume tools and prompts from external MCP servers." weight: 20 +aliases: + - /appstore/modules/genai/mcp-modules/mcp-client/ --- ## Introduction -The [MCP Client](https://marketplace.mendix.com/link/component/244893) module provides easy low-code capability to set up an MCP ([Model Context Protocol](/appstore/modules/genai/mcp/)) client connection within a Mendix app. An MCP client can consume resources (such as tools or prompts) from other external AI applications that support MCP. The Mendix MCP Client module builds a bridge between Mendix and MCP server applications such as other Mendix apps, through the [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk). With the current implementation, it is possible to: +The [MCP Client](https://marketplace.mendix.com/link/component/244893) module provides easy low-code capability to set up an MCP ([Model Context Protocol](/agents/mcp/)) client connection within a Mendix app. An MCP client can consume resources (such as tools or prompts) from other external AI applications that support MCP. The Mendix MCP Client module builds a bridge between Mendix and MCP server applications such as other Mendix apps, through the [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk). With the current implementation, it is possible to: * Discover prompts and tools from servers. * Consume reusable prompts, including the ability to use prompt arguments * Call external tools as part of an LLM interaction -If the tool resides within the same Mendix application, you can integrate it with an LLM using standard [function calling](/appstore/modules/genai/function-calling/) instead of the MCP Client. +If the tool resides within the same Mendix application, you can integrate it with an LLM using standard [function calling](/agents/function-calling/) instead of the MCP Client. ### Limitations {#limitations} @@ -28,12 +30,12 @@ Note that the MCP Client module is still in its early version, and newer version If you are starting from the [Blank GenAI app](https://marketplace.mendix.com/link/component/227934) template, the MCP Client module is already included and does not need to be downloaded manually. -If you start from a standard Mendix blank app or have an existing project, you must install the MCP Client module manually. Follow the instructions in [How to Use Marketplace Content](/appstore/use-content/) to install the [MCP Client](https://marketplace.mendix.com/link/component/244893) module from the Marketplace. +If you start from a standard Mendix blank app or have an existing project, you must install the MCP Client module manually. Follow the instructions in [Using Marketplace Content](/appstore/use-content/) to install the [MCP Client](https://marketplace.mendix.com/link/component/244893) module from the Marketplace. ## Dependencies {#dependencies} * Mendix Studio Pro version 10.24.0 or above -* [GenAI Commons module](/appstore/modules/genai/commons/) +* [GenAI Commons module](/agents/genai-for-mx/commons/) ## Configuration @@ -67,7 +69,7 @@ For both actions, you can pass an `ArgumentCollection` if the prompt or tool req To add all tools from an MCP server to a `GenAICommons.Request`, you can use the `Request: Add all tools from MCP server` toolbox action. This action will first list all tools from the provided MCP server configuration, iterate over them, and adding them one by one to the tool collection. The request can then be passed to a Chat Completions operation. -You can also find an example [action microflow](/appstore/modules/genai/genai-for-mx/conversational-ui/#action-microflow) `ChatCompletions_MCPClient_ActionMicroflow` in the **Example Implementations** folder of the module. This microflow demonstrates how a Conversational UI chat action including MCP tools can be facilitated. Duplicate and include this microflow into your custom module and modify it according to your requirements. +You can also find an example [action microflow](/agents/genai-for-mx/conversational-ui/#action-microflow) `ChatCompletions_MCPClient_ActionMicroflow` in the **Example Implementations** folder of the module. This microflow demonstrates how a Conversational UI chat action including MCP tools can be facilitated. Duplicate and include this microflow into your custom module and modify it according to your requirements. Currently, there is no out of the box solution available for using prompts from MCP. You can get inspired by the MCP Client example in the [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475), where the prompts are displayed to the user to start a conversation in a chat interface. @@ -90,7 +92,7 @@ There are several possible reasons why the client cannot connect to your server. ## Read More -* Concept description of [Model Context Protocol (MCP)](/appstore/modules/genai/mcp/) +* Concept description of [Model Context Protocol (MCP)](/agents/mcp/) * The [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) provides an example on how to expose microflows as tools via the MCP Server module. * The official [MCP docs](https://modelcontextprotocol.io/introduction) * The [MCP Java SDK GitHub Repository](https://github.com/modelcontextprotocol/java-sdk) diff --git a/content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-server.md b/content/en/docs/genai/reference-guide/mcp-modules/mcp-server.md similarity index 89% rename from content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-server.md rename to content/en/docs/genai/reference-guide/mcp-modules/mcp-server.md index bd3056b07fd..78546123e67 100644 --- a/content/en/docs/marketplace/genai/reference-guide/mcp-modules/mcp-server.md +++ b/content/en/docs/genai/reference-guide/mcp-modules/mcp-server.md @@ -1,21 +1,22 @@ --- title: "MCP Server" -url: /appstore/modules/genai/mcp-modules/mcp-server/ +url: /agents/mcp-modules/mcp-server/ linktitle: "MCP Server" description: "This document describes the purpose, configuration, and usage of the MCP Server module from the Mendix Marketplace that allows developers to expose Mendix logic to external MCP clients and AI systems." weight: 20, aliases: - /appstore/modules/genai/genai-for-mx/mcp-server/ + - /appstore/modules/genai/mcp-modules/mcp-server/ --- ## Introduction -The [MCP Server](https://marketplace.mendix.com/link/component/240380) module provides easy low-code capability to set up an MCP ([Model Context Protocol](/appstore/modules/genai/mcp/)) server within a Mendix app. An MCP server can seamlessly expose resources (such as tools or prompts) to other external AI applications that support MCP. The Mendix MCP Server module builds a bridge between Mendix and MCP client applications, such as Claude Desktop, through the [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk). With the current implementation, it is possible to: +The [MCP Server](https://marketplace.mendix.com/link/component/240380) module provides easy low-code capability to set up an MCP ([Model Context Protocol](/agents/mcp/)) server within a Mendix app. An MCP server can seamlessly expose resources (such as tools or prompts) to other external AI applications that support MCP. The Mendix MCP Server module builds a bridge between Mendix and MCP client applications, such as Claude Desktop, through the [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk). With the current implementation, it is possible to: * Expose reusable prompts, including the ability to use prompt parameters * List and execute microflow implemented in the application as tools -To use function calling within the same Mendix application and integrating to an LLM, consider [function calling](/appstore/modules/genai/function-calling/). +To use function calling within the same Mendix application and integrating to an LLM, consider [function calling](/agents/function-calling/). ### Limitations {#limitations} @@ -32,7 +33,7 @@ Note that the MCP Server module is still in its early version, and the latest ve If you are starting from the [Blank GenAI app](https://marketplace.mendix.com/link/component/227934) template, the MCP Server module is already included and does not need to be downloaded manually. -If you start from a standard Mendix blank app, or have an existing project, you must install the MCP Server module manually. Follow the instructions in [How to Use Marketplace Content](/appstore/use-content/) to install the [MCP Server](https://marketplace.mendix.com/link/component/240380) module from the Marketplace. +If you start from a standard Mendix blank app, or have an existing project, you must install the MCP Server module manually. Follow the instructions in [Using Marketplace Content](/appstore/use-content/) to install the [MCP Server](https://marketplace.mendix.com/link/component/240380) module from the Marketplace. ## Configuration @@ -66,7 +67,7 @@ The `User` returned in the microflow is used for all subsequent prompt and tool When creating an MCP server, you need to specify a `ProtocolVersion`. On the official MCP documentation, you can review the differences between the protocol versions in the [changelog](https://modelcontextprotocol.io/specification/2025-03-26/changelog). The latest version of the MCP Server module currently only supports `v2025-03-26` and the Streamable HTTP transport. MCP Clients that need to connect to a Mendix MCP server should support the same version. Note that Mendix follows the offered capabilities of the MCP Java SDK. {{% alert color="info" %}} -Since version 4.0.0 of the module, the protocol version `v2024-11-05` was replaced by `v2025-03-26`, which changed the transport from HTTP + SSE to Streamable HTTP because HTTP + SSE is officially deprecated. Most clients already support the new transport, such as the Mendix [MCP Client](/appstore/modules/genai/mcp-modules/mcp-client/) module. +Since version 4.0.0 of the module, the protocol version `v2024-11-05` was replaced by `v2025-03-26`, which changed the transport from HTTP + SSE to Streamable HTTP because HTTP + SSE is officially deprecated. Most clients already support the new transport, such as the Mendix [MCP Client](/agents/mcp-modules/mcp-client/) module. {{% /alert %}} ### Add Tools @@ -88,7 +89,7 @@ Mendix strongly recommends keeping the user in the loop (such as by using confir ### Add Prompts -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. +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](/agents/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/genai/mcpserver/mcp_addprompt_example.png" alt="" >}} @@ -129,7 +130,7 @@ If you encounter an error caused by conflicting Java libraries, such as `java.la ## Read More -* Concept description of [Model Context Protocol (MCP)](/appstore/modules/genai/mcp/) +* Concept description of [Model Context Protocol (MCP)](/agents/mcp/) * The [GenAI Showcase App](https://marketplace.mendix.com/link/component/220475) provides an example of how to expose microflows as tools via the MCP Server module. * The official [MCP docs](https://modelcontextprotocol.io/introduction) * The [MCP Java SDK GitHub Repository](https://github.com/modelcontextprotocol/java-sdk) diff --git a/content/en/docs/marketplace/genai/reference-guide/migration-guide.md b/content/en/docs/genai/reference-guide/migration-guide.md similarity index 99% rename from content/en/docs/marketplace/genai/reference-guide/migration-guide.md rename to content/en/docs/genai/reference-guide/migration-guide.md index ef10be39411..e688a41b031 100644 --- a/content/en/docs/marketplace/genai/reference-guide/migration-guide.md +++ b/content/en/docs/genai/reference-guide/migration-guide.md @@ -1,9 +1,11 @@ --- title: "Release and Migration Guide for GenAI Modules" -url: /appstore/modules/genai/genai-for-mx/migration-guide/ +url: /agents/genai-for-mx/migration-guide/ linktitle: "Release and Migration Guide" description: "Describes the combined releases of various GenAI-related modules and their inter-module dependencies. It also includes migration steps and notices about deprecations and removals." weight: 1 +aliases: + - /appstore/modules/genai/genai-for-mx/migration-guide/ --- ## Introduction 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 b607822f6f9..8668cea974a 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 @@ -21,7 +21,7 @@ Amazon Bedrock is a fully managed service that makes foundation models (FMs) fro * Generating images based on text prompts and displaying them in the Mendix app. * Generating embedding vectors for text inputs. -Typical use cases for generative AI are described in the [Typical LLM Use Cases](/appstore/modules/genai/get-started/#llm-use-cases). +Typical use cases for generative AI are described in the [Typical LLM Use Cases](/agents/get-started/#llm-use-cases). ### Prerequisites {#prerequisites} @@ -107,7 +107,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](/appstore/modules/genai/genai-for-mx/commons/#microflows) module. +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 @@ -146,7 +146,7 @@ You can follow a similar approach to implement any of the other operations in ** ### Chatting with Large Language Models using the ChatCompletions Operation -A common use case of the Amazon Bedrock Connector is the development of chatbots and chat solutions. The **ChatCompletions (without history / with history)** operations offer an easy way to connect to most of the text-generation models available on Amazon Bedrock. The ChatCompletions operations are built on top of Bedrock's Converse API, allowing you to talk to different models without the need of a model-specific implementation. For more information on the ChatCompletion operations, see [GenAI Commons: Chat Completions](/appstore/modules/genai/genai-for-mx/commons/#genai-generate). +A common use case of the Amazon Bedrock Connector is the development of chatbots and chat solutions. The **ChatCompletions (without history / with history)** operations offer an easy way to connect to most of the text-generation models available on Amazon Bedrock. The ChatCompletions operations are built on top of Bedrock's Converse API, allowing you to talk to different models without the need of a model-specific implementation. For more information on the ChatCompletion operations, see [GenAI Commons: Chat Completions](/agents/genai-for-mx/commons/#genai-generate). For an overview of supported models and model-specific capabilities and limitations, see [Amazon Bedrock Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html#conversation-inference-supported-models-features) in the AWS documentation. @@ -173,7 +173,7 @@ You can find several implementation examples for the ChatCompletions operations ### Advanced: Invoking Specific Models by Using the InvokeModel Operation -If you need Bedrock specific capabilities that you cannot execute through the normal [GenAI Commons](/appstore/modules/genai/) operations, you can use the operations inside the **Amazon Bedrock** sections. In most cases, the standard procedures outlined in *GenAI Commons Operations* should be sufficient to address your needs. You can use most text models with the **ChatCompletions** operation. For an overview of the supported models and capabilities, see [Supported models and model features](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html#conversation-inference-supported-models-features) in the AWS Bedrock documentation. +If you need Bedrock specific capabilities that you cannot execute through the normal [GenAI Commons](/agents/) operations, you can use the operations inside the **Amazon Bedrock** sections. In most cases, the standard procedures outlined in *GenAI Commons Operations* should be sufficient to address your needs. You can use most text models with the **ChatCompletions** operation. For an overview of the supported models and capabilities, see [Supported models and model features](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html#conversation-inference-supported-models-features) in the AWS Bedrock documentation. To invoke a specific model that is not covered by the ChatCompletions operation, you can make use of the **Invoke Model** operation by performing the following steps: @@ -226,14 +226,14 @@ To invoke a Bedrock agent for your Mendix app, do the following steps: ### Token Usage {#tokenusage} -[Token usage](/appstore/modules/genai/genai-for-mx/commons/#token-usage) monitoring is now possible for the following operations: +[Token usage](/agents/genai-for-mx/commons/#token-usage) monitoring is now possible for the following operations: * Chat Completions with History * Chat Completion without History * Embeddings with Cohere Embed * Embeddings with Amazon Titan Embeddings -For more information about using this feature, refer to the [GenAI commons documentation](/appstore/modules/genai/genai-for-mx/commons/#token-usage). +For more information about using this feature, refer to the [GenAI commons documentation](/agents/genai-for-mx/commons/#token-usage). ## Technical Reference {#technical-reference} @@ -252,30 +252,30 @@ For additional information about available operations, refer to the sections bel #### ChatCompletions (With History) and ChatCompletions (Without History) {#chat-completions} -The [ChatCompletions (with history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-with-history) and [ChatCompletions (without history)](/appstore/modules/genai/genai-for-mx/commons/#chat-completions-without-history) activities can be used with a variety of supported LLMs. +The [ChatCompletions (with history)](/agents/genai-for-mx/commons/#chat-completions-with-history) and [ChatCompletions (without history)](/agents/genai-for-mx/commons/#chat-completions-without-history) activities can be used with a variety of supported LLMs. Some capabilities of the chat completions operations are currently only available for specific models: -* **Function Calling** - You can use function calling in all chat completions operations. To do this, use a [supported model](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-supported-models-features.html) by adding a `ToolCollection` with a `Tool` via the [Tools: Add Function to Request](/appstore/modules/genai/genai-for-mx/commons/#add-function-to-request) operation. You can also first retrieve data from a knowledge base and then call `ChatCompletions` with the information required using the connector's function calling properties. In order to use a function calling pattern with knowledge bases, add a knowledge base to your Request using [Tools: Add Knowledge Base](/appstore/modules/genai/genai-for-mx/commons/#add-knowledge-base-to-request). Here the collection identifier that needs to be passed is the `KnowledgeBaseID`. -For additional general information about function calling, see [Function Calling](/appstore/modules/genai/function-calling/). +* **Function Calling** - You can use function calling in all chat completions operations. To do this, use a [supported model](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-supported-models-features.html) by adding a `ToolCollection` with a `Tool` via the [Tools: Add Function to Request](/agents/genai-for-mx/commons/#add-function-to-request) operation. You can also first retrieve data from a knowledge base and then call `ChatCompletions` with the information required using the connector's function calling properties. In order to use a function calling pattern with knowledge bases, add a knowledge base to your Request using [Tools: Add Knowledge Base](/agents/genai-for-mx/commons/#add-knowledge-base-to-request). Here the collection identifier that needs to be passed is the `KnowledgeBaseID`. +For additional general information about function calling, see [Function Calling](/agents/function-calling/). **Function calling microflows**: A microflow used as a tool for function calling must satisfy the following conditions: 1. At least one of the following: * Either none, one, or multiple primitive input parameters (such as Boolean, Datetime, Decimal, Enumeration, Integer and String) - * [Request](/appstore/modules/genai/genai-for-mx/commons/#request) object - * [Tool](/appstore/modules/genai/genai-for-mx/commons/#tool) object + * [Request](/agents/genai-for-mx/commons/#request) object + * [Tool](/agents/genai-for-mx/commons/#tool) object 2. Return value of the type String. -* **Vision** - This operation supports the *vision* capability for [supported models](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-supported-models-features.html). With vision, you can send image prompts, in addition to the traditional text prompts. You can use vision by adding a `FileCollection` with a `File` to the `Message` using the [Files: Initialize Collection with File](/appstore/modules/genai/genai-for-mx/commons/#initialize-filecollection) or the [Files: Add to Collection](/appstore/modules/genai/genai-for-mx/commons/#add-file-to-collection) operation. Make sure to set the `FileType` attribute to **image**. +* **Vision** - This operation supports the *vision* capability for [supported models](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-supported-models-features.html). With vision, you can send image prompts, in addition to the traditional text prompts. You can use vision by adding a `FileCollection` with a `File` to the `Message` using the [Files: Initialize Collection with File](/agents/genai-for-mx/commons/#initialize-filecollection) or the [Files: Add to Collection](/agents/genai-for-mx/commons/#add-file-to-collection) operation. Make sure to set the `FileType` attribute to **image**. -* **Document Chat** - This operation supports the ability to chat with documents for [supported models](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-supported-models-features.html). To send a document to the model add a `FileCollection` with a `System.FileDocument` to the `Message` using the [Files: Initialize Collection with File](/appstore/modules/genai/genai-for-mx/commons/#initialize-filecollection) or the [Files: Add to Collection](/appstore/modules/genai/genai-for-mx/commons/#add-file-to-collection) operation. For Document Chat, it is not supported to create a `FileContent` from an URL using the above mentioned operations; Please use the `System.FileDocument` option. Make sure to set the `FileType` attribute to **document**. +* **Document Chat** - This operation supports the ability to chat with documents for [supported models](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-supported-models-features.html). To send a document to the model add a `FileCollection` with a `System.FileDocument` to the `Message` using the [Files: Initialize Collection with File](/agents/genai-for-mx/commons/#initialize-filecollection) or the [Files: Add to Collection](/agents/genai-for-mx/commons/#add-file-to-collection) operation. For Document Chat, it is not supported to create a `FileContent` from an URL using the above mentioned operations; Please use the `System.FileDocument` option. Make sure to set the `FileType` attribute to **document**. ##### Tool Choice -All [tool choice types](/appstore/modules/genai/genai-for-mx/commons/#enum-toolchoice) of GenAI Commons for the [Tools: Set Tool Choice](/appstore/modules/genai/genai-for-mx/commons/#set-toolchoice) action are supported. For API mapping reference, see the table below: +All [tool choice types](/agents/genai-for-mx/commons/#enum-toolchoice) of GenAI Commons for the [Tools: Set Tool Choice](/agents/genai-for-mx/commons/#set-toolchoice) action are supported. For API mapping reference, see the table below: | GenAI Commons (Mendix) | Amazon Bedrock | | --- | --- | @@ -312,7 +312,7 @@ Prompt templates address this constraint by allowing you to include orchestratio For a deeper understanding of prompt templates and their implementation, refer to the [Amazon documentation on prompt templates](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html#kb-test-config-sysprompt), which provides comprehensive guidance on their usage and best practices. -For more information about how to structure your prompts, see [Prompt engineering](/appstore/modules/genai/prompt-engineering/). +For more information about how to structure your prompts, see [Prompt engineering](/agents/prompt-engineering/). #### Chatting with History {#retrieve-and-generate-with-history} @@ -326,17 +326,17 @@ The history can be enabled using the `SessionId` parameter on the RetrieveAndGen This activity was introduced in Amazon Bedrock Connector version 3.1.0. {{% /alert %}} -The [Generate Image](/appstore/modules/genai/genai-for-mx/commons/#generate-image) operation can be used to generate one or more images. Currently *Amazon Titan Image Generator G1* is the only supported model for image generation of the Amazon Bedrock Connector. +The [Generate Image](/agents/genai-for-mx/commons/#generate-image) operation can be used to generate one or more images. Currently *Amazon Titan Image Generator G1* is the only supported model for image generation of the Amazon Bedrock Connector. -`GenAICommons.ImageOptions` can be an empty object. If provided, it allows you to set additional options for Image Generation and can be created by using the [Image: Create Options](/appstore/modules/genai/genai-for-mx/commons/#imageoptions-create) operation of GenAI Commons. +`GenAICommons.ImageOptions` can be an empty object. If provided, it allows you to set additional options for Image Generation and can be created by using the [Image: Create Options](/agents/genai-for-mx/commons/#imageoptions-create) operation of GenAI Commons. -To retrieve actual image objects from the response, you can use the [Image: Get Generated Image (Single)](/appstore/modules/genai/genai-for-mx/commons/#image-get-single) or [Image: Get Generated Images (List)](/appstore/modules/genai/genai-for-mx/commons/#image-get-list) helper operations from GenAI Commons. +To retrieve actual image objects from the response, you can use the [Image: Get Generated Image (Single)](/agents/genai-for-mx/commons/#image-get-single) or [Image: Get Generated Images (List)](/agents/genai-for-mx/commons/#image-get-list) helper operations from GenAI Commons. For Titan Image models, the `Image Generation: Add Titan Image Extension` operation can be used to configure Titan image-specific values (currently only *NegativeText*). #### Generate Embeddings (String) {#embeddings-single-string} -The [Generate Embeddings (String)](/appstore/modules/genai/genai-for-mx/commons/#embeddings-string) activity can be used to generate an embedding vector for a given input string with one of the Cohere Embed models or Titan Embeddings v2. +The [Generate Embeddings (String)](/agents/genai-for-mx/commons/#embeddings-string) activity can be used to generate an embedding vector for a given input string with one of the Cohere Embed models or Titan Embeddings v2. For Cohere Embed and Titan Embeddings, the request can be associated to their respective EmbeddingsOptions extension object which can be created with the [Embeddings Options: Add Cohere Embed Extension](#add-cohere-embed-extension) or [Embeddings Options: Add Titan Embeddings Extension](#add-titan-embeddings-extension) operation. Through this extension, it is possible to tailor the operation to more specific needs. @@ -344,7 +344,7 @@ Currently, embeddings are available for the Cohere Embed family and or Titan Emb #### Generate Embeddings (Chunk Collection) {#embeddings-chunk-collection} -The [Generate Embeddings (Chunk Collection)](/appstore/modules/genai/genai-for-mx/commons/#embeddings-chunk-collection) activity can be used to generate a collection of embedding vectors for a given collection of text chunks with one of the Cohere Embed models or Titan Embeddings v2. +The [Generate Embeddings (Chunk Collection)](/agents/genai-for-mx/commons/#embeddings-chunk-collection) activity can be used to generate a collection of embedding vectors for a given collection of text chunks with one of the Cohere Embed models or Titan Embeddings v2. For each model family, the request can be associated to an extension of the EmbeddingsOptions object which can be created with either the [Embeddings Options: Add Cohere Embed Extension](#add-cohere-embed-extension) or the [Embeddings Options: Add Titan Embeddings Extension](#add-titan-embeddings-extension) operation. Through this extension, it is possible to tailor the operation to more specific needs. diff --git a/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-ai-data-connector.md b/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-ai-data-connector.md index bf44d23df86..6ff10d75988 100644 --- a/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-ai-data-connector.md +++ b/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-ai-data-connector.md @@ -302,7 +302,7 @@ This statement returns data from a Snowflake table with the columns named as spe ## Configuring Snowflake Cortex Analyst {#cortex-analyst} -[Snowflake Cortex Analyst](/appstore/modules/genai/snowflake-cortex/) is a fully-managed, LLM-powered Snowflake Cortex feature that helps you create applications capable of reliably answering business questions based on your structured data in Snowflake. +[Snowflake Cortex Analyst](/agents/snowflake-cortex/) is a fully-managed, LLM-powered Snowflake Cortex feature that helps you create applications capable of reliably answering business questions based on your structured data in Snowflake. {{% alert color="info" %}} Snowflake Cortex Analyst is now generally available. For more information, refer to the [Snowflake Cortex Analyst documentation](https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-analyst). @@ -379,4 +379,4 @@ To configure your Mendix app for Snowflake Cortex Search, perform the following ### Example Implementation - The [Snowflake showcase app](https://marketplace.mendix.com/link/component/225845) contains example implementations of the Analyst, ANOMALY DETECTION, COMPLETE and TRANSLATE functionalities. For more information, see [Snowflake Cortex Analyst](/appstore/modules/genai/snowflake-cortex/#functionalities). + The [Snowflake showcase app](https://marketplace.mendix.com/link/component/225845) contains example implementations of the Analyst, ANOMALY DETECTION, COMPLETE and TRANSLATE functionalities. For more information, see [Snowflake Cortex Analyst](/agents/snowflake-cortex/#functionalities). diff --git a/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-mcp-byo.md b/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-mcp-byo.md index 22dc5765724..708fa406363 100644 --- a/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-mcp-byo.md +++ b/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-mcp-byo.md @@ -27,7 +27,7 @@ Using a Snowflake BYOK has the following advantages: For applications running locally in Studio Pro, you can retrieve your own IP address from [whatismyipaddress.com](https://whatismyipaddress.com/). For applications running in Mendix Cloud, see [Mendix IP Addresses: Mendix Cloud](/developerportal/deploy/mendix-ip-addresses/#mendix-cloud). -* [OpenAI Connector](/appstore/modules/genai/reference-guide/external-connectors/openai/) in your Mendix application +* [OpenAI Connector](/agents/reference-guide/external-connectors/openai/) in your Mendix application ## Configuring the Snowflake LLM in the OpenAI Connector diff --git a/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-mcp.md b/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-mcp.md index 875ff2910e9..a88fd34ad44 100644 --- a/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-mcp.md +++ b/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-mcp.md @@ -8,9 +8,9 @@ weight: 80 ## Introduction -The Model Context Protocol (MCP) 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 module to facilitate an MCP server from a Mendix app, as well as an MCP Client module. For more information, see [Model Context Protocol (MCP)](/appstore/modules/genai/mcp/). +The Model Context Protocol (MCP) 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 module to facilitate an MCP server from a Mendix app, as well as an MCP Client module. For more information, see [Model Context Protocol (MCP)](/agents/mcp/). -[Snowflake-managed MCP servers](https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-mcp) enable AI agents to securely integrate with Snowflake accounts without needing to deploy separate infrastructure. This includes performing CRUD (Create, Read, Update, and Delete) operations on data, as well as leveraging functionalities such as stored procedures and Cortex. Mendix users can configure the [MCP Client Module](/appstore/modules/genai/mcp-modules/mcp-client/) to enable the connection from a Mendix AI agent to a Snowflake MCP server. +[Snowflake-managed MCP servers](https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-mcp) enable AI agents to securely integrate with Snowflake accounts without needing to deploy separate infrastructure. This includes performing CRUD (Create, Read, Update, and Delete) operations on data, as well as leveraging functionalities such as stored procedures and Cortex. Mendix users can configure the [MCP Client Module](/agents/mcp-modules/mcp-client/) to enable the connection from a Mendix AI agent to a Snowflake MCP server. ### Typical Use Cases @@ -390,7 +390,7 @@ CREATE OR REPLACE MCP SERVER SNOWFLAKE_MCP_DEMO.MCPSERVERS.DEMO_MCP_SERVER After setting up the MCP server, you can now create a Mendix AI agent and connect it to the MCP server by performing the following steps: -1. Optional: If your [MCP Client](/appstore/modules/genai/mcp-modules/mcp-client/) version is older than 3.1.0, update it to version 3.1.0 or newer. +1. Optional: If your [MCP Client](/agents/mcp-modules/mcp-client/) version is older than 3.1.0, update it to version 3.1.0 or newer. 2. In Studio Pro, create a new app using the [Agent Builder Starter App](https://marketplace.mendix.com/link/component/240369). 3. Create a constant for the Snowflake user PAT that you created in the previous section, and set its value in the Runtime configuration. 4. Go to **App/Marketplace Modules/MCPClient/Example Implementations/MCP Client/** and copy the **GetCredentials_EXAMPLE** microflow to your own app module. diff --git a/content/en/docs/refguide/modeling/application-logic/workflows/workflow-elements/ai-agent-task.md b/content/en/docs/refguide/modeling/application-logic/workflows/workflow-elements/ai-agent-task.md index 2958fe09a3e..b0206148e08 100644 --- a/content/en/docs/refguide/modeling/application-logic/workflows/workflow-elements/ai-agent-task.md +++ b/content/en/docs/refguide/modeling/application-logic/workflows/workflow-elements/ai-agent-task.md @@ -24,7 +24,7 @@ An AI agent is an autonomous software system powered by large language models (L With **AI agent task**, you can select a [microflow](#microflow) that calls any agent that has been configured in your application. You are not limited to one approach. Agents can be created and configured in different ways, as long as they can be called via a microflow. -If you do not yet have any agents configured, you can get started by following the guide on [creating your first agent](/appstore/modules/genai/how-to/howto-single-agent/). +If you do not yet have any agents configured, you can get started by following the guide on [creating your first agent](/agents/how-to/creating-agents/). ## Properties @@ -69,5 +69,5 @@ Boundary events can be attached to this element and are triggered by certain eve ## Read More * [Workflow Properties](/refguide/workflow-properties/) -* [GenAI Capabilities in Mendix](/appstore/modules/genai/) -* [Create Your First Agent](/appstore/modules/genai/how-to/howto-single-agent/) +* [GenAI Capabilities in Mendix](/agents/) +* [Create Your First Agent](/agents/how-to/creating-agents/) diff --git a/content/en/docs/releasenotes/mendix-cloud-genai-resource-packs/_index.md b/content/en/docs/releasenotes/mendix-cloud-genai-resource-packs/_index.md index b7bc55ff270..9ca608c6149 100644 --- a/content/en/docs/releasenotes/mendix-cloud-genai-resource-packs/_index.md +++ b/content/en/docs/releasenotes/mendix-cloud-genai-resource-packs/_index.md @@ -8,7 +8,7 @@ numberless_headings: true #This document is mapped to the landing page, update the link there if renaming or moving the doc file. --- -These release notes cover changes made to the [Mendix Cloud GenAI Resource Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/). +These release notes cover changes made to the [Mendix Cloud GenAI Resource Packs](/agents/mx-cloud-genai/resource-packs/). ## 2026 @@ -96,7 +96,7 @@ These release notes cover changes made to the [Mendix Cloud GenAI Resource Packs #### New Features -* [Mendix GenAI Resource Packs](/appstore/modules/genai/mx-cloud-genai/resource-packs/) are now generally available. They enable seamless integration of GenAI into your Mendix ecosystem by leveraging GenAI Models and Knowledge Bases. With these packs, you can accelerate advanced use cases such as Retrieval-Augmented Generation (RAG) and Agentic AI. +* [Mendix GenAI Resource Packs](/agents/mx-cloud-genai/resource-packs/) are now generally available. They enable seamless integration of GenAI into your Mendix ecosystem by leveraging GenAI Models and Knowledge Bases. With these packs, you can accelerate advanced use cases such as Retrieval-Augmented Generation (RAG) and Agentic AI. You can access them through the [Mendix Cloud GenAI Portal](https://genai.home.mendix.com/). #### Improvements