Note: This add-in Requires JMP 17 or later. This add-in also requires the openai module to be downloaded for the version of Python JMP is using, although the original version only requires openai. This add-in also incurs API usage expenses to the user through their personal openai account. Please read the write-up before using the add-in as some important details for use are included. As this add-in was originally intended to be a proof-of-concept, we are saying that development and maintenance for this add-In is complete.
Known issues:
- Please Note: generated text and code can often be incorrect or produce errors. The add-in uses OpenAI's models, not JMP-specific AI. Please use accordingly.
- Token usage and limits can be finnicky. If the add-in repeats a response or throws an argument error, restart the conversation and/or add-in.
- The tables and reports will only update once the add-in is opened if a query is submitted. To avoid issues, open up tables or reports before opening the add-in, or submit a query after opening up a new one.
- Switching from "do it for me" to "explain and assist" can sometimes produce errors. If this happens, restart the add-in.
Overview:
This addin is a live prototype of leveraging generative AI to enhance the JMP experience. Connected to OpenAI’s API, this addin features a conversational chatbot interface with JMP-specific features:
-
Querying about data tables or reports
-
A mode for instructing the model to execute tasks in JMP (and seeing the JSL it wrote)
-
Prompt libraries for storing useful queries for easy access
Users are required to bring their own API key to access the OpenAI models powering the add-in and might have to install the openai Python module on their machine. Please note that the models aren't always accurate. In other words, it can and inevitably will write incorrect JSL code, misunderstand instructions, produce wrong information, etc. Please share any feedback and results from using this add-in; we plan on making improvements soon!
Capabilities:
-
Explain & assist mode: type a query into the query box, hit go, and your query, as well as the model response will appear in the conversation box.
-
Do it for me mode: type an instruction into the query box, hit go, and JMP will execute a JSL script created by the model. (If “Show Generated JSL Script” is checked, a new script window will be populated with the script written by the model)
-
Use Table/Report: send the script for an open data table or report to the model to ask subsequent queries about. (If “Hide Data in Data Tables” is checked, only the table meta data will be sent.) Please note: scripts included in tables will be sent as well, and will substantively crank up token usage if unnoticed.
-
Custom Library: prompt library with prepopulated prompts; select a category, select a prompt and hit “Use Prompt” to populate the query box. Select “Load Library” to replace the default prompts with prompts in a data table you select. (Ensure the column names are the category names and the prompts are the data)
-
Settings: enter your secret key, change the model type, token cap, and model temperature. (Information on these settings can be found here: OpenAI Platform)
-
Miscellaneous: statistics library is tasks segmented by the “Data Analysis Director” addin, the reset button will wipe the conversation history and token usage and clean the conversation box, and regenerate will submit the previously inputted query again for another response.
Feedback & The Future:
We're releasing this add-in in the hopes of gathering community feedback and suggestions on where to take this in the future. We think this technology has great potential, but we haven't been able to thoroughly experiment ourselves. Please send us any ideas on where to take this in the future, results from using the add-in yourself (what has worked, what hasn't worked, etc.), and your overall thoughts! We will be closely monitoring this page, and we plan on updating the add-in soon. We think this is a very exciting time for JMP, and we're looking forward to seeing your feedback!
Resources:
-
Video demo:
-
OpenAI setup: How to Get an OpenAI API Key
-
OpenAI API reference: OpenAI Platform