m-ric HF staff commited on
Commit
1480aa8
β€’
1 Parent(s): 0d628a0

Improve prompt

Browse files
Files changed (2) hide show
  1. app.py +12 -11
  2. figures/blank.txt +0 -0
app.py CHANGED
@@ -25,8 +25,8 @@ agent = ReactCodeAgent(
25
  )
26
 
27
  base_prompt = """You are an expert data analyst.
28
- Please load the source file with pandas and analyze its content (you cannot use 'os' module).
29
- According to the features you have, begin by finding which feature should be the target.
30
  Then list 3 interesting questions that could be asked on this data, for instance about specific correlations with target variable.
31
  Then answer these questions one by one, by finding the relevant numbers.
32
  Meanwhile, plot some figures using matplotlib/seaborn and save them to the (already existing) folder './figures/': take care to clear each figure with plt.clf() before doing another plot.
@@ -35,7 +35,9 @@ In your final answer: summarize these correlations and trends
35
  After each number derive real worlds insights, for instance: "Correlation between is_december and boredness is 1.3453, which suggest people are more bored in winter".
36
  Your final answer should be a long string with at least 3 numbered and detailed parts.
37
 
38
- source file = {source_file}
 
 
39
  """
40
 
41
  example_notes="""This data is about the Titanic wreck in 1912.
@@ -68,13 +70,12 @@ def interact_with_agent(file_input, additional_notes):
68
  os.makedirs("./figures")
69
 
70
  read_file = pd.read_csv(file_input)
71
- data_structure_notes = f"""\nStructure of the data:
72
- - Description (output of .describe()):
73
  {read_file.describe()}
74
  - Columns with dtypes:
75
- {read_file.dtypes}
76
- """
77
- prompt = base_prompt + data_structure_notes
78
 
79
  if additional_notes and len(additional_notes) > 0:
80
  prompt += "\nAdditional notes on the data:\n" + additional_notes
@@ -83,7 +84,7 @@ def interact_with_agent(file_input, additional_notes):
83
  yield messages
84
 
85
  plot_image_paths = {}
86
- for msg in stream_from_transformers_agent(agent, prompt.format(source_file=file_input)):
87
  messages.append(msg)
88
  for image_path in get_images_in_directory("./figures"):
89
  if image_path not in plot_image_paths:
@@ -99,10 +100,10 @@ def interact_with_agent(file_input, additional_notes):
99
  yield messages
100
 
101
 
102
- with gr.Blocks(theme="soft") as demo:
103
  gr.Markdown("""# Llama-3.1 Data analyst
104
 
105
- Drop a `.csv` file to analyse, add notes if needed, and **Llama-3.1-70B will analyse the file content for you!**""")
106
  file_input = gr.File(label="Your file to analyze")
107
  text_input = gr.Textbox(
108
  label="Additional notes to support the analysis"
 
25
  )
26
 
27
  base_prompt = """You are an expert data analyst.
28
+ Please load the source file with pandas (you cannot use 'os' module).
29
+ According to the features you have and the dta structure given below, determine which feature should be the target.
30
  Then list 3 interesting questions that could be asked on this data, for instance about specific correlations with target variable.
31
  Then answer these questions one by one, by finding the relevant numbers.
32
  Meanwhile, plot some figures using matplotlib/seaborn and save them to the (already existing) folder './figures/': take care to clear each figure with plt.clf() before doing another plot.
 
35
  After each number derive real worlds insights, for instance: "Correlation between is_december and boredness is 1.3453, which suggest people are more bored in winter".
36
  Your final answer should be a long string with at least 3 numbered and detailed parts.
37
 
38
+ Source file for the data = {source_file}
39
+ Structure of the data:
40
+ {structure_notes}
41
  """
42
 
43
  example_notes="""This data is about the Titanic wreck in 1912.
 
70
  os.makedirs("./figures")
71
 
72
  read_file = pd.read_csv(file_input)
73
+ data_structure_notes = f"""- Description (output of .describe()):
 
74
  {read_file.describe()}
75
  - Columns with dtypes:
76
+ {read_file.dtypes}"""
77
+
78
+ prompt = base_prompt.format(source_file=file_input, structure_notes=data_structure_notes)
79
 
80
  if additional_notes and len(additional_notes) > 0:
81
  prompt += "\nAdditional notes on the data:\n" + additional_notes
 
84
  yield messages
85
 
86
  plot_image_paths = {}
87
+ for msg in stream_from_transformers_agent(agent, prompt):
88
  messages.append(msg)
89
  for image_path in get_images_in_directory("./figures"):
90
  if image_path not in plot_image_paths:
 
100
  yield messages
101
 
102
 
103
+ with gr.Blocks() as demo:
104
  gr.Markdown("""# Llama-3.1 Data analyst
105
 
106
+ Drop a `.csv` file below, add notes to describe this data if needed, and **Llama-3.1-70B will analyze the file content and draw figures for you!**""")
107
  file_input = gr.File(label="Your file to analyze")
108
  text_input = gr.Textbox(
109
  label="Additional notes to support the analysis"
figures/blank.txt DELETED
File without changes