Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -232,20 +232,75 @@ def main():
|
|
| 232 |
selected_models = st.multiselect('Select models to compare', df['Model'].unique())
|
| 233 |
comparison_df = df[df['Model'].isin(selected_models)]
|
| 234 |
st.dataframe(comparison_df)
|
| 235 |
-
|
| 236 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 237 |
# Export the DataFrame to CSV
|
| 238 |
csv_data = df.to_csv(index=False)
|
| 239 |
|
| 240 |
-
|
| 241 |
-
|
| 242 |
-
|
| 243 |
-
|
| 244 |
-
|
| 245 |
-
|
| 246 |
-
|
| 247 |
)
|
| 248 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 249 |
# Full-width plot for the first category
|
| 250 |
create_bar_chart(df, score_columns[0])
|
| 251 |
|
|
|
|
| 232 |
selected_models = st.multiselect('Select models to compare', df['Model'].unique())
|
| 233 |
comparison_df = df[df['Model'].isin(selected_models)]
|
| 234 |
st.dataframe(comparison_df)
|
| 235 |
+
|
| 236 |
+
# Add a row with two columns for the buttons
|
| 237 |
+
button_row = st.columns(2)
|
| 238 |
+
|
| 239 |
+
# Add the "Export to CSV" button in the first column
|
| 240 |
+
with button_row[0]:
|
| 241 |
+
if st.button("Export to CSV"):
|
| 242 |
# Export the DataFrame to CSV
|
| 243 |
csv_data = df.to_csv(index=False)
|
| 244 |
|
| 245 |
+
# Create a link to download the CSV file
|
| 246 |
+
st.download_button(
|
| 247 |
+
label="Download CSV",
|
| 248 |
+
data=csv_data,
|
| 249 |
+
file_name="leaderboard.csv",
|
| 250 |
+
key="download-csv",
|
| 251 |
+
help="Click to download the CSV file",
|
| 252 |
)
|
| 253 |
|
| 254 |
+
# Add the new button in the second column
|
| 255 |
+
with button_row[1]:
|
| 256 |
+
if st.button("Fetch Top Mergeki-Configs"):
|
| 257 |
+
# Export the DataFrame to CSV and save it to /tmp/models.csv
|
| 258 |
+
df.to_csv('/tmp/models.csv', index=False)# Add a button to export data to CSV
|
| 259 |
+
# Load the CSV data
|
| 260 |
+
df = pd.read_csv('/tmp/models.csv')
|
| 261 |
+
|
| 262 |
+
# Sort the data by the second column (assuming the column name is 'Average')
|
| 263 |
+
df_sorted = df.sort_values(by='Average', ascending=False)
|
| 264 |
+
|
| 265 |
+
# Open the file in append mode
|
| 266 |
+
with open('configurations.txt', 'a') as file:
|
| 267 |
+
# Get model cards for the top 20 entries
|
| 268 |
+
for index, row in df_sorted.head(20).iterrows():
|
| 269 |
+
model_name = row['Model'].rstrip()
|
| 270 |
+
card = ModelCard.load(model_name)
|
| 271 |
+
file.write(f'Model Name: {model_name}\n')
|
| 272 |
+
file.write(f'Scores: {row["Average"]}\n') # Assuming 'Average' is the benchmark score
|
| 273 |
+
file.write(f'AGIEval: {row["AGIEval"]}\n')
|
| 274 |
+
file.write(f'GPT4All: {row["GPT4All"]}\n')
|
| 275 |
+
file.write(f'TruthfulQA: {row["TruthfulQA"]}\n')
|
| 276 |
+
file.write(f'Bigbench: {row["Bigbench"]}\n')
|
| 277 |
+
file.write(f'Model Card: {card}\n')
|
| 278 |
+
|
| 279 |
+
# Open the second file in read mode
|
| 280 |
+
with open('configurations.txt', 'r') as file:
|
| 281 |
+
# Read the content
|
| 282 |
+
content = file.read()
|
| 283 |
+
|
| 284 |
+
# Find all text between 'yaml' and '```'
|
| 285 |
+
matches = re.findall(r'yaml(.*?)```', content, re.DOTALL)
|
| 286 |
+
|
| 287 |
+
# Open the file 'configurations2.txt' in write mode
|
| 288 |
+
with open('configurations2.txt', 'w') as file:
|
| 289 |
+
# Write the matches to the file
|
| 290 |
+
for row, match in zip(df_sorted[['Model', 'Average', 'AGIEval', 'GPT4All', 'TruthfulQA', 'Bigbench']].head(20).values, matches):
|
| 291 |
+
file.write(f'Model Name: {row[0]}\n')
|
| 292 |
+
file.write(f'Scores: {row[1]}\n')
|
| 293 |
+
file.write(f'AGIEval: {row[2]}\n')
|
| 294 |
+
file.write(f'GPT4All: {row[3]}\n')
|
| 295 |
+
file.write(f'TruthfulQA: {row[4]}\n')
|
| 296 |
+
file.write(f'Bigbench: {row[5]}\n')
|
| 297 |
+
file.write('yaml' + match + '```\n')
|
| 298 |
+
# Provide a link to download the generated file
|
| 299 |
+
st.markdown('[Download configurations](file:configurations2.txt)')
|
| 300 |
+
|
| 301 |
+
|
| 302 |
+
|
| 303 |
+
|
| 304 |
# Full-width plot for the first category
|
| 305 |
create_bar_chart(df, score_columns[0])
|
| 306 |
|