You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[01-25-2025]**Data Formulator 0.6** — Real-time insights from live data
36
+
- ⚡ **Connect to live data**: Connect to URLs and databases with automatic refresh intervals. Visualizations update automatically as your data changes to provide you live insights. [Demo: track international space station position speed live](https://github.com/microsoft/data-formulator/releases/tag/0.6)
37
+
- 🎨 **UI Updates**: Unified UI for data loading; direct drag-and-drop fields from the data table to update visualization designs.
[11-07-2025] Data Formulator 0.5: Vibe with your data, in control
42
46
43
47
- 📊 **Load (almost) any data**: load structured data, extract data from screenshots, from messy text blocks, or connect to databases.
44
-
- 🤖 **Explore data with AI agents**:
45
-
- In agent mode, provide a high-level goal and ask agents to explore data for you.
46
-
- To stay in control, directly interact with agents: ask for recommendations or specify chart designs with UI + NL inputs, and AI agents will formulate data to realize your design.
47
-
- Use data threads to control branching exploration paths: backtrack, branch, or follow up.
48
+
- 🤖 **Explore data with AI agents**: Use agent mode for hands-off exploration, or stay in control in interactive mode.
48
49
- ✅ **Verify AI generated results**: interact with charts and inspect data, formulas, explanations, and code.
49
50
- 📝 **Create reports to share insights**: choose charts you want to share, and ask agents to create reports grounded in data formulated throughout exploration.
SYSTEM_PROMPT='''You are a data exploration expert who suggests interesting questions to help users explore their datasets.
14
14
15
-
Given a dataset (or a thread of datasets that have been explored), your task is to suggest 4 exploration questions (unless the user explicitly asks for the number of questions), that users can follow to gain insights from their data.
16
-
* the user may provide you current explorations they have done, including:
17
-
- a thread of exploration questions they have explored
18
-
- the latest data sample they are viewing
19
-
- the current chart they are viewing
20
-
* when the exploration context is provided, make your suggestion based on the context as well as the original dataset; otherwise leverage the original dataset to suggest questions.
15
+
This prompt contains the following sections:
16
+
- [DATASETS] section: available datasets the user is working with.
17
+
- [EXPLORATION THREAD] section (optional): sequence of datasets that have been explored in the order they were created, and what questions are asked to create them. These tables are all created from tables in the [DATASETS] section.
18
+
- [CURRENT DATA] section (optional): latest data sample the user is viewing, and the visualization they are looking at at the moment.
19
+
- [START QUESTION] section (optional): start question from previous exploration steps for context
20
+
21
+
Your task is to suggest 4 exploration questions (unless the user explicitly asks for the number of questions), that users can follow to gain insights from their data.
22
+
When the exploration context is provided, make your suggestion based on the context as well as the original datasets; otherwise leverage the original datasets to suggest questions.
21
23
22
24
Guidelines for question suggestions:
23
-
1. Suggest interesting analytical questions that are not obvious that can uncover nontrivial insights
24
-
2. Use a diverse language style to display the questions (can be questions, statements etc)
25
-
3. If there are multiple datasets in a thread, consider relationships between them
25
+
1. Suggest interesting analytical questions that can uncover new insights from the data.
26
+
2. Use a diverse language style to display the questions (can be questions, statements etc).
27
+
3. If there are multiple datasets in a thread, consider relationships between them.
26
28
4. CONCISENESS: the questions should be concise and to the point
27
-
5. QUESTION: the question should be a new question based on the thread of exploration:
28
-
- either a followup question, or a new question that is related to the thread
29
+
5. QUESTION: the question should be a new question based on the exploration thread:
30
+
- if no exploration thread is provided, start with a high-level overview question that directly visualizes the data to give the user a sense of the data.
31
+
- either a followup question, or a new question that is related to the exploration thread
29
32
- if the current data is rich, you can ask a followup question to further explore the dataset;
30
33
- if the current data is already specialized to answer the previous question, you can ask a new question that is related to the thread but not related to the previous question in the thread, leverage earlier exploration data to ask questions that can expand the exploration horizon
31
34
- do not repeat questions that have already been explored in the thread
32
35
- do not suggest questions that are not related to the thread (e.g. questions that are completely unrelated to the exploration direction in the thread)
33
36
- do not naively follow up if the question is already too low-level when previous iterations have already come into a small subset of the data (suggest new related areas related to the metric / attributes etc)
37
+
- leverage other datasets in the [DATASETS] section to suggest questions that are related to the exploration thread.
34
38
6. DIVERSITY: the questions should be diverse in difficulty (easy / medium / hard) and the four questions should cover different aspects of the data analysis to expand the user's horizon
35
39
- simple questions should be short -- single sentence exploratory questions
36
40
- medium questions can be 1-2 sentences exploratory questions
@@ -59,15 +63,17 @@
59
63
60
64
SYSTEM_PROMPT_AGENT='''You are a data exploration expert to help users explore their datasets.
61
65
66
+
This prompt contains the following sections:
67
+
- [DATASETS] section: available datasets the user is working with.
68
+
- [EXPLORATION THREAD] section (optional): sequence of datasets that have been explored in the order they were created, and what questions are asked to create them. These tables are all created from tables in the [DATASETS] section.
69
+
- [CURRENT DATA] section (optional): latest data sample the user is viewing, and the visualization they are looking at at the moment.
70
+
- [START QUESTION] section (optional): start question from previous exploration steps for context
71
+
62
72
Given a dataset (or a thread of datasets that have been explored), your task is to suggest 4 exploration questions (unless the user explicitly asks for the number of questions), that users can follow to gain insights from their data.
63
-
* the user may provide you current explorations they have done, including:
64
-
- a thread of exploration questions they have explored
65
-
- the latest data sample they are viewing
66
-
- the current chart they are viewing
67
-
* when the exploration context is provided, make your suggestion based on the context as well as the original dataset; otherwise leverage the original dataset to suggest questions.
73
+
When the exploration context is provided, make your suggestion based on the context as well as the original datasets; otherwise leverage the original datasets to suggest questions.
68
74
69
75
Guidelines for question suggestions:
70
-
1. Suggest a list of question_groups of interesting analytical questions that are not obvious that can uncover nontrivial insights.
76
+
1. Suggest a list of question_groups of interesting analytical questions that can uncover new insights from the data.
71
77
2. Use a diverse language style to display the questions (can be questions, statements etc)
72
78
3. If there are multiple datasets in a thread, consider relationships between them
73
79
4. CONCISENESS: the questions should be concise and to the point
@@ -80,6 +86,7 @@
80
86
- hard questions should introduce some new analysis concept but still make it concise
81
87
- if suitable, include a group of questions that are related to statistical analysis: forecasting, regression, or clustering.
82
88
6. QUESTIONS WITHIN A QUESTION GROUP:
89
+
- if the user doesn't provide an exploration thread, start with a high-level overview question that directly visualizes the data to give the user a sense of the data.
83
90
- raise new questions that are related to the user's goal, do not repeat questions that have already been explored in the context provided to you.
84
91
- if the user provides a start question, suggested questions should be related to the start question.
85
92
- the questions should progressively dive deeper into the data, building on top of the previous question.
context+=f"\n\n[EXPLORATION THREAD] These are the sequence of tables the user created in this exploration thread, in the order they were created, and what questions are asked to create them:\n\n{thread_summary}"
157
162
158
163
ifcurrent_data_sample:
159
-
context+=f"\n\n[CURRENT DATA SAMPLE]\n\n{pd.DataFrame(current_data_sample).head(10).to_string()}"
164
+
context+=f"\n\n[CURRENT DATA SAMPLE] This is the current data sample the user is viewing, and the visualization they are looking at at the moment is shown below:\n\n{pd.DataFrame(current_data_sample).head(10).to_string()}"
0 commit comments