import json from evaluation.hardConstriant import get_total_cost from tqdm import tqdm import math def load_line_json_data(filename): data = [] with open(filename, 'r', encoding='utf-8') as f: for line in f.read().strip().split('\n'): unit = json.loads(line) data.append(unit) return data def round_up_to_nearest_hundred(number): return math.ceil(number / 100) * 100 if __name__ == '__main__': query = load_line_json_data('/home/xj/toolAugEnv/code/toolConstraint/data/query/all_reset_budget.jsonl') rewritten_query = open('/home/xj/toolAugEnv/code/toolConstraint/data/api_request/query_rewritten_reset_budget_gpt4.txt').readlines() assert len(rewritten_query) == len(query) for idx in tqdm(range(len(query))): # tested_data = json.load(open(f'/home/xj/toolAugEnv/code/toolConstraint/data/annotation/all/annotation_{idx+1}.json')) # query[idx]['reset_budget'] = round_up_to_nearest_hundred(get_total_cost(query[idx], tested_data)) # print(query[idx]) # break query[idx]['query'] = "".join(x for x in rewritten_query[idx].strip().split('\t')[1:]) query[idx]['budget'] = query[idx]['reset_budget'] query[idx].pop('reset_budget') with open('/home/xj/toolAugEnv/code/toolConstraint/data/query/all.jsonl', 'w') as f: for query_unit in query: # print(query) json.dump(query_unit, f) f.write('\n') f.close()