GeoGPT4V 几何多模态数据集生成工具新手如何跑通完整流程【免费下载链接】GeoGPT4V项目地址: https://gitcode.com/gh_mirrors/ge/GeoGPT4VGeoGPT4V 是一个面向几何数学题的多模态数据集生成工具。它把已有的几何题库如 Geometry3K、GeoQA喂给 GPT-4V自动改写题目、用 Mathematica 代码重新画出配图、再打分筛选最终产出可直接训练 LLaVA 等视觉大模型的训练数据。想自己造一批题图一致的几何训练样本这篇入门教程带你从零跑通。快速开始搭好环境按顺序执行 4 个脚本⚠️ 先说两个前提你需要一个 OpenAI API Key流程中要调 GPT-4V以及安装 Wolfram Mathematica 引擎第二部要靠它执行绘图代码。第一步克隆仓库并装依赖git clone https://gitcode.com/gh_mirrors/ge/GeoGPT4V conda create -n geogpt4v python3.10 -y conda activate geogpt4v pip install -r requirements.txt第二步准备数据。把题目整理成 jsonline 文件每行一条。选择题长这样{id: 1, question: For the pair of similar figures, find the area of the green figure., choices: [20.4, 28.6, 56.0, 78.4], answer: D, image: image path}开放题则没有choices字段answer直接写答案全文。第三步把每个脚本里的API_KEY、QUESTION_FILE、OUTPUT_FILE等变量填好然后按顺序跑sh scripts/gen_instruction_gpt4v_mp.sh sh scripts/gen_image_mp.sh sh scripts/rerank_gp4v_mp.sh sh scripts/filter.sh看到 tqdm 进度条走完、OUTPUT_FILE里逐行出现带new_question的新记录就说明第一步成功IMAGE_DIR下出现一批.png说明绘图成功。最后filter.sh会打印输入输出条数输出条数少于输入是正常现象——被打分淘汰了。顺带提醒一个坑脚本里写的路径是./pipline/...少了个字母实际目录叫pipeline/。如果报文件不存在把它改成./pipeline/...再跑。看懂项目布局4 组文件各管什么GeoGPT4V/ ├── README.md # 使用文档 ├── requirements.txt # Python 依赖 ├── scripts/ # 5 个 shell 入口脚本 ├── pipeline/ # 四步流水线核心代码 ├── constant/ # 各步骤的 system prompt └── utils/ # API 封装、Mathematica 执行、格式转换分组包含内容什么时候会碰到它入口与流程 scripts/、pipeline/4 个.sh脚本分别对应 4 个.py流水线每次启动、改参数都从这里进提示词 constant/gen_instruction_prompt.py、gen_image_prompt.py、rerank_prompt.py想换出题风格、改打分标准时工具层 utils/gpt_api.py调 GPT-4/4V、run_mathematica_code.py执行 .wls 画图、convert_format.py转训练格式排查 API 报错、改模型输出格式时文档与依赖 README.md、requirements.txt官方说明、依赖清单上手前看一遍即可整个项目没有配置文件目录所有配置都写在各个 shell 脚本顶部的变量里。启动流程拆解一条题目数据如何变成训练样本改写指令scripts/gen_instruction_gpt4v_mp.py对应的 pipeline/gen_instruction_mp.py读出 jsonline把原图 base64 后连同题目一起发给 GPT-4V让它改写出一道新题并输出图像描述。核心就这两行prompt fQustion:{question} Choices:{choice_str}\nAnswer:{answer} response gpt4v_api((gpt4v_system_prompt, user_prompt, image_path, ...))第一行拼用户提示词第二行把系统提示词和原图打包发往 API。返回后拆成 QA 对追加写回输出文件mp_num个进程并行跑。生成配图pipeline/gen_image_mp.py把新题、答案、图像描述发给 GPT-4让它写 Mathematica 绘图代码然后真正执行这段代码出图code_path os.path.join(args.code_dir, f{new_id}.wls) image_path os.path.join(args.image_dir, f{new_id}.png) is_success run_code(code, code_path, image_path)代码先存成.wls文件run_code负责修正导出路径后调用 Wolfram 引擎执行.png生成了才算成功。重排打分pipeline/rerank_mp.py把图像描述和生成图一起交给 GPT-4V让它打一致性分同一道题取分最高的那条保留并把分数写进score字段。阈值过滤pipeline/filter.py最薄的一步只留score threshold的样本写出最终数据集。之后跑scripts/convert_format.sh即可把数据转成 LLaVA、ShareGPT4V 或 InternVL-Chat 的训练格式。改这 6 个配置项就能换数据源、调并发和筛选力度你的需求改哪里默认值建议换公开数据集各脚本里的DATASETgeo3k可选geoqa、unigeo_proving用自己的题目jsonline 数据 pipeline/gen_instruction_mp.py 的construct_prompt函数—字段名对不上就改这里加速MP_NUM2~4调大并发注意 API 限流多备几张候选图gen_image_mp.sh的GEN_NUM3越大越费 API 额度收紧质量门槛filter.sh的THRESHOLD0.9数据少就降到 0.8 试试换训练模型convert_format.sh的MODEL—填llava、sharegpt4v或internvl_chat写在最后跑完这四步你就拥有了一份题目与配图严格一致的几何多模态训练数据剩下的交给 LLaVA 等模型的官方训练代码即可。细节和可直接下载的数据集、微调模型都记录在 README.md 里所有源码就藏在 pipeline/ 和 utils/ 两个目录改起来并不神秘。【免费下载链接】GeoGPT4V项目地址: https://gitcode.com/gh_mirrors/ge/GeoGPT4V创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考