minimind-v/trans_json.py

38 lines
989 B
Python

import json
# 加载现有JSON数据
with open('full.json', 'r') as f:
data = json.load(f)
# 创建新的格式
new_data = []
for item in data['data']:
sample_id = str(item['sample_id']).zfill(12) # 格式化为12位数字
source_image = f"<image>" # 源图像占位符
target_image = f"<image>" # 目标图像占位符
instruction = data['metadata']['task_instruction'][item['task_instruction_id']]
# 构造新的对话格式
conversation = [
{
"from": "human",
"value": f"<image>\n<image>\n{instruction}"
},
{
"from": "gpt",
"value": item['response']
}
]
# 添加到新数据中
new_data.append({
"id": sample_id,
"image": ', '.join(item['task_instance']['images_path']),
"conversations": conversation
})
# 保存为新的JSON格式
with open('output.json', 'w') as f:
json.dump(new_data, f, ensure_ascii=False, indent=2)