Spaces:
Running
Running
import pandas as pd | |
import json | |
def open_json(filename): | |
with open(filename, 'r') as file: | |
data = [] | |
for line in file: | |
try: | |
data.append(json.loads(line)) | |
except json.JSONDecodeError as e: | |
print(f"Error parsing line: {line}") | |
print(f"Error message: {e}") | |
return data | |
def format_questions(question): | |
questions = """<div style="text-align: left; width: 500px;">\n""" | |
for i, q in enumerate(question): | |
questions += f"<p style='margin: 10px 0;'><b>Turn {i + 1} Question:</b> <br>\n {q[0]['content']}<br>\n" | |
return questions | |
def format_solutions(solution): | |
solutions = """<div style="text-align: left;">""" | |
for i, s in enumerate(solution): | |
solutions += f"<b>Turn {i+1} Response</b> \n\n ```python\n" | |
for c in s: | |
solutions += c + "\n" | |
solutions += "\n```\n\n" | |
return solutions | |
def process(df, questions, solutions): | |
df['involved_classes'] = [questions[int(df['id'][i].split("_")[-1])]['involved_classes'] for i in df.index] | |
df['question'] = [questions[int(df['id'][i].split("_")[-1])]['question'] for i in df.index] | |
df['ground_truth'] = [solutions[int(df['id'][i].split("_")[-1])]['ground_truth'] for i in df.index] | |
df['question'] = df['question'].apply(format_questions) | |
df['ground_truth'] = df['ground_truth'].apply(format_solutions) | |
return df | |
api_info = pd.read_csv("api_info.csv") | |
questions = open_json('BFCL_v3_multi_turn_base.json') | |
solutions = open_json('BFCL_v3_multi_turn_base_sol.json') | |
api_samples = pd.read_csv('samples_qa.csv') | |
api_samples = process(api_samples, questions, solutions) | |