The SmartSimple Cloud '''+AI''' integration gives you the ability to utilize large language models (LLM) from within our business process automation platform. LLMs may be utilized to improve productivity, processes, and outcomes. This article will walk-through how-to setup currently available AI features and the configuration essentials of interfacing with the integration, outline AI through the two modes (automation and interactive), and delineate some sample scenariosVariable Processor.
=Overview=
There are a number of AI features that can be implemented within SmartSimple including:
=Overview=* '''[[+AI Directive]]:''' A multi-faceted feature that be used in conjunction with natural language, scripts and the variable processor to perform many time saving tasks such as analyzing text and automatically populating custom fields, summarizing and translating text, populating custom fields with internet-extracted data, converting text into other formats, comparing application requests with program objectives and providing a score, and much more.* '''[[+AI Insights]]:''' Create your own custom AI model for data analysis and reporting across multiple records within a UTA. Trained '''+AI Insight''' models can quickly provide answers that involve aggregation, summarization, and prediction without the need to spend time constructing list view filters and reports. Alternatively create a custom model at the organization level, available in your system header. '''+AI Insight''' models at the Organization level contain uploaded training data.There are two modes * '''[[+AI Assistant]]:''' Execute actions at the record level such as updating statuses, modifying field values, or creating new fields, activities, and associations. Instead of operation when using SmartSimple Cloud finding a field and changing a value, use the hands-free voice interface to update the desired field.* '''+AI Workflow''': Streamline your workflow process by creating workflow tasks from natural language instructions with AI assistance, eliminating the need for manual task creation and connection.* '''[[+AI Vision]]:'''Upload an image and have the AI answer specific questions regarding the image contents without having to open and examine the image yourself.* '''[[Work with +AI]]:''' Interact with the AI at the record level in a conversational manner. Users have the option to use pre-made templates and prompt libraries to expedite common processes.* '''[[+AI Transcription]]:''' Generate text transcriptions of audio and visual media.
* '''Interactive Mode:''' This mode of operation occurs To learn more, read our article on a single object such as a grant application or review. In this scenario, the user can interact with the [[Enabling +AI in a call-and-response kind of model. The user might ask the Within Your System|enabling +AI to help them rewrite content, translate content into another language, or make content more concise. The user can ask questions (prompts) and follow up with more related questions. The user can also be presented with optional predefined templates to streamline common tasks or actions.* '''Automation Mode:''' This mode of operation can occur in various areas of the platform. In this scenario, the system is configured to automatically interact with within your chosen 3rd party LLM vendor to do something without manual intervention. For example, the system can be configured to automatically generate an executive summary of an application or a summary of the reviewers’ comments. Applications could be prescreened and recommended or the AI could suggest reviewers with subject matter expertise related to the application]].
=Configuration - Essentials=
==Setting up +AI Integration==
If you are interested in adding '''To get started setting up +AI''' functionality to your SmartSimple Cloud instance, reach out to your account manager or contact our Platform Solutions team. They can set up an integration key so that your SmartSimple instance is able to communicate with a third-party LLM vendor, such as OpenAI’s ChatGPT. They will be able to enable '''+AI''' by going sure to '''Global Settings''' > '''Integrations''' tab > Toggle on '''Enable AI'''. [[File:2023-07-ticket-146788-1.png|thumb|none|800px]] ==Interactive Mode==The AI interactive mode is made available through the '''Work with Enabling +AI''' feature which can be enabled on nearly every record in the system, including organization profiles, user profiles, and UTA records. In this example, we can configure interactive mode on a UTA to streamline a hypothetical application process. ===Configuring Interactive Mode===As an example, we can configure the AI Within Your System|read our page on a particular UTA by the following steps: # Go to '''UTA '''>''' Configuration Settings''' > '''Level 1/2/3''' tab > '''AI'''. On this page, custom instructions and templates can be set up.# On the '''Permissions & Availability''' tab, users can set access to the feature by role, record type, or record status.# Click''' Save'''.# Navigate to the desired UTA record and select '''Tools''' > '''Work with enabling +AI''' in within the top action bar. This will open a modal window into which you can enter your prompts and adjust the '''Temperature''' settingsystem]].
==Using +AI with the Variable Processor==
Once '''+AI''' integration has been set up, the automation mode can be used in various areas of the system. The existing SmartSimple variable processor has been modified in order to allow you to interface with the third-party AI vendor. To familiarize yourself with the syntax and possible statements, you can test the syntax using the '''Variable Syntax Helper''' by opening a object record and going to '''Tools''' > '''Configuration Mode''' > '''Variable Syntax Helper'''.
[[File:2023-07-ticket-146788-1-.png|thumb|none|800px|Users with permission may access the interactive AI mode from record pages via the tools menu.]]
[[File:2023-07-ticket-146788-2.png|thumb|none|800px|In the interactive mode users can enter prompts using natural language, refine the responses by asking follow-up related questions in a conversational format. Users may also select from predefined prompts.]]
===Setting up Templates===Templates can be created to streamline common processes. As an example, let's set up a template that will automatically translate the objectives of a record into another language. Instead of asking the AI to translate the contents this field each time, we can save our query by referencing the field as a variable. ====Creating a Template====# Go to ''Note'UTA''' > ''' Configuration Settings''' > '''Level 1/2/3''' tab > '''AI''' > Click the '''New Template''' button.# Under the''' General''' tab, give the template a '''Name''' and a '''Caption'''.# Enter the template contents in the '''Template''' field. When referencing specific record fields, be sure to use the '''Field Name''' rather than the '''Caption'''. : In our example, we can ask the AI to translate the content of a specific field into French by referencing the field name in quotations. <br> [[File:2023-07-ticket-146788 – 3.png|thumb|none|800px]]# Set who has access to use this template under the '''Permissions & Availability''' tab. When deciding which prompts to use in a template, it can be helpful to test the prompts by going to any UTA record and clicking '''Tools''' > '''Configuration Mode''' > '''Variable Syntax Helper'''. Here, you can test your expressions and see if your variables resolve correctly. ===Best Practices for Prompts===Some best practices for [https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-openai-api prompt engineering] have been listed by OpenAI: * Put the instructions at the start of the prompt and use double quotation marks @ai( " " ) to separate the instructions from the context* Be specific and descriptive about the desired outcome, including details about context, length, formatfunction call, style, etc* Provide an example or desired format in the prompt if necessary ==Automation Mode=====Configuring Automation Mode===Once '''+AI''' integration has been set up, the automation mode can there must be used in various areas of the system. The existing SmartSimple variable processor has been modified in order to allow you to interface with the AI server. To familiarize yourself with the syntax and possible statements, you can test the syntax using the '''Variable Syntax Helper''' by opening a object record no spaces between parameters and going to '''Tools''' > '''Configuration Mode''' > '''Variable Syntax Helper'''commas.
===OpenAI===
====Syntax====
The syntax used for prompts in web page views and workflows is:
[[File:AI -Syntax -Format-New.png|none|800px]]
These parameters are explained as follows:
* '''AI service:model''' : (Optional) The name of the AI service model being used. If left empty, OpenAI will be used as default.* '''AI function:''' Set by the intended use of the input textservice. If the text service is meant to be static, set OpenAI and the value to "text". If the text model is meant to left unspecified, ChatGPT-4 will be edited used by the AI, set the value to "edit"default.* '''temperature:''' Set : Sets the desired level of randomness of the generated text, where a value of "0" is the most conservative while a value of "9" is the most random.* '''instruction:''' Optional parameter when using the edit AI function. <u>'''Note:'''</u> If The natural language prompt for the AI function parameter has been set to "edit", you must pass instructions to the instruction parameter on how the text should be edited in natural language. For example, "fix the grammarspelling: how are yu tday?", or "make this in Translate the style of a poem", or "translate this following into Japanese: hello, world!".
{| class="wikitable"
|-
||Ask AI to write an email for a specific user
||[[File:AI-Syntax-Prompt-Example-1-New.png|none|800px]]|-||Ask AI to write an email for a specific user using model gpt-4-0163||[[File:AI-Syntax-Prompt-Example-New.png|none|800px]]
|-
||Ask AI to fix the spelling of a message
||[[File:AI-Syntax-Prompt-Example-2-New.png|none|800px]]
|-
||Ask the AI to write a grant application summary
||[[File:AI-Syntax-Prompt-Example-3-New.png|none|800px]]
|}
=Configuration - Advanced==Azure AI=SubSection====SubSection===Settings Explained===General Tab==The following settings are available on Azure AI can be used with the variable processor, custom field creation, and '''[[+AI Directive]]'''General. Some ''' tab:+AI''' features such as '''[[+AI Assistant]]''' and '''[[+AI Insights]]''' are not supported with Azure AI.
{| class="wikitable"===Syntax====|-!|Setting!|Description|-||'''Instruction Caption'''||The title given to When using Azure AI, the instruction box that appears above syntax used within the AI chat window.|-||'''Instruction Content'''||Any instructions to be displayed. Clicking the "Sample Instructions" link will populate this field with default instruction text.|}variable processor is:
==Template Settings==This following settings are available when creating a template[[File:AI-Syntax-Prompt-Example-6-New.png|none|800px]]
{| class="wikitable"|-!|Setting!|Description|-||'''Display Order'''||The order in which the template appears in the '''Template''' dropdown.|-||'''Name'''||The name of the template|-||'''Caption'''||The name of the template These parameters are explained as it appears in the '''Template''' dropdown|-||'''Template'''||The content of the template or what you want to ask the AI to do. For example, "Summarize the project goals in 50 words or less".|}follows:
[[Category* '''Deployment ID''':Interface]](Optional) The deployment ID of the Azure model being used. If the deployment ID is left unspecified, the model configured within the '''Integration Key Management''' settings will be used by default.* '''temperature''': Sets the desired level of randomness of the generated text, where a value of "0" is the most conservative while a value of "9" is the most random.* '''instruction''': The natural language prompt for the AI. For example, "fix the spelling: how are yu tday?" or "Translate the following into Japanese: hello, world!".