Difference between revisions of "Assista - Analytica AI Assistant"

(Links to videos. The RAW2024 link is no longer there, so I posted it on Lumina's youtube channel.)
 
(20 intermediate revisions by 6 users not shown)
Line 1: Line 1:
''New in [[Analytica 6.5]]''
+
''New in [[Analytica 6.5]]''
  
The Analytica A.I. assistant, named ''Assista'', is a co-pilot that uses Artificial Intelligence to help you use Analytica and build models.  
+
<center>[[image:assistaLogo.png|alt=|frameless|449x449px]]</center>
  
'''Note: In the early 6.5 alpha builds, it requires Analytica Enterprise or Optimizer to use.'''
 
  
Ask Assista for help or support using plain English, or even in other non-English languages. It knows what you are/were currently looking at just prior to switching over to the chat window, and it can access much of your model to provide you answers. It can also carry out many tasks for you in the Analytica UI.  
+
''Assista'' is the Analytica AI assistant -- a co-pilot that uses Artificial Intelligence to help you use Analytica and build models.  You interact with Assista via a chat window. It provides help using plain English (and other natural languages). It can see your model and what variable or module you are looking at. It can can perform some tasks in the Analytica UI and make changes or additions to your model. It can also explain Analytica functions and suggest links to Analytica docs. 
 +
 
 +
<!--The current release is Analytica 6.4. [https://docs.analytica.com/index.php/What%27s_new_in_Analytica_6.5%3F Analytica 6.5] is currently in [[Beta Tester Page|Beta Testing]].  If have have an active subscription license, we invite you to download it now from the [[Beta Tester Page]]. Alternatively, you can try it using the Free edition with 6.5 beta.  -->
 +
 
 +
Here are a few examples of questions and requests it can handle:
 +
* Describe this model  -- ''explains what this model does''
 +
* How do you change the background color?
 +
* Change the background to white  -- ''sometimes it can act on the model itself''
 +
* Show a graph of overall company profits -- ''finds a relevant variable and displays its graph''
 +
* How is revenue determined? -- ''explains the definition for this variable''
 +
* Write and fill in its description  -- "it describes the calculation for the currently displayed variable''
 +
* I don't like that description. I want the description to explain what the definition means -- ''it adds a more useful description''
 +
* Write a function for Geometric Average-- ''Shows a function to do this, and asks if you want to  create the function in the current module''
 +
* Yes -- ''Adds the function into your model, including its Description''
 +
* How do I use the Aggregate function -- ''Describes it with links to Analytica docs pages''
 +
 
 +
'''Demos:'''
 +
* See [https://downloads.analytica.com/Videos/AI_Series/AAIA_alpha_demo.mp4 a short demo of Assista responding to these prompts]
 +
* Watch a demo given at Risk Awareness Year 2024 (RAW2024), <!--[https://2024.riskawarenessweek.com/talks/building-risk-awareness-with-ai-assistants An AI assistant collaboration to develop risk management models]-->[https://youtu.be/H_-Fix4V2o4 An AI assistant collaboration to develop risk management models], 10-Oct-2024.
 +
* Watch a presentation from SDP 2025, "[https://youtu.be/zxqrTWyUWPk Advancing model-driven decision making through AI assistance], 23-March-2025, Vancouver, BC.
  
 
== Inaccuracies ==
 
== Inaccuracies ==
It is important to understand that, like other AI systems, it is not always accurate. It makes mistakes and sometimes provides incorrect information. But if it leads you astray today, don't give up on it!  We are improving it, and your questions will help it to improve in the futureWith time, it will be more and more capable of helping you with all stages of model building and interpreting results.
+
 
 +
Like other AI systems, it makes mistakes and sometimes gives wrong information. Its command of Analytica syntax and functions is not perfect.  But if it leads you astray today, don't give up on it!  We continue to improve it -- in part based on your questions.  Over time, it will become more capable of helping you with all stages of model building and interpreting results.
  
 
== Privacy (or lack of) ==
 
== Privacy (or lack of) ==
It is important to keep in mind that when you use Assista, your questions AND information inside your model will be sent to Lumina's servers as well as to OpenAI's servers, and may be used in a variety of ways to improve Assista in the future. We at Lumina are very privacy conscious in general, and will make our best effort to protect the information from uses other than for Assista improvement.
 
  
If you do not use the A.I. assistant at all, no information is sent, so you need not worry about this when simply using Analytica.
+
When you use Assista, your questions and some model information are sent to Lumina's servers as well as to OpenAI's servers. We use this information to see how well it's working to improve Assista. We at Lumina take privacy seriously. We will make our best effort to protect this information from any access or use other than to operate and improve Assista.
 +
 
 +
If you don't use Assista, it sends no information, so you need not worry about this when simply using Analytica.
  
 
== Scope ==
 
== Scope ==
What types of things can Assista help you with? This section identifies some areas, but these do not fully cover its full scope.
+
 
 +
What can Assista help you with? This section identifies some areas, but these do not fully cover its full scope.
  
 
Please ask it for whatever help you need, even if it doesn't match stuff shown here! It may surprise you, but even if it fails, your questions may inform Assista's engineers about what types of capabilities would be useful to focus on.
 
Please ask it for whatever help you need, even if it doesn't match stuff shown here! It may surprise you, but even if it fails, your questions may inform Assista's engineers about what types of capabilities would be useful to focus on.
Line 32: Line 53:
 
=== Navigating the Docs ===
 
=== Navigating the Docs ===
  
As you likely know, the Analytica Docs are extensive. Assista often provides "see also" links it is response to relevant Docs pages.
+
The Analytica Docs are extensive. Assista can help you find what you need, even if you don't know the name of a feature or function. It shows "see also" links to relevant Docs pages.
  
Ask it for a list of functions of a specified type, for example, Or where you can find more information on something.
+
Ask it for a list of functions of a specified type, for example. Or where you can find more information on something.
  
 
This general area is our second focus priority.  
 
This general area is our second focus priority.  
  
=== Performing actions for you ===
+
=== Actions on the model ===
 +
 
 +
In addition to explaining how to do something in Analytica GUI, Assista can sometimes do it for you!  Some examples:
  
In addition to providing steps you need to take to accomplish something from the Analytica GUI, Assista can sometimes do it for you!
 
 
* Open the graph of X    { or edit table, result table, object window, etc.)
 
* Open the graph of X    { or edit table, result table, object window, etc.)
 
* Change the color of X to blue
 
* Change the color of X to blue
 
* Write this description
 
* Write this description
 
* Write this definition.
 
* Write this definition.
 +
* Add a variable to calculate X.
 
* ... and more
 
* ... and more
  
Line 51: Line 74:
 
Ask it to teach you more about Analytica concepts.
 
Ask it to teach you more about Analytica concepts.
  
=== Creative formulation ===
+
=== Formulating a model ===
  
Mapping your complex, messy, real world problem to an influence diagram that captures the essential elements is a challenging task for human model builders. This is also one of the most exciting use cases for this new technology, especially in a collaborative analyst-assistant partnership.  
+
Structuring your complex, messy, real world problem as an influence diagram and model that captures the essential elements is a challenging task for human model builders. This is also one of the most exciting use cases for this new technology, especially in a collaborative analyst-assistant partnership. Try experimenting with this. We have found it is often quite helpful -- and sometimes not.  
 
 
Extreme competence at this is a long term future goal for Assista, but there is reason to believe that it could become quite good eventually.  
 
  
 
=== Interpreting results ===
 
=== Interpreting results ===
  
How do you interpret results, and how should you act based on the insights you gain from the model?  
+
How do you interpret results, tables and graphs? How should you act based on the insights?  
  
Today, Assista is unlikely to help much at this. For one, it doesn't yet look directly at the raw numbers or graph images in your results (or in your edit tables), even thought it is aware of your graphing dimensions (axes, keys) and table pivots.
+
For now, Assista can't help much. One reason is that it doesn't yet look directly at the raw numbers or graph images in your results (or edit tables), even though it can see your graphing dimensions (axes, keys) and table pivots.
  
 
=== Other ===
 
=== Other ===
This list of ideas is by no means complete. If you could use some help while using Analytica, ask it even if it doesn't fall into any of these categories. There is a chance it might, and you might inspire us to extend its capabilities in new directions.
+
 
 +
This list of ideas is by no means complete. If you could use some help while using Analytica, just try asking, even if it doesn't fall into any of these categories. It may give a useful response -- or at least, you may inspire us to extend its capabilities in new directions.
 +
 
 +
== How Assista works ==
 +
 
 +
Assista includes a small local Analytica client library that contains the conversation window. This library sends your prompt, chat history, and information about the UI context (e.g., what you are currently looking at) to an Assista server running on the Lumina Cloud. When requested by the server, this local library gets stuff from your model, performs any actions issued by the server, and adds results to the chat window. All  A.I. logic runs on the server. The client library is loaded into memory when you first press the Assista toolbar button. It is unloaded when you close your model; your session starts over when you open a new model.
 +
 
 +
The server processes the prompt and generates the response. It starts by using an LLM to analyze your prompt, to identify what skill sets it needs to respond, the information sources it may need to reference, and actions it may need to perform. It then uses specialized algorithms to customize the instructions to the LLM for the next step, using semantic search to find relevant references from the Analytica docs, from your model, or internal data sources. It then sends customized instructions and reference materials to an LLM (usually Open AI's GPT-4o) which generates a natural language response. If it detects a mistake in the response, it describes the problem and sends it back to the LLM with additional reference materials to give it a second chance. It reformats the final response, adding hyperlinks, section headings, or code blocks, and so on, and shows it to the user at the end the conversation window.
 +
 
 +
Lumina is actively developing and refining this process, so the process and performance will  change over time.
  
 
== See also ==
 
== See also ==
* See some use case examples in [https://downloads.analytica.com/Videos/AI_Series/AAIA_alpha_demo.mp4| a short unpolished demo].
+
* [https://downloads.analytica.com/Videos/AI_Series/AAIA_alpha_demo.mp4 A 7 minute (unpolished) demo video]

Latest revision as of 21:40, 24 May 2025

New in Analytica 6.5


Assista is the Analytica AI assistant -- a co-pilot that uses Artificial Intelligence to help you use Analytica and build models. You interact with Assista via a chat window. It provides help using plain English (and other natural languages). It can see your model and what variable or module you are looking at. It can can perform some tasks in the Analytica UI and make changes or additions to your model. It can also explain Analytica functions and suggest links to Analytica docs.


Here are a few examples of questions and requests it can handle:

  • Describe this model -- explains what this model does
  • How do you change the background color?
  • Change the background to white -- sometimes it can act on the model itself
  • Show a graph of overall company profits -- finds a relevant variable and displays its graph
  • How is revenue determined? -- explains the definition for this variable
  • Write and fill in its description -- "it describes the calculation for the currently displayed variable
  • I don't like that description. I want the description to explain what the definition means -- it adds a more useful description
  • Write a function for Geometric Average-- Shows a function to do this, and asks if you want to create the function in the current module
  • Yes -- Adds the function into your model, including its Description
  • How do I use the Aggregate function -- Describes it with links to Analytica docs pages

Demos:

Inaccuracies

Like other AI systems, it makes mistakes and sometimes gives wrong information. Its command of Analytica syntax and functions is not perfect. But if it leads you astray today, don't give up on it! We continue to improve it -- in part based on your questions. Over time, it will become more capable of helping you with all stages of model building and interpreting results.

Privacy (or lack of)

When you use Assista, your questions and some model information are sent to Lumina's servers as well as to OpenAI's servers. We use this information to see how well it's working to improve Assista. We at Lumina take privacy seriously. We will make our best effort to protect this information from any access or use other than to operate and improve Assista.

If you don't use Assista, it sends no information, so you need not worry about this when simply using Analytica.

Scope

What can Assista help you with? This section identifies some areas, but these do not fully cover its full scope.

Please ask it for whatever help you need, even if it doesn't match stuff shown here! It may surprise you, but even if it fails, your questions may inform Assista's engineers about what types of capabilities would be useful to focus on.

Assista relies heavily on the documentation attributes (Title, Description, Units) in your model, and on the arrows that you have drawn between variables (even if they aren't yet defined). Keep those populated both for your own benefit, but also to increase the quality of the assistance. You can even ask it to write those descriptions for you.

Using Analytica's UI

How do you ... in Analytica?

Ask it for the steps required to do something using the Analytica's UI.

Inaccuracies in its steps sometimes occur. But improving this accuracy is our first area of focus.

Navigating the Docs

The Analytica Docs are extensive. Assista can help you find what you need, even if you don't know the name of a feature or function. It shows "see also" links to relevant Docs pages.

Ask it for a list of functions of a specified type, for example. Or where you can find more information on something.

This general area is our second focus priority.

Actions on the model

In addition to explaining how to do something in Analytica GUI, Assista can sometimes do it for you! Some examples:

  • Open the graph of X { or edit table, result table, object window, etc.)
  • Change the color of X to blue
  • Write this description
  • Write this definition.
  • Add a variable to calculate X.
  • ... and more

Explaining Analytica concepts

Ask it to teach you more about Analytica concepts.

Formulating a model

Structuring your complex, messy, real world problem as an influence diagram and model that captures the essential elements is a challenging task for human model builders. This is also one of the most exciting use cases for this new technology, especially in a collaborative analyst-assistant partnership. Try experimenting with this. We have found it is often quite helpful -- and sometimes not.

Interpreting results

How do you interpret results, tables and graphs? How should you act based on the insights?

For now, Assista can't help much. One reason is that it doesn't yet look directly at the raw numbers or graph images in your results (or edit tables), even though it can see your graphing dimensions (axes, keys) and table pivots.

Other

This list of ideas is by no means complete. If you could use some help while using Analytica, just try asking, even if it doesn't fall into any of these categories. It may give a useful response -- or at least, you may inspire us to extend its capabilities in new directions.

How Assista works

Assista includes a small local Analytica client library that contains the conversation window. This library sends your prompt, chat history, and information about the UI context (e.g., what you are currently looking at) to an Assista server running on the Lumina Cloud. When requested by the server, this local library gets stuff from your model, performs any actions issued by the server, and adds results to the chat window. All A.I. logic runs on the server. The client library is loaded into memory when you first press the Assista toolbar button. It is unloaded when you close your model; your session starts over when you open a new model.

The server processes the prompt and generates the response. It starts by using an LLM to analyze your prompt, to identify what skill sets it needs to respond, the information sources it may need to reference, and actions it may need to perform. It then uses specialized algorithms to customize the instructions to the LLM for the next step, using semantic search to find relevant references from the Analytica docs, from your model, or internal data sources. It then sends customized instructions and reference materials to an LLM (usually Open AI's GPT-4o) which generates a natural language response. If it detects a mistake in the response, it describes the problem and sends it back to the LLM with additional reference materials to give it a second chance. It reformats the final response, adding hyperlinks, section headings, or code blocks, and so on, and shows it to the user at the end the conversation window.

Lumina is actively developing and refining this process, so the process and performance will change over time.

See also

Comments


You are not allowed to post comments.