The capabilities described on this page are included in Appian's advanced and premium capability tiers. Usage limits may apply. |
This topic describes AI skills that use generative AI to automate many common tasks in your business processes.
Generative AI models create new content. Generative models take a prompt as input (such as a question or request). As the model evaluates that request, it recalls what it knows about those characteristics. As it begins to formulate a response, it uses probability to determine what comes next.
The output is entirely new content. Rather than regurgitating information word-for-word, generative models can formulate more specific answers, crafted just for that prompt. Examples of generative models include chat bots and image generators.
Generative AI is very flexible, so you can use it in multiple ways in your Appian processes. You can use generative AI to summarize content, extract information you're interested in, and detect sensitive information. You can even specify how you want those results to appear: in code, a paragraph, or a bulleted list.
Here are a few examples of when to use generative AI in Appian:
If you want to… | Use… |
---|---|
Quickly determine whether a form submission is a support request or a general inquiry | Text classification or unstructured email classification |
Extract essential details of a legal document, such as a contract | Unstructured document extraction |
Summarize action items and assignments in a meeting transcript | Text extraction |
Identify sensitive, legally protected information in a portfolio of medical documents | PII extraction from documents |
Evaluate if your business is a good fit for a contract opportunity | Document summarization |
Create content for a new product launch, in line with your business's branding | Text generation |
All generative AI skills create a prompt builder AI skill with a pre-populated template based on your use case. You can adjust the prompt, control the temperature, provide examples, and test the prompt directly within the AI skill.
If you don't see an AI skill suited to your use case, you can always use the Prompt Builder. Use this skill to create a prompt to send to generative AI models. You'll tell the model what you want it to do using plain language. After adjusting a few settings and testing the prompt, you can see what the model returns based on your instructions. Use this skill to summarize long or complex text, generate new content, and more!
Tip: To use these AI skills in a process, add the Execute Prompt smart service to your process model.
In the context of AI, a prompt is how we communicate with the large language model (LLM) about what we want it to do. A well crafted prompt can help you communicate with the model more effectively, and reduce the amount of time you spend tweaking or troubleshooting.
Crafting a good prompt can improve:
If you're looking to build a prompt from scratch, you might want to consider the following aspects:
Tip: Put the most important part of your prompt (such as output format or a specific question to answer) at the end of your prompt so the model is clear on what your ultimate request is.
As you work with generative AI skills, you may notice that formatting your prompt in certain ways helps generate more accurate or consistent responses. If you're experimenting with writing a prompt, here are a few suggestions to try.
Each guideline is applied to an example prompt for this scenario: You work at NexGen, a distribution company that runs order fulfillment centers. You use Appian to automate order submission workflows across several teams with the Order Fulfillment (OF) app. You're building an AI skill to extract information from contracts.
Use XML tags: Like other pieces of code or programs, AI models are highly structured and logical. You can make your prompt easier for the model to interpret by structuring it with XML tags. For example, you can surround parts of the prompt with tags to show the model what elements are found there:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<Task>
You need to find contract agreement entities from the input information.
<Context>
Here are the entities you need to return:
contractorName (Contractor Name):
contractorAddress (Contractor Address):
contractorContractSigner (Contractor Contract Signer):
clientName (Client Name):
clientAddress (Client Address):
clientContract Signer (Client Contract Signer):
effectiveDate (Effective Date):
servicesProvided (Services Provided):
fees (Fees - only the currency & numerical value):
paymentTerms (Payment Terms):
severabilityClauseExists (Severability Clause exists, yes or no):
</Context>
</Task>
<Instructions>
1) Your output will be json format
2) Only output the entities listed in the context section
</Instructions>
Assign roles: Remember that the AI model only has the context you provide it. So if you want the response to be appropriate for a certain person, or use the expertise of a certain profession, you could include that in the prompt. You could add the following to the top of the prompt:
1
2
3
<Role>
You are an expert at sifting through large amounts of information and finding the entities of interest.
</Role>
Prefill the model's response: Prefilling is a technique used to tell the model how its response should start. This is especially useful when prompting the model to return a certain structure, like JSON. When prompting the model for a JSON list, add Assistant: [{
and when prompting for a single JSON object, add Assistant: {
. These formats are in addition to the description you provide in plain language. If we apply this guidance to the prompt above, it might look like this:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<Task>
You need to find contract agreement entities from the input information.
<Context>
Here are the entities you need to return:
contractorName (Contractor Name):
contractorAddress (Contractor Address):
contractorContractSigner (Contractor Contract Signer):
clientName (Client Name):
clientAddress (Client Address):
clientContract Signer (Client Contract Signer):
effectiveDate (Effective Date):
servicesProvided (Services Provided):
fees (Fees - only the currency & numerical value):
paymentTerms (Payment Terms):
severabilityClauseExists (Severability Clause exists, yes or no):
</Context>
</Task>
<Instructions>
1) Your output will be json format
2) Only output the entities listed in the context section
</Instructions>
Assistant: {
In the context of machine learning, a token is a unit of analysis. A model breaks down data into meaningful parts – tokens – before it begins processing that data. Language processing models break down paragraphs of text into their smallest units, but these units aren't always equivalent to words. Instead, a token could be part of a word. Therefore, the number of tokens won't always equal the number of words in the text analyzed.
For example, the model is given the sentence, "the quickest brown fox is jumping over the laziest dog." There are 10 words in this sentence. However, there could be 13 tokens if the model breaks longer words such as quickest
into quick
and est
for analysis. Quickest
is one word, but quick
and est
are two tokens.
Once the token limit is reached, Appian may return partial results.
There are some requirements for the inputs for generative AI skills. Refer to the table below to see the requirements for each AI skill using that input type.
Requirement | Document input | Email input | Text input |
---|---|---|---|
File type | PDF, digital or scanned | EML | N/A |
File size limit | 25MB | 25MB | N/A |
Page limit per file | 100 pages | N/A | N/A |
Generative AI Skills