bluenevus commited on
Commit
fec5de2
·
verified ·
1 Parent(s): e08e6ba

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -6
app.py CHANGED
@@ -156,7 +156,7 @@ def remove_file(n_clicks, existing_files):
156
  def generate_matrix_with_gpt(matrix_type, file_contents):
157
  prompt = f"Generate a {matrix_type} based on the following project artifacts:\n\n"
158
  prompt += "\n\n".join(file_contents)
159
- prompt += f"\n\nCreate a {matrix_type} in a format that can be represented as a pandas DataFrame."
160
 
161
  response = openai.ChatCompletion.create(
162
  model="gpt-3.5-turbo",
@@ -167,11 +167,19 @@ def generate_matrix_with_gpt(matrix_type, file_contents):
167
  )
168
 
169
  matrix_text = response.choices[0].message.content
170
- # Parse the matrix_text into a pandas DataFrame
171
- # This is a simplified parsing, you might need to adjust based on the actual output format
172
- lines = matrix_text.strip().split('\n')
173
- headers = lines[0].split('|')
174
- data = [line.split('|') for line in lines[2:]]
 
 
 
 
 
 
 
 
175
  return pd.DataFrame(data, columns=headers)
176
 
177
  @app.callback(
 
156
  def generate_matrix_with_gpt(matrix_type, file_contents):
157
  prompt = f"Generate a {matrix_type} based on the following project artifacts:\n\n"
158
  prompt += "\n\n".join(file_contents)
159
+ prompt += f"\n\nCreate a {matrix_type} in a format that can be represented as a pandas DataFrame. Use '|' to separate columns and ensure each row has the same number of columns."
160
 
161
  response = openai.ChatCompletion.create(
162
  model="gpt-3.5-turbo",
 
167
  )
168
 
169
  matrix_text = response.choices[0].message.content
170
+
171
+ # More robust parsing of the matrix text
172
+ lines = [line.strip() for line in matrix_text.strip().split('\n') if line.strip()]
173
+ data = [line.split('|') for line in lines]
174
+
175
+ # Ensure all rows have the same number of columns
176
+ max_columns = max(len(row) for row in data)
177
+ data = [row + [''] * (max_columns - len(row)) for row in data]
178
+
179
+ # Use the first row as headers, and the rest as data
180
+ headers = data[0]
181
+ data = data[1:]
182
+
183
  return pd.DataFrame(data, columns=headers)
184
 
185
  @app.callback(