The Kore.ai XO Platform helps enhance your bot development process and enrich end-user conversational experiences by integrating pre-trained OpenAI or Azure OpenAI language models in the backend. With the advancement of LLM and Generative AI technologies, this integration with OpenAI adds new capabilities to your Virtual Assistant through auto-generated suggestions. This capability can automate dialog flows creation, user utterance testing and validation, and conversation design based on context-specific and human-like interactions.
You can find LLM and Generative AI features by going to Build > Natural Language > Advanced NLU Settings.
The Integration of LLM and Generative AI enables the following features:
- Automatic Dialog Generation: This feature helps build production-ready dialog tasks automatically by briefly describing the task. A preview of the generated dialog is available and lets you modify the intent description and create multiple iterations of the dialog.
- Training Data Suggestions: The platform suggests high-quality training utterances, including NER annotations for each intent. You can review and add suggestions to create an efficient training set.
- NLP Batch Test Cases Suggestion: The Platform generates NLP test cases for every intent, including entity checks. You only need to create test suites in the Builder using the generated testing utterances.
- Conversation Test Cases Suggestion: The Platform suggests simulated user inputs covering various scenarios from an end-user perspective at every test step. You can use these suggestions to create test suites.
- Dynamic Prompt and Message Rephrasing: Enhance end-user experience with empathetic and contextual bot responses. This feature uses Generative AI to rephrase bot responses based on user emotions and conversation context.
- AI-Assisted Dialog: Collect Entities from end-users in a free-flowing conversation using LLM and Generative AI in the background. You can define entities to be collected as well as rules & scenarios.
All these features benefit VA developers, NLP developers, and testers as follows:
- Mundane tasks like generating dialog tasks or training utterances are automated to help developers be more productive and focus on other important tasks like enhancing conversation design, creating complex test cases, and more.
- Testers can ensure that their intent descriptions are meaningful in the right context to generate the right content.
- Developers can create dialog tasks on-the-fly through the prebuilt Dialog Tasks Flow.
- The Platform provides suggestions and nudges developers in the right direction for the better design and development of Virtual Assistants. For example, it offers curated use case suggestions while creating the VA, including probable user inputs (simulating end-user behavior) in Conversation Testing. This way, the VA can simulate the end user’s behavior at every conversation step and respond more realistically by considering error scenarios, digressions, and contextual changes.
This feature is only available if the VA’s NLU language is English and requires sharing data with third parties: OpenAI (when using the OpenAI integration) or OpenAI and Microsoft (when using the Azure integration).
Configure LLM and Generative AI
The following steps are necessary to configure LLM and Generative AI:
To enable the LLM & Generative AI features, you must meet the following prerequisites:
- Upgrade to NLP Version – v3 (click Upgrade when prompted within the Advanced NLU Settings section).
- Select English as the NLP Language under Configurations > Languages.
LLM and Generative AI features are available by integrating with OpenAI directly or via Microsoft Azure.
To set up an integration, follow these steps:
- Click OpenAI or Azure under Advanced NLU Settings > LLM & Generative AI > Integration Setup.
- Configure the OpenAI connector or the Azure OpenAI connector.
- Once configured the status of your chosen integration changes from Configure Now to Configured.
We recommend the Azure integration because the Azure OpenAI Service is more reliable and provides REST API access to OpenAI’s language models.
Enable LLM Features
The list of available LLM features is disabled by default within the Advanced NLU section. Once you configure an integration, you can enable this list. Set the toggle under Feature List to the Enabled state to do so.
Next, please read and agree to the Terms and Conditions. Select the checkbox – I agree to the above terms and conditions, then click Enable.
Once the features list is enabled, you can select or deselect desired features.
LLM and Generative AI Features Specifications
Automatic Dialog Task Generation
This feature auto-generates conversations and dialog flows using the VA’s purpose and intent description provided during the creation process. The Platform uses LLM and generative AI to create suitable Dialog Tasks for Conversation Design, Logic Building & Training by including the required nodes in the flow.
You must provide an intent description, and the Platform handles the Conversation Generation for the Dialog Flow.
You can preview the conversation flow, view the Bot Action taken, improvise the intent description, and regenerate the conversation to make it more human-like.
The nodes and the flow for the Business Logic are automatically built for your conversation, and you only need to configure the flow transition.
The Platform auto-defines the Entities, Prompts, Error Prompts, Bot Action nodes, Service Tasks, Request Definition, Connection Rules, and other parameters.
Once you enable this feature:
- The Platform triggers the flow when you launch a task for the first time.
- The Platform presents the intent description and an option to generate conversation.
- You can preview the generated conversation, edit the description, and regenerate it.
- The Platform sends the updated description to Generative AI in the background to get the new conversation.
- Once you’re satisfied with the conversation, generate a dialog task.
If this feature is disabled, you will not have the option to auto-generate a dialog flow when first launching a Dialog Task.
|Note: The Platform uses the configured API Key to authorize and generate the suggestions from OpenAI.|
Training Data Suggestions
This feature generates a list of suggested training utterances and NER annotations for each intent description and Dialog Flow, eliminating the need for manual creation.
The Platform can generate utterances that can be used to train your VA.
Once you request to generate utterances for a given intent, the Platform provides utterance suggestions based on the following information:
- Entities and Entity Types,
- Probable entity values,
- Different scenarios for training utterances based on entities, a combination of entities, structurally different utterances, etc.
You can add/delete the suggested training utterances from the list or generate more suggestions.
If this feature is disabled, you won’t see the Suggestions tab on the training page.
NLP Batch Test Cases Suggestion
This feature lets you generate test cases and add them to the test suite with minimum or no errors.
- When creating a New Test Suite, select Add Manually or Upload Test Cases File to add test cases.
- Add Manually creates an empty test suite where you can generate test cases and do the following:
- Select a Dialog Task.
- Based on the intent context, the Generative AI generates test cases you can review and add to or remove from the Test Suite.
- When you click Generate Test Cases, the Platform sends Generative AI the following information to generate test cases:
- Probable entity value,
- Different scenarios to simulate end-user utterances,
- Random training utterances and test cases that are generated to avoid duplicate test cases from Generative AI.
If this feature is disabled, you will not have the option to generate test cases during batch testing.
Conversation Test Cases Suggestion
This feature provides a regression tool or a Playbook that creates a conversation test suite for each intent (new and old) to evaluate the impact of the change on the conversation execution.
You can view input/utterance suggestions at every conversation step simulating the various input types and scenarios. This feature helps check if the task/intent is robust enough to handle random user utterances.
This feature also helps you predict and simulate the end user’s behavior and check if the VA can execute all the defined flows by generating user responses and presenting any digressions from the specified intent.
- You can create a test suite by recording a live conversation with a VA by initiating the interaction or letting the VA initiate it.
- An icon displays to indicate the user input suggestions from Generative AI.
- The Platform triggers OpenAI to generate suggestions whenever user input is expected.
- The Platform shares the following information with OpenAI to generate suggestions
- Randomly picked intents from the VA (Dialog, FAQ),
- Conversation flow,
- Current Intent, if any,
- Current node type:
- For an entity node, the system sends the following:
- Entity name,
- Entity type,
- Sample entity values.
- Types of user input scenarios:
- Without entities,
- Different entity combinations in the user input,
- Digression to another intent,
- Trigger error scenarios.
- For an entity node, the system sends the following:
- You can regenerate suggestions if required.
- You can accept the suggestions shown or type custom input at every step.
- Create a Test Suite after stopping the recording and validating the model.
If the feature is disabled, the Platform doesn’t display the Generative AI suggestions icon and the suggestions themselves.
Dynamic Prompt and Message Rephrasing
This feature sends all User Prompts, Error Prompts, and Bot Responses to the Generative AI along with the conversation context, which depends on the configured number of user inputs. Responses are rephrased based on this context and user emotion, providing a more empathetic, natural, and contextual conversation experience to the end-user.
When configuring a Message, Entity, or Confirmation node, you can enable the Rephrase Response feature (disabled by default). This lets you set the number of user inputs sent to OpenAI as context for rephrasing the response sent through the node. You can choose between 0 and 5, where 0 means that no previous input is considered, while 5 means that the previous. 5 responses are sent as context.
When this feature is disabled, the Rephrase Response section is not visible within your node’s Component Properties.
When enabled, this feature lets you add an AI-Assisted Dialog Node to Dialog Tasks. This node allows you to collect Entities from end-users in a free-flowing conversation using LLM and Generative AI in the background. You can define the entities to be collected as well as rules & scenarios. You can configure node properties just like any other node. You can also use the AI-Assisted Dialog Node across Dialog Tasks.
When creating or editing a Dialog Task that’s created manually or auto-generated, you can find a node called AI-Assisted Dialog within your nodes list.
When this feature is disabled, the node is unavailable within the Dialog Builder. Learn more.
Note on Auto Training for Machine Learning and Negative Patterns Settings
The Auto Training for Machine Learning and the Negative Patterns settings on the Advanced NLU Settings module help you manage the Machine Learning and Fundamental Meaning Engines, respectively. For more information, see: Auto Training For Machine Learning and Negative Patterns.