Spaces:
Runtime error
Runtime error
| import json | |
| from LLM import zero_shot | |
| # 读取JSON文件 | |
| model_results_paths = [ | |
| # 'F:/GeoLLM/output/output_result/Task2/cot/cot/deepseek-ai/DeepSeek-R1_f_001.json', | |
| # 'F:/GeoLLM/output/output_result/Task2/cot/cot/gpt-3.5-turbo_f.json', | |
| # 'F:/GeoLLM/output/output_result/Task2/cot/cot/gpt-4o_f.json', | |
| # 'F:/GeoLLM/output/output_result/Task2/cot/cot/gemini-1.5-pro-002_f.json', | |
| # 'F:/GeoLLM/output/output_result/Task2/cot/cot/claude-3-5-haiku-20241022_f.json', | |
| # 'F:/GeoLLM/output/output_result/Task2/cot/cot/deepseek-ai/DeepSeek-V3_f.json', | |
| # 'F:/GeoLLM/output/output_result/Task2/cot/cot/deepseek-ai/DeepSeek-R1_f.json', | |
| 'F:/GeoLLM/output/output_result/Task2/cot/cot/meta-llama/Meta-Llama-3.1-405B-Instruct_f.json', | |
| 'F:/GeoLLM/output/output_result/Task2/cot/cot/Qwen/Qwen2.5-72B-Instruct_f.json', | |
| ] | |
| model_series = 'gpt' | |
| model_name = 'gpt-4o-mini-2024-07-18' | |
| prompt = ''' | |
| 请从以下句子中提取出用于回答问题的主要事实性信息,答案应为实体短语,不要包含额外说明或前缀语句。 | |
| 问题:{question} | |
| 回答:{answer} | |
| 请仅提取出核心答案: | |
| ''' | |
| # 使用gpt-4o-mini-2024-07-18作为推理模型,提取出cot的回答的核心短语/实体,替换原回答,另存为新文件 | |
| for i in range(len(model_results_paths)): | |
| with open(model_results_paths[i], 'r', encoding='utf-8') as f: | |
| data = json.load(f) | |
| # 从model_results_paths中提取出json文件名称,并去掉_f.json | |
| file_name = model_results_paths[i].split('/')[-1].split('_')[0] | |
| print(file_name) | |
| # 创建一个新的列表来存储处理后的数据 | |
| new_data = [] | |
| for j in range(len(data)): | |
| question = data[j]['question'] | |
| answer = data[j]['answer'] | |
| prompt = f"请从以下句子中提取出用于回答问题的主要事实性信息,答案应为实体短语,不要包含额外说明或前缀语句。\n问题:{question}\n回答:{answer}\n请仅提取出核心答案:" | |
| # print(prompt) | |
| response = zero_shot(model_series, model_name, prompt + '\n' + '不要包含任何其他无关解释和无意义回复') | |
| # print(response) | |
| # 提取 ChatCompletionMessage 对象中的内容 | |
| core_answer = response.content if hasattr(response, 'content') else response | |
| # 将处理后的数据添加到新列表中 | |
| new_data.append({ | |
| "question": question, | |
| "answer": core_answer | |
| }) | |
| # 将新数据保存到一个新的JSON文件中 | |
| new_file_path = 'F:/GeoLLM/output/output_result/Task2/cot/cot_new/'+file_name+'_f_processed.json' | |
| with open(new_file_path, 'w', encoding='utf-8') as f: | |
| json.dump(new_data, f, ensure_ascii=False, indent=4) | |