AI Bot Starter App

Content Type: Starter App
Categories: Starter Apps,AWS,Artificial Intelligence

Overview

Build your own private, enterprise grade ChatGPT-like solution. Connect it to a model like Anthropic Claude via Mendix Cloud Resource Packs, Amazon Bedrock or use an (Azure) OpenAI subscription.

With custom instructions the chatbot can help your users to go beyond an answering a question mode. Imagine that it will be:

- someone to brainstorm with and help you come up with creative ideas, or simply a rubber duck,

- a copywriter that helps you with writing emails, catchy LinkedIn posts or whole blog posts,

- a helpful assistant that understands larger texts by getting translations, summaries or even sentiments,

- a researcher that can analyze documents and answer all questions you may have around it,

- a peer that can effortlessly solve all your coding challenges.

Ground the application in your own data by linking it to your data sources in a Retrieval-Augmented-Generation setup, or query live data with function calling through the ReAct pattern, it is all possible using GenAI.

 

Contact Us

For support and questions, feel free to reach out via email genai-components-feedback@mendix.com or Community Slack.

Documentation

<h3><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.85);">Configuration</span></h3><p><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">All modules that are needed to interact with Mendix Cloud GenAI Resource Packs, an LLM from (Azure) OpenAI or Amazon Bedrock are already installed. The app contains functionalities to configure OpenAI or Amazon Bedrock out of the box. Feel free to add your own models or remove the existing ones.</span></p><p><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Read this </span><u style="color: rgb(6, 74, 228); background-color: transparent;"><a href="https://docs.mendix.com/appstore/modules/genai/how-to/starter-template/" rel="noopener noreferrer" target="_blank">how-to guide</a></u><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);"> for more information about setting up access to a model provider.</span></p><p><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Before users can chat with a model, the admin needs to create Bot Configuration(s) for users to select in the chat interface.</span></p><ol><li><ol style="list-style-type: lower-alpha"><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Display&nbsp;name:&nbsp;what&nbsp;users&nbsp;will&nbsp;see&nbsp;on&nbsp;the&nbsp;page</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Is&nbsp;Selectable&nbsp;in&nbsp;UI:&nbsp;decide&nbsp;if&nbsp;a&nbsp;configuration&nbsp;should&nbsp;be&nbsp;selectable</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Model&nbsp;selection:&nbsp;models&nbsp;of&nbsp;a&nbsp;specific&nbsp;provider&nbsp;that&nbsp;were&nbsp;configured&nbsp;before</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Action&nbsp;microflow:&nbsp;select&nbsp;what&nbsp;action&nbsp;microflow&nbsp;should&nbsp;be&nbsp;executed.&nbsp;The&nbsp;provided&nbsp;one&nbsp;(&quot;ChatContext_ChatWithHistory_ActionMicroflow&quot;)&nbsp;supports&nbsp;all&nbsp;providers.&nbsp;Feel&nbsp;free&nbsp;to&nbsp;customize&nbsp;the&nbsp;microflow&nbsp;to&nbsp;your&nbsp;needs</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">One&nbsp;or&nbsp;multiple&nbsp;Knowledge&nbsp;Base&nbsp;Retrieval&nbsp;tools&nbsp;can&nbsp;be&nbsp;added&nbsp;to&nbsp;a&nbsp;BotConfig&nbsp;from&nbsp;the&nbsp;overview&nbsp;page.&nbsp;This&nbsp;enable&nbsp;the&nbsp;chat&nbsp;to&nbsp;be&nbsp;enriched&nbsp;with&nbsp;specific&nbsp;knowledge</span></li></ol></li></ol><p><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);"> </span></p><p><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Additionally, you can create starting points for prompt engineering, that will be available to your users. Both can be configured at runtime (or in the After Startup):</span></p><ol><li><ol style="list-style-type: lower-alpha"><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Instructions:&nbsp;a&nbsp;prefilled&nbsp;instruction&nbsp;to&nbsp;be&nbsp;selected&nbsp;in&nbsp;the&nbsp;chat&nbsp;interface.&nbsp;Instructions&nbsp;augment&nbsp;the&nbsp;&quot;System&nbsp;Prompt&quot;&nbsp;and&nbsp;influence&nbsp;the&nbsp;model&#39;s&nbsp;behavior.&nbsp;Users&nbsp;can&nbsp;create&nbsp;their&nbsp;own&nbsp;custom&nbsp;instructions&nbsp;as&nbsp;well&nbsp;(only&nbsp;visible&nbsp;to&nbsp;them).</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Initial&nbsp;User&nbsp;Prompts:&nbsp;buttons&nbsp;that&nbsp;can&nbsp;be&nbsp;clicked&nbsp;in&nbsp;new&nbsp;chats&nbsp;by&nbsp;the&nbsp;user&nbsp;to&nbsp;prefill&nbsp;the&nbsp;user&nbsp;prompt&nbsp;and&nbsp;a&nbsp;corresponding&nbsp;instruction.</span></li></ol></li></ol><p><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);"> </span></p><p><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">To give you an idea, a few examples are automatically created for both. Those can be deleted at runtime and / or deactivated in the ASU microflow if not needed:</span></p><ol><li><ol style="list-style-type: lower-alpha"><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Summarize&nbsp;my&nbsp;meeting&nbsp;notes:&nbsp;inserts&nbsp;a&nbsp;sample&nbsp;text&nbsp;of&nbsp;meeting&nbsp;notes&nbsp;and&nbsp;instructs&nbsp;the&nbsp;LLM&nbsp;to&nbsp;find&nbsp;important&nbsp;information&nbsp;(deadlines,&nbsp;action&nbsp;points).&nbsp;The&nbsp;LLM&nbsp;should&nbsp;then&nbsp;summarize&nbsp;the&nbsp;text&nbsp;using&nbsp;headers&nbsp;and&nbsp;bullet&nbsp;points.</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Launch&nbsp;an&nbsp;AI&nbsp;Chatbot&nbsp;internally:&nbsp;instruct&nbsp;the&nbsp;LLM&nbsp;to&nbsp;create&nbsp;an&nbsp;engaging&nbsp;text&nbsp;for&nbsp;the&nbsp;target&nbsp;audience.&nbsp;The&nbsp;text&nbsp;should&nbsp;describe&nbsp;the&nbsp;technology&nbsp;and&nbsp;business&nbsp;impact.</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Launch&nbsp;an&nbsp;AI&nbsp;Chatbot&nbsp;on&nbsp;LinkedIn:&nbsp;the&nbsp;LLM&nbsp;should&nbsp;create&nbsp;an&nbsp;engaging&nbsp;LinkedIn&nbsp;post&nbsp;with&nbsp;hashtags&nbsp;and&nbsp;emojis&nbsp;about&nbsp;a&nbsp;recently&nbsp;launched&nbsp;AI&nbsp;chatbot.</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Help&nbsp;me&nbsp;decide&nbsp;launching&nbsp;an&nbsp;MVP&nbsp;product:&nbsp;the&nbsp;LLM&nbsp;helps&nbsp;you&nbsp;to&nbsp;brainstorm&nbsp;and&nbsp;prepare&nbsp;for&nbsp;discussions&nbsp;about&nbsp;your&nbsp;MVP&nbsp;product.</span></li></ol></li></ol><p><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);"> </span></p><h3><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.85);">Customize&nbsp;AI&nbsp;Bot</span></h3><p><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">This app serves as a starting point and there are many ways to customize your app:</span></p><ol><li><ol style="list-style-type: lower-alpha"><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Add&nbsp;your&nbsp;custom&nbsp;styling&nbsp;(see&nbsp;</span><u style="color: rgb(6, 74, 228); background-color: transparent;"><a href="https://docs.mendix.com/howto/front-end/customize-styling-new/" rel="noopener noreferrer" target="_blank">Customize&nbsp;Styling</a></u><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">&nbsp;for&nbsp;more&nbsp;details)</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Customize&nbsp;the&nbsp;initial&nbsp;user&nbsp;prompts&nbsp;that&nbsp;are&nbsp;suggested&nbsp;in&nbsp;new&nbsp;chats</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Redesign&nbsp;the&nbsp;chat&nbsp;page&nbsp;to&nbsp;your&nbsp;needs</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Add&nbsp;custom&nbsp;pre-&nbsp;or&nbsp;post-processing&nbsp;logic&nbsp;into&nbsp;the&nbsp;action&nbsp;microflow&nbsp;that&nbsp;interacts&nbsp;with&nbsp;the&nbsp;LLM,&nbsp;for&nbsp;example&nbsp;to&nbsp;bring&nbsp;your&nbsp;own&nbsp;knowledge&nbsp;base.</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Add&nbsp;your&nbsp;own&nbsp;LLM&nbsp;provider&nbsp;connector</span></li></ol></li></ol><p><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);"> </span></p><h3><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.85);">Document&nbsp;chat</span></h3><h4><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.85);">Mendix&nbsp;Cloud&nbsp;or&nbsp;Amazon&nbsp;Bedrock</span></h4><p><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">When using Mendix Cloud or Amazon Bedrock as a provider, users can upload up to five documents of various types to let the model analyze and base the response on those.</span></p><p><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);"> </span></p><h4><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.85);">(Azure)&nbsp;OpenAI,&nbsp;Mistral&nbsp;and&nbsp;Google&nbsp;Gemini</span></h4><p><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">When selecting (Azure) OpenAI, Mistral or Google Gemini, only a single PDF can be passed. The text is extracted from the PDF and inserted into the prompt. This does mean that:</span></p><ol><li><ol style="list-style-type: lower-alpha"><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Graphics&nbsp;(this&nbsp;might&nbsp;include&nbsp;scans)&nbsp;and&nbsp;formatting&nbsp;from&nbsp;the&nbsp;PDF&nbsp;will&nbsp;mostly&nbsp;be&nbsp;ignored.</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Long&nbsp;PDFs&nbsp;can&nbsp;reduce&nbsp;the&nbsp;accuracy&nbsp;of&nbsp;responses&nbsp;(due&nbsp;to&nbsp;distraction&nbsp;from&nbsp;the&nbsp;important&nbsp;content)&nbsp;or&nbsp;even&nbsp;cause&nbsp;an&nbsp;error&nbsp;when&nbsp;making&nbsp;a&nbsp;request&nbsp;(due&nbsp;to&nbsp;exceeding&nbsp;the&nbsp;model&#39;s&nbsp;context&nbsp;window).&nbsp;A&nbsp;warning&nbsp;is&nbsp;shown&nbsp;to&nbsp;the&nbsp;user&nbsp;when&nbsp;a&nbsp;long&nbsp;PDF&nbsp;is&nbsp;being&nbsp;used.</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">As&nbsp;the&nbsp;PDF&#39;s&nbsp;content&nbsp;is&nbsp;passed&nbsp;along&nbsp;the&nbsp;request,&nbsp;the&nbsp;token&nbsp;usage&nbsp;is&nbsp;increased&nbsp;(and&nbsp;thus&nbsp;costs)</span></li><li><span style="background-color: rgb(255, 255, 255); color: rgba(10, 19, 36, 0.7);">Not&nbsp;every&nbsp;model&nbsp;performs&nbsp;equally&nbsp;well&nbsp;with&nbsp;PDF&nbsp;content&nbsp;(for&nbsp;example,&nbsp;OpenAI&#39;s&nbsp;GPT-4o&nbsp;performs&nbsp;better&nbsp;than&nbsp;GPT-3.5&nbsp;turbo)</span></li></ol></li></ol><p>&nbsp;</p>

Releases

Version: 4.6.0
Framework Version: 10.24.13
Release Notes:

Marketplace modules were upgraded to their latest versions.

Version: 4.5.0
Framework Version: 10.24.13
Release Notes:

Marketplace modules were upgraded to their latest versions. With these upgrades, knowledge base retrievals can be configured to be visible in the chat interface.

Version: 4.4.0
Framework Version: 10.24.13
Release Notes:

Marketplace modules were upgraded to their latest versions and the Gemini connector was added to the app.

Version: 4.3.0
Framework Version: 10.24.13
Release Notes:

- marketplace modules were upgraded to their latest versions.

- the application was upgraded to Mendix SP 10.24.13.

- a dependency required for XSS Sanitization was removed from the CommunityCommons module.

Version: 4.2.0
Framework Version: 10.24.0
Release Notes:

* We updated all marketplace modules to their latest versions and added the traceability capability to the navigation. Note that traces are not stored per default, but can be enabled via the StoreTraces constant.

* The PDFExtraction module was re-added to enable document upload for models that don't support documents natively, for example OpenAI via Azure or Mistral.

Version: 4.1.0
Framework Version: 10.24.0
Release Notes:

GenAI modules and Encryption have been upgraded to their latest versions.

Version: 4.0.0
Framework Version: 10.24.0
Release Notes: - The application has been extended to enable multiple knowledge base additions to the BotConfig objects.
- The application has been updated with the latest version of all our GenAI marketplace assets
- The app has been upgraded to Mendix Studio Pro version 10.24.0
Version: 3.1.0
Framework Version: 10.21.0
Release Notes: The Starter App was updated to support the React Client.
Version: 3.0.0
Framework Version: 10.21.0
Release Notes: The Starter App was updated to Mendix Studio Pro 10.21.0. Furthermore, the app contains the latest versions of the Connector modules:
*Amazon Bedrock Connector v7.0.0
*GenAI Commons v3.0.0
*ConversationalUi v3.0.0
*Mx GenAI Connector v3.0.0
*OpenAI Connector v5.0.0
Version: 2.1.1
Framework Version: 10.12.4
Release Notes: We fixed a bug that prevented users from uploading files to a chat with an OpenAI model selected.