What is the AI Studio?
SINCE 11 - BETA
The AI Studio is a set of tools and UI components seamless integrated into PIPEFORCE to boost your process automation and data integration tasks to a next level using artificial intelligence such as LLM (Large Language Models) for example.
BETA
Note that the AI Studio components including all ai.*
commands are in BETA. This means definitions, interfaces and documentation is not final and could change without further notice.
Configure AI Backend (secret)
Before you can start, an AI backend needs to be configured. Depending on your license, by default PIPEFORCE comes with it’s own built-in AI backend which is located in Germany.
If you do not specify otherwise, this AI backend is used by default.
But you can switch this default backend or use multiple AI backends in parallel. To do so, you have to configure the credentials and settings for those AI backends as secrets of type secret-text and place a JSON into the secret value which has a structure like this:
{ "base_url": "string", "model": "string", "api_token": "string", "max_token": "integer", "custom_headers": { "name": "value" } }
Whereas:
base_url
: The base url of the API (requried).model
: The AI model to be used (required).api_token
: The security token to be used.max_token
: The max token to be send (defaults to 800)custom_headers
: Key-value pairs to be passed along as HTTP headers on any request.
Connect to OpenAI (ChatGPT)
In case you would like to connect to the OpenAI services for example, you could use these settings in your secret:
{ "base_url": "https://api.openai.com/v1", "model": "gpt-3.5-turbo", "api_token": "your_token", "max_token": 800 }
Text-to-Command
This powerful feature of the AI Studio takes a non-structured text such as an email, a chat message or a PDF document for example, analyses it using AI and then automatically detects and executes the according PIPEFORCE command including its parameters which must be executed in order to take action and fulfill the user’s request.
Here are some examples where this feature could be helpful:
Automatically forward emails to the responsible internal team
Scan any email sent to a given inbox such as info@mycompany.tld for example, find out the intention of the sender, then forward the email to the internal team such as support, sales, … which can handle the request. The AI can find out the type of request, whether it is a support request, an order request, a question regarding an invoice or any other type just by writing an advice to the AI and without any programming. It can also detect and extract all required data such ascustomerId
,invoiceNumber
and more from the sender’s email. Furthermore, it can also create a short summary about what the core intent of the sender is to make it easier for the internal team to process the request.Automatically start an internal workflow by email
Scan any email sent to a given inbox such as invoice@mycompany.tld for example and if this email matches to an existing workflow, extract all variables required for this workflow from the email, start the workflow and pass these variables along with it. For example to start an accounts payable workflow based on an given payable invoice. The AI can validate whether all required data exist and is valid in order to start the workflow.Automatically call endpoints of other systems by email
Scan any email sent to a given inbox such as info@mycompany.tld for example and if this email is related to a service, offered by a third party system which provides an remote API, call this remote API (for example REST) and pass along parameters extracted from the email. For example create a new ticket on an external ticket system.
Using command ai.intent.detect
In order to integrate Text-to-Command functionality into your automation pipelines, you can use the command ai.intent.detect
. It will
take a text, for example like an email as input,
will apply the given AI instructions on this text and
finally will select a command to be executed.
Here is a first example how this could look like in an automation pipeline:
body: | From: customer@somedomain.tld Subject: I have a problem with your product Hello, I have a big problem with your product and need support. My customer id is 123456. Cheers, Valued Customer pipeline: - ai.intent.detect: advice: intentCandidates: - intentId: "forwardToSupport" description: "Use this intent in case the sender needs product support." commandName: "mail.send" parameters: to: name: "to" value: "support@internal.tld" commandParameter: true from: name: "from" description: "The email address of the sender." detect: true commandParameter: true subject: name: "subject" description: "Use the subject of the sender's email." detect: true commandParameter: true message: name: "message" description: "Use the message of the sender's email." detect: true commandParameter: true - intentId: "forwardToInfo" description: > Use this intent in case the sender's intent could not be detected. commandName: "mail.send" parameters: to: name: "to" value: "info@internal.tld" commandParameter: true from: name: "from" description: "The email address of the sender." detect: true commandParameter: true subject: name: "subject" description: "Use the subject of the sender's email." detect: true commandParameter: true message: name: "message" description: "Use the message of the sender's email." detect: true commandParameter: true
As you can see in this example, there are two command intents configured:
One intent will forward the customer email to the support team (=
forwardToSupport
) andthe other one to the info team in case it is related to any other topic (=
forwardToInfo
).
Each intent has an advice description
in order to instruct the AI about the criteria to select this intent. In case such an intent is selected by AI, there is the commandName
field defining the name of the command which must be finally called. In this example this is the mail.send
command.
The parameters
section on each intent lists the parameters required to call the command. For the mail.send
command these are the parameters to
, from
, subject
and message
. For each command it can be configured whether the AI should auto-detect the value (detect: true
, as you can see for the from
parameter for example), in this case the description field is mandatory to instruct the AI how to extract the parameter. Or it can be a fixed value (as you can see for the to
parameter for example).
In order to keep this example simple, we set an email text at the very beginning in the body. This text will be passed to the AI for analysis using the given advice.
Add Comment