Difference between revisions of "Template:AI"

From SmartWiki
Jump to: navigation, search
m
(Using +AI with the Variable Processor)
(38 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Banner-UnderConstruction}}
+
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 currently available AI features and the configuration essentials of interfacing with the AI through the Variable Processor.
 
 
 
 
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 the integration, outline the two modes (automation and interactive), and delineate some sample scenarios.
 
 
 
  
 +
=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.
There are two modes of operation when using SmartSimple Cloud '''+AI''':
+
* '''[[+AI Insights]]:''' Create your own custom AI model for data analysis and reporting across multiple records within a UTA. Trained insight models can quickly provide answers that involve aggregation, summarization, and prediction without the need to spend time constructing list view filters and reports.
 +
* '''+AI Assistant:''' Execute actions at the record level such as updating statuses, modifying field values, or creating new fields, activities, and associations. Instead of 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 on a single object such as a grant application or review. In this scenario, the user can interact with the AI using a call-and-response model. The user might ask the 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.
+
To learn more, read our article on [[Enabling +AI Within Your System|enabling +AI within your system]].
* '''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 your chosen 3rd party LLM vendor to do something with or 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=
 
=Configuration - Essentials=
 
==Setting up +AI Integration==
 
==Setting up +AI Integration==
Before you can start using '''+AI''' functionality within your SmartSimple Cloud environment, you must reach out to your account manager as the fee is 20% of your total SaaS subscription. To set up the +AI integration, follow these steps:
+
To get started setting up +AI integration, be sure to [[Enabling +AI Within Your System|read our page on enabling +AI within the system]].
 
 
# SmartSimple will enable the +AI feature within your environment by going to '''Menu Icon''' > '''Global Settings''' > '''Integrations''' tab > Toggle on '''Enable AI'''. <br /> [[File:2023-07-ticket-146788-1.png|thumb|none|800px| A SmartSimple representative will enable the <strong>+AI</strong> feature using the above toggle.]]
 
# Next, you will need to purchase your own license from your desired third-party LLM vendor. For example, if you wanted to use OpenAI for the currently supported chat feature, you can go to [https://openai.com/pricing openai.com] to see the available pricing options.
 
# Add your license to an integration key by going to '''Menu Icon''' > '''Global Settings''' > '''Integrations''' tab > '''Integration Key Management''' > Add an integration key with the '''Type''' set to "OpenAI".
 
# Enter the API key provided by OpenAI and click '''Save'''. <br /> [[File:2023-07-ticket-146788 – 6.png|thumb|none|800px| An example integration key with OpenAI.]]
 
 
 
 
 
==Interactive Mode==
 
The AI interactive mode is made available through the '''Work with +AI''' feature which can be enabled on organization profiles, user profiles, and UTA records. In this example, we can configure interactive mode on a UTA to streamline the application process. 
 
 
 
===Configuring Interactive Mode===
 
As an example, we can configure the AI 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. <br /> [[File:2023-07-ticket-146788 – 7.png|thumb|none|800px| The instruction text will be displayed to users who use the <strong>Work with +AI</strong> feature on a particular record. Clicking the <strong>Sample Instructions</strong> link will auto-populate the field with default instructions.]]
 
# On the '''Permissions & Availability''' tab, users can set access to the feature by role, record type, or record status.
 
# Click''' Save'''.
 
 
 
===Using Interactive Mode===
 
# Navigate to the desired UTA record and select '''Tools''' > '''Work with +AI''' in the top action bar. <br /> [[File:2023-07-ticket-146788-1-.png|thumb|none|800px|Users with permission may access the interactive AI mode from record pages via the <strong>Tools</strong> menu.]]
 
# This will open a modal window into which you can enter your prompts and adjust the '''Temperature''' setting. <br /> [[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. We will use a variable to achieve this goal.
 
 
 
====Creating a Template====
 
# Go to '''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'''. The '''Caption''' is what will be surfaced to users during template selection.
 
# 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|Templates allow you to reference field names.]]
 
# Set who has access to use this template under the '''Permissions & Availability''' tab.
 
# Click '''Save'''.
 
 
 
  
 +
==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'''.
  
====Selecting a Template====
 
# Go to the desired UTA record > '''Tools''' > '''Work with +AI'''.
 
# Select the preferred template from the dropdown. <br /> [[File:2023-07-ticket-146788 – 4.png|thumb|none|800px|When selecting a template, any variables used will automatically resolve in the prompt window.]]
 
# Set the desired '''Temperature'''. This setting controls the level of randomness desired from the AI's response. A lower number correlates to a more consistent and repeatable response.
 
# Click the '''Send''' button. After a moment, the AI will respond to the request. <br /> [[File:2023-07-ticket-146788 – 5.png|thumb|none|800px|Once the AI returns with a response, you can give it further prompts or select another template.]]
 
  
====Best Practices for Template Prompts====
+
'''Note''': In the @ai() there must be no spaces between parameters and commas.
When deciding which prompts to use in a template, it can be helpful to test the variables 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.
 
 
 
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 ( " " ) to separate the instructions from the context
 
* Be specific and descriptive about the desired outcome, including details about context, length, format, 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 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'''.
 
  
 +
===OpenAI===
 
====Syntax====
 
====Syntax====
 
The syntax used for prompts in web page views and workflows is:
 
The syntax used for prompts in web page views and workflows is:
  
[[File:AI Syntax Format.png|none|800px]]
+
[[File:AI-Syntax-Format-New.png|none|800px]]
  
 
These parameters are explained as follows:
 
These parameters are explained as follows:
  
* '''AI service:''' The AI service being used. If left empty, OpenAI will be used as default.
+
* '''AI model''': (Optional) The name of the AI model being used by the service. If the service is OpenAI and the model is left unspecified, ChatGPT-4 will be used by default.
* '''AI function:''' Set the intended use of the input text. If the text is meant to be static, set the value to "text". If the text is meant to be edited by the AI, set the value to "edit".
+
* '''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.
* '''temperature:''' Set 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!".
* '''instruction:''' Optional parameter when using the edit AI function.
 
 
 
<u>'''Note:'''</u> If 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 grammar", "rewrite this in the poetic style of W.B. Yeats", or "translate this into Japanese".
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 87: Line 42:
 
|-
 
|-
 
||Ask AI to write an email for a specific user
 
||Ask AI to write an email for a specific user
||[[File:AI-Syntax-Prompt-Example-1.png|none|800px]]
+
||[[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
 
||Ask AI to fix the spelling of a message
||[[File:AI-Syntax-Prompt-Example-2.png|none|800px]]
+
||[[File:AI-Syntax-Prompt-Example-2-New.png|none|800px]]
 
|-
 
|-
 
||Ask the AI to write a grant application summary
 
||Ask the AI to write a grant application summary
||[[File:AI-Syntax-Prompt-Example-3.png|none|800px]]
+
||[[File:AI-Syntax-Prompt-Example-3-New.png|none|800px]]
 
|}
 
|}
  
 +
===Azure AI===
 +
Azure AI can be used with the variable processor, custom field creation, and '''+AI Directive'''. Some '''+AI''' features such as '''+AI Assistant''' and '''+AI Insight''' are not supported with Azure AI.
  
=Frequently Asked Questions=
+
====Syntax====
======Which AI vendor does SmartSimple use?======
+
When using Azure AI, the syntax used within the variable processor is:
SmartSimple is flexible enough to integrate with different third-party AI vendors. Currently, our integration supports OpenAI's text-davinci-003 model by default.
 
  
======Can we use a different vendor other than OpenAI?======
+
[[File:AI-Syntax-Prompt-Example-6-New.png|none|800px]]
If you would like to integrate with a different vendor, reach out to our Platform Solutions team or your account manager for more details.
 
  
======Can we use our own finetuned model or a different model with OpenAI?======
+
These parameters are explained as follows:
Yes. You can use your preferred custom model within the AI's automation mode by modifying the opening syntax. For example, if you wanted to use ChatGPT, you could specify it in the syntax like so:
 
 
 
[[File:AI-Syntax-Prompt-Example-4.png|none|800px]]
 
 
 
If you wanted to use your own custom model, you can specify the name with the following syntax:
 
[[File:AI-Syntax-Prompt-Example-5.png|none|800px]]
 
 
 
======Who is responsible for the data that is used with the AI feature?======
 
As with any third-party service accessible through SmartSimple, it is up the the data controller (client) to understand the implications of using any data processor.
 
 
 
=Settings Explained=
 
These settings are found within the interactive mode of '''+AI'''.
 
 
 
==General Tab==
 
The following settings are available on the '''General''' tab:
 
 
 
{| class="wikitable"
 
|-
 
!|Setting
 
!|Description
 
|-
 
||'''Instruction Caption'''
 
||The title given to the instruction box that appears above the AI chat window.
 
|-
 
||'''Instruction Content'''
 
||Any instructions to be displayed. Clicking the "Sample Instructions" link will populate this field with default instruction text.
 
|}
 
 
 
==Template Settings==
 
This following settings are available when creating a template:
 
 
 
{| 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 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".
 
|}
 
  
[[Category:Interface]]
+
* '''Deployment ID''': (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!".

Revision as of 04:18, 25 April 2024

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 currently available AI features and the configuration essentials of interfacing with the AI through the Variable Processor.

Overview

There are a number of AI features that can be implemented within SmartSimple including:

  • +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 insight models can quickly provide answers that involve aggregation, summarization, and prediction without the need to spend time constructing list view filters and reports.
  • +AI Assistant: Execute actions at the record level such as updating statuses, modifying field values, or creating new fields, activities, and associations. Instead of 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.

To learn more, read our article on enabling +AI within your system.

Configuration - Essentials

Setting up +AI Integration

To get started setting up +AI integration, be sure to read our page on enabling +AI within the system.

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.


Note: In the @ai() there must be no spaces between parameters and commas.

OpenAI

Syntax

The syntax used for prompts in web page views and workflows is:

AI-Syntax-Format-New.png

These parameters are explained as follows:

  • AI model: (Optional) The name of the AI model being used by the service. If the service is OpenAI and the model is left unspecified, ChatGPT-4 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!".
Example Scenario Syntax
Ask AI to write an email for a specific user
AI-Syntax-Prompt-Example-1-New.png
Ask AI to write an email for a specific user using model gpt-4-0163
AI-Syntax-Prompt-Example-New.png
Ask AI to fix the spelling of a message
AI-Syntax-Prompt-Example-2-New.png
Ask the AI to write a grant application summary
AI-Syntax-Prompt-Example-3-New.png

Azure AI

Azure AI can be used with the variable processor, custom field creation, and +AI Directive. Some +AI features such as +AI Assistant and +AI Insight are not supported with Azure AI.

Syntax

When using Azure AI, the syntax used within the variable processor is:

AI-Syntax-Prompt-Example-6-New.png

These parameters are explained as follows:

  • Deployment ID: (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!".