Assista - Analytica AI Assistant
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.
The current release is Analytica 6.4. Analytica 6.5 is currently in 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 a short demo of Assista responding to these prompts
- Watch a demo given at Risk Awareness Year 2024 (RAW2024), An AI assistant collaboration to develop risk management models, 10-Oct-2024.
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.
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.
Enable comment auto-refresher