Jump to content
  • Spotfire Copilot™


    This article describes the Spotfire Copilot, its functionality, and instructions for deploying it.

    LinkedInBanner(1584X396).thumb.png.77e71c45ca11dd86754c54b144586df9.png

    Overview

    Spotfire Copilot™ is a free, natural language extension to the Spotfire® platform. It leverages large language models (LLMs) to augment business intelligence and artificial intelligence, all in Spotfire. We created the Spotfire Copilot add-on to act as an assistant directly within Spotfire to empower various users to get more done with their data faster. Large language models are multifaceted systems that are increasingly evolving to perform general question-answering, advanced analytics, and multimodal capabilities.

    Spotfire Copilot helps seasoned Spotfire users have a head start in generating charts, data views, or reports. It also helps novice users to have a significantly shorter learning curve through natural language interactions with Spotfire. It is important to consider the Copilot as a copilot to the human user of Spotfire—similar to driver-assisting features in modern cars where the driver needs to keep their hands on the wheel. Likewise, the Spotfire user should vet the outputs of Copilot at all times. Spotfire Copilot is agnostic and can leverage LLMs from any source, both on-premises and from the cloud. The team has heavily tested Copilot using OpenAI’s GPT-3.5 & GPT-4 models. 

    This release is custom-built to perform the following tasks in Spotfire: 

    • Question-answering for Spotfire questions
    • Question-answering for user-loaded documents
    • Auto visualization generation and modification
    • Data function generation
    • Explanation of visualizations
    • Data interrogation

    Here is a preview of Copilot in action!

    You can also see a full introduction and demo of Spotfire Copilot on this special episode of Dr. Spotfire on Dec 14, 2023

     

    Deployment and Prerequisites

    The deployment is through the installation of an SPK package on the Spotfire® Server for a seamless, custom-panel interaction. The frontend component is thus a Spotfire custom panel. The backend components for Copilot make up what we call the Orchestrator. All components are detailed in the installation guide, which will be part of the downloadable package through the Spotfire Community Exchange. The prerequisites include: access to an LLM API, a Vector Database or Azure Cognitive Search, Docker components, and Spotfire® Analyst/Server access. Below is a high level overview of the architecture of Spotfire Copilot:

    F-sj7JUvqryZ68_x6XYNhJsZstryF3c2zDbIbjPGpvcn-NMVz7n5p0v1m6_UW1TSfsGDsKRlP9MaSfB5dqmao9VyFXNdBttUP3pXXRn56i7rdRDr7GzaddJLi4_zXG1sD-ruFnACyzc2Jb-ih6WdoQE
     

    Background on LLMs

    LLMs are advanced NLP (natural language processing) models that use machine learning algorithms to analyze and understand human language. These models are trained on vast amounts of text data, such as books, articles, and websites, allowing them to generate human-like language and perform various language-related tasks. For more details, we have the following articles and whitepaper: NLP and LLMs in Spotfire and NLP glossary.

    The recent advancements in artificial intelligence domains and computational power have enabled the development of larger and more powerful language models. These models have been shown to excel at a variety of language tasks, including question answering, code generation, text summarization, and multimodal advances, among others. The most common way to engage with these models is via prompting them with an engineered piece of text that results in the desired responses.

    Spotfire Copilot supports most common LLMs that are cloud-based or on-premises. For simplicity, in the remainder of this article, we assume that the employed LLMs and accompanying services come from Microsoft Azure OpenAI (i.e., GPT-3.5-Turbo, GPT-4) unless otherwise mentioned explicitly. These models will be within the customer’s own Azure subscription (as opposed to Spotfire) to ensure the maximum level of data privacy and control. Note, however, that the architecture is agnostic and can run anywhere the required components can run.
     

    Sample Scenarios

    Through a few examples, we will demonstrate how Spotfire Copilot can help users be more efficient (for more information on the Copilot evolution, check out Spotfire Copilot: Interact with Spotfire in Human Language).
     

    Examples of Copilot use cases

    1. How to perform an operation in Spotfire: "How do I export this page as a pdf"
    2. Explain loaded data: "What should I be looking at in my data"
    3. Explain visualizations: "Click the button!"
    4. Create visualizations: "Show yield by lot" or "Create an interesting visualization"
    5. Adjust existing visualizations: "OK, now make it a line chart"
    6. Create an interesting data function: "Create a data function to calculate Pearson's correlation between the numerical features"
    7. Mining user-loaded documents and answering questions based on these proprietary documents: "What is the definition of Rate of Penetration"


    Watch the following for a walkthrough of an example Copilot use case:

     


    Let's go through this example, step by step.

    First, we open up Spotfire® Analyst and the Spotfire Copilot custom panel via the toolbar. Copilot shows an initial welcome message.

    welcome message

     

    How to perform an operation in Spotfire

    We can perform Spotfire question-answering, which provides answers with citations from additional knowledge in Spotfire documentation (think product documentation, Spotfire textbooks, etc.).

    answering spotfire-specific question

    The user also has the ability to upload their own documents as additional context for the LLM. In this example, we have uploaded documentation on the topic of OEE, giving Copilot the subject matter expertise to answer domain-specific questions. Note that citations are still provided for these additional documents.

    answering user-uploaded document questions

     

    Explain loaded data

    When wanting to learn more about the data in our dashboard, Copilot can summarize and explain its different datasets and associated columns. This functionality doesn't require the Copilot to have prior knowledge about data and their variables.

    analyzing existing data in dashboard

     

    Create visualizations

    To start analyzing the data, we ask the Copilot to show us unscheduled down over time. 

    creating a visualization

    Spotfire Copilot is trained to decipher what type of visualization to create based on the user input, but we can ask Copilot to instead turn this into a bar chart.

    modifying the visualization type

    We click the "Create Visualization" button and the chart immediately pops up on the current page. The resulting chart is a native Spotfire visualization, identical to manually-crafted ones.

    We can also create more advanced charts. Here, we specify the four primary reasons for unscheduled down and ask to see these as a stacked bar chart. Note that existing markings and filters can be applied, along with the ability to filter and limit data in the visualization. Currently, Copilot is able to produce line, scatter, and bar charts.

    creating stacked bar chart

     

    Explain visualizations

    Given a list a available visualizations, we one to explain and Spotfire Copilot identifies and calculates trends, outliers, clusters, anomalies, and more. This feature is particularly useful for communicating the interpretations of an analytical chart to end consumers and generating readable reports.

    choosing visualization to explainexplaining visualizations

     

    Create a data function

    We can automatically create Spotfire® Data Functions with the Copilot. In this scenario, a data function might be useful for forecasting availability at this particular production plant. Not only does Copilot formulate the python script with proper comments, but it also populates the appropriate input/output parameters along with descriptions.

    creating a data function

    For further questions, inquires, or feedback you can leave comments on this post or email us at datascience@spotfire.com.

     

    Extra Resources

    FAQ

    Is Copilot a product or service offered by Spotfire?

    Neither! Spotfire Copilot is a free extension to Spotfire that allows any Spotfire customer to stand up their own instance of Copilot in a private and secure manner.

    What version of Spotfire has the Copilot been tested with?

    Spotfire Copilot requires Spotfire version 12.5 or higher.

    What are the main components of Spotfire Copilot that need to be installed?

    There are two main components: the frontend and backend. While the former is an SPK that gets installed on the Spotfire Server, the latter is offered as a container image. For more details please refer to the documentation.

    Does Spotfire Copilot run on the Spotfire Analyst client or Web client?

    Copilot is currently available for Spotfire Analyst.

    Which LLMs are used by Copilot?

    Spotfire Copilot is cloud agnostic and can be configured to use any LLM, though it has been heavily tested against OpenAI's GPT-3.5 and GPT-4.

    I hear that Spotfire built the Copilot in partnership with Microsoft. Do I have to deploy my Copilot instance on Azure?

    No! We have tested extensively against GPT models offered by OpenAI and Azure, but any common LLM will do. Please reach out to us at datascience@spotfire.com if you need further assistance. All other Spotfire Copilot components can be deployed on the platform of your choice.

     

    The Spotfire Copilot artificial intelligence tool is a free offering licensed under the Apache License 2.0 for use with Spotfire. As the tool is not part of the commercial Spotfire product, Cloud Software Group, Inc. does not offer paid support or maintenance for Spotfire Copilot.

    • Like 3

    User Feedback

    Recommended Comments

    There are no comments to display.


×
×
  • Create New...