The AI Assistant leverages Generative AI—specifically Large Language Models (LLMs)—to help EBX® users complete tasks by generating suggestions based on record data. Typical use cases include generating text, summarizing text, translating values and standardizing formats.
EBX® requires connection to an external LLM provider service, as it does not include nor provide any. See below for more information.
An LLM configuration defines the LLM provider service and the model to be used.
An LLM configuration requires an active account with a cloud-based LLM provider service (e.g. OpenAI, Azure OpenAI), or a local/on-premise LLM server (e.g. Ollama). While configuring the LLM, you will need to have any required credential and network access to reach the provider's API.
To create an LLM configuration:
Go to Administration > AI Assistant > AI Assistant administration.
Open the LLMs table and create a record to add a new LLM configuration.
Select your LLM provider and type. After choosing the provider, an information message displays with details on the key to use when creating an External service configuration in the next step.
Select an External service configuration, or create a new one:
Open the menu and select + Create.
After adding the id, provide the following:
URL
Usage: leave AI Assistant checked
Authentication:
Keys: Add the key that was displayed in the earlier step and paste your API key in the Value field.
Save and close the record.
Ensure the external configuration you just created is selected and save and close the record.
The LLM configuration is now available to use when you create an Assistance function.
An assistance function runs in the context of a specific table and defines how the AI Assistant uses an LLM to generate useful suggestions for end users. Specifically, it uses record data, user input, and a predefined prompt to suggest a value for one or more fields in the record.
To create an assistance function:
Open a data model in the Data Model Assistant (DMA).
Ensure that the AI Assistant data model extension is enabled. See Data model extensions for instructions on how to enable it.
Navigate to Extensions > AI Assistant > Assistance functions and create a new record.
Define the input and output fields, the prompt and a proper description. See the next section for more details on each field.
Write the prompt that the LLM will use.
Save the function.
Use the Preview function service to test the function before publishing.
Publish the data model to make the assistance function available to end users.
Always test functions with realistic data to verify that the LLM returns expected results.
Table Path | The table where the assistance function will run. |
Label and description | A localized label and description for the assistance function. |
Enabled | Marks the assistance function as enabled or disabled. |
Input fields | Table fields that provide values to the prompt. For each input field, provide the following information:
|
Virtual input fields | Optional fields that do not exist in the table, but provide additional inputs to the assistance function. For each virtual input field, provide the following information:
|
Output fields | The fields where the generated result is saved. For each output field, provide the following information:
|
Prompt | The instruction for the LLM to guide its generated output. Reference the input fields and the virtual input fields in the prompt using the placeholder pattern ${Alias}, where Alias is an input field alias or a virtual input field alias. |
Function | Implementation |
---|---|
Spell checking assistance function | A function to help users spell check the value of a string field. Prompt: Spell check ${string_field}. Where string_field is the alias of the field to spell check and is configured as the input and output of the function. |
Text summarization assistance function | A function to help users summarize the value of a string field. Prompt: Summarize ${long_string_field}. Where long_string_field is the alias of the field to summarize and is configured as the input of the function. |
Translation assistance function | A function to help users translate the value of a string field. Prompt: Translate ${input_string_field} to French. Where input_string_field is the alias of the field to translate and is configured as the input of the function. |
Postal address standardization assistance function | A function to help users standardize a postal address. Prompt: Standardize the postal address: ${string_field}. Where string_field is the alias of the field to standardize and is configured as the input and output of the function. |
Description generation assistance function | A function to help users generate a description based on the fields of a record. Prompt: Generate a description based on the following information: label: ${label_field}, category: ${category_field}. features: ${features_field}. Where label_field, category_field and features_field are the aliases of the fields configured as inputs of the function. |