Agent Connect

Overview

Dataiku Agent Connect serves as the central hub for managing interactions with instances of Dataiku Answers and Dataiku Agents within a Dataiku instance. This allows users to interact with multiple Dataiku resources in a single interface.

Key Features

  • Simple and Scalable

Getting Access

Agent Connect Plugin is available on demand through the dataiku plugin store. Once installed it gives you access to a fully built Visual Webapp which can be used within your choice of Dataiku Projects.

NewAgentConnectWebapp

Configuration

Introduction

This guide details the setup of the Dataiku Agent Connect,

Requirements

Dataiku version

  • Dataiku 13.4.0 and above. The Last Dataiku version is always the best choice to leverage the latest plugin capabilities fully.

  • Available for both Dataiku Cloud and Self-Managed.

Infrastructure

  • Web Application Beckend Settings:

    • The number of Processes must always be set to 0

    • Container: None - Use backend to execute

Mandatory Settings

MandatoryConfig

Conversation History Dataset

Create a new or select an existing SQL dataset for logging queries, responses, and associated metadata (LLM used, Knowledge Bank, feedback, filters, etc.).

User Profile Dataset

This allows you to configure a list of settings, excluding language, that users can fill out within the web app. You must set up an SQL user profile dataset (mandatory even if no settings are configured).

LLM

Connect each instance of Dataiku Answers to your choice of LLM, powered by Dataiku’s LLM Mesh. Select from the LLMs configured in Dataiku DSS Connections.

Answers and Agents Configuration

AgentsConfig

Select the projects that contain your Dataiku Agents and Answers web applications. Choose the specific agents and answers you want to make available in Agent Connect.

Note

Important:
  • For each Dataiku Python Agent, provide a detailed description of its capabilities so that Agent Connect can determine when to use it.

Other settings

Conversations Store Configuration

Agent Connect allows you to store all conversations for oversight and usage analysis. Flexible options allow you to define storage approach and mechanism.

Index the chat history dataset

Addition of an index to the conversation history dataset to optimize the performance of the plugin. Indexing is only beneficial for specific database types. It is recommended to consult the database documentation for more information and only change if you are certain it will improve performance.

Conversation Deletion

Toggle ‘Permanent Delete’ to permanently delete conversations or keep them marked as deleted, maintaining a recoverable archive.

Feedback Choices

Configure positive and negative feedback options, enabling end-users to interact and rate their experience.

Document Folder

Choose a folder to store user-uploaded documents and LLM generated images.

Allow User Feedback

As you roll out chat applications in your organization, you can include a feedback option to improve understanding of feedback, enablement needs, and enhancements.

General Feedback Dataset

In addition to conversation-specific feedback, configure a dataset to capture general feedback from users. This dataset can provide valuable insights into the overall user experience with the plugin.

LLM Configuration

Maximum Number of LLM Output Tokens

Set the maximum number of output tokens that the LLM can generate for each query. To set this value correctly you should consult the documentation of you LLM provider. Having the value set too low can mean that answers are cut off, while having it set too high can lead to increased costs.

Configure your LLM

Tailor the prompt that will guide the behavior of the underlying LLM. For example the prompt could instruct the LLM to structure the responses in a clear and chronological order, with bullet points for clarity where possible.

Advanced Prompt Setting

Configure your Conversation system prompt

For more advanced configuration of the LLM System prompt, you can provide a custom system prompt or override the prompt in charge of guiding the LLM. You need to enable the advanced settings

Enable Image Generation for Users

This checkbox allows you to activate the image generation feature for users. Once enabled, additional settings will become available.

Note

Important Requirements:
  • An upload folder is necessary for this feature to function, as generated images will be stored there.

Users can adjust the following settings through the UI
  • Image Height

  • Image Width

  • Image Quality

  • Number of Images to Generate

The user settings will be passed to the image generation model. If the selected model does not support certain settings, the image generation will fail. Any error messages generated by the model will be forwarded to the user in English, as we do not translate the model’s responses.

Image Generation LLM

The language model to use for image generation. This is mandatory when the image generation feature is enabled.

Note

Image generation is available with image generation models supported in Dataiku LLM Mesh; this includes:
  1. OpenAI (DALL-E 3)

  2. Azure OpenAI (DALL-E 3)

  3. Google Vertex (Imagen 1 and Imagen 2)

  4. Stability AI (Stable Image Core, Stable Diffusion 3.0, Stable Diffusion 3.0 Turbo)

  5. Bedrock Titan Image Generator

  6. Bedrock Stable Diffusion XL 1

Configure the Query Builder Prompt for Image Generation

Image generation begins by the main chat model creating an image generation query based on the user’s input and history. You can include a prompt for guidelines and instructions on building this query. Only modify this if you fully understand the process.

Weekly Image Generation Limit Per User

Set the number of images that each user can generate per week.

Document Upload

You can upload multiple files of different types, enabling you to ask questions about each using the answers interface.

The two main methods that LLMs can use to understand the documents are:

  1. Viewing as an image (multi-modal).

  2. Reading the extracted text (no images).

Method 1 is only available for multi-modal LLMs such as OpenAI Vision or Gemini Pro. It can be used for image files or PDFs. Method 2 is supported on all LLMs and all file types that contain text. Consideration needs to be taken with both methods to avoid exceeding the context window of the LLM you are using. The following parameters will help you manage this.

Maximum upload file size in MB

Allows you to set the file size limit for each uploaded file. The default value is 15 MB; however, some service providers may have lower limits.

Maximum number of files that can be uploaded at once

This parameter controls the number of documents that the LLM can interact with simultaneously using both methods.

Send PDF pages as images instead of extracting text

This parameter allows the LLM to view each page using Method 1. It is most useful when the pages contain visual information such as charts, images, tables, diagrams, etc. This will increase the quality of the answers that the LLM can provide but may lead to higher latency and cost.

Maximum number of PDF pages to send as images

This parameter sets the threshold number of pages to be sent as images. The default value is 5. For example, if 5 concurrent files are allowed and each has a maximum of 5 pages sent as images, then 25 images are sent to the LLM (5 files x 5 pages each = 25 images). If any document exceeds this threshold, the default behavior is to use text extraction alone for that document. Understandably, this increases the cost of each query but can be necessary when asking questions about visual information.

End User Interface Configuration

Adjust the web app to your business objectives and accelerate user value.

Titles and Headings

Set the title and subheading for clarity and context in the web app.

Displayed Placeholder Text in the ‘Question Input’ Field

Enter a question prompt in the input field to guide users.

Example Questions

Provide example questions to illustrate the type of inquiries the chatbot can handle. You can add as many questions as you want

Enable Custom Rebranding

If checked, the web app will apply your custom styling based on the theme name and different image files you specify in your setup. For more details, check the UI Rebranding capability section.

  • Theme name: The theme name you want to apply. Css, images and fonts will be fetched from the folder portal/YOUR_THEME

  • Logo file name: The file name of your logo that you added to portal/YOUR_THEME/images/image_name.extension_name and you want to choose as the logo in the web app.

  • Icon file name: Same as for the logo file name.

User Profile Settings

|UserProfileConfig|

User profile Languages

  • The language setting will be available by default for all users, initially set to the web app’s chosen language.

  • The language selected by the user will determine the language in which the LLM responses are provided.

  • You can define the settings using a list, where each setting consists of a key (the name of the setting) and a description (a brief explanation of the setting).

User Profile Settings

  • Once the user has configured their settings, these will be included in the LLM prompt to provide more personalized responses.

  • All settings will be in the form of strings for the time being.

Add Profile Information to LLM Context

User profile information can now be included in the query that the LLM receives. This can mean that the LLM can provide more personalized responses based on the user’s settings.

WebApplication Configuration

Language

You can choose the default language for the web application from the available options (English, French, Spanish, German, Japanese and Korean).

HTTP Headers

Define HTTP headers for the application’s HTTP responses to ensure compatibility and security.

UI Rebranding capability

You can rebrand the web app by applying a custom style without changing the code by following these steps:

  • Navigate to ᎒᎒᎒ > Global Shared Code > Static Web Resources, create a folder named portal, and within this folder, create a subfolder corresponding to the theme that the web application settings will reference.. The structure should be as follows:

portal
   └── YOUR_THEME_NAME
       ├── custom.css
       ├── fonts
          └── fonts.css
       └── images
           ├── answer-icon.png
           └── logo.png

CSS Changes

Add a custom.css file inside the answers folder; you can find an example below:

:root {
   /* Colors */
   --brand: #e8c280; /* Primary color for elements other than action buttons */
   --bg-examples-brand: rgba(255, 173, 9, 0.1); /* Examples background color (visible on landing page/new chat) */
   --bg-examples-brand-hover: rgba(255, 173, 9, 0.4); /* Examples background color on hover */
   --bg-examples-borders: #e8a323; /* Examples border color */
   --examples-question-marks: rgb(179, 124, 15); /* Color of question marks in the examples */
   --examples-text: #422a09; /* Color of the text in the examples */
   --text-brand: #57380c; /* Text color for the question card */
   --bg-query: rgba(245, 245, 245, 0.7); /* Background color for the question card */
   --bg-query-avatar: #F28C37; /* Background color for the question card avatar */
}

.logo-container .logo-img {
   height: 70%;
   width: 70%;
}

Fonts Customization

  • First, create the fonts subfolder inside the folder portal.

  • Second, add fonts.css and define your font like below depending on the format you can provide (we support base64 or external URL):

    @font-face {
       font-family: "YourFontName";
       src: url(data:application/octet-stream;base64,your_font_base64);
    }
    
    @font-face {
       font-family: "YourFontName";
       src: url("yourFontPublicUrl") format("yourFontFormat");
    }
    
  • Finally, declare the font in your custom.css file:

    body,
    div {
       font-family: "YourFontName" !important;
    }
    

Images customization

create an images folder where you can import logo.* file to change the logo image inside the landing page, and answer-icon.* to change the icon of the AI answer.

Examples of Current Customizations

CustomizationExample1

CustomizationExample2

Final Steps

After configuring the settings, thoroughly review them to ensure they match your operational requirements. Conduct tests to verify that the chat solution operates as intended, documenting any issues or FAQs that arise during this phase.

Mobile Compatibility

The web application is designed to be responsive and fully compatible with mobile devices. To target mobile users effectively, configure the application as a Dataiku public web application and distribute the link to the intended users.