GraphGen

用知识图谱自动造微调数据,省人工标注

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 数据集 🍴 复刻 100 🐛 待处理 14 👀 关注 11
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1238
维护状态 维护中
是否开源 开源
定价模式 🏷️完全免费 开源项目,免费使用

项目预览

GraphGen 项目界面预览图
图片来源:项目官网

项目数据

分类数据集
开发团队InternScience
定价模式🏷️完全免费
价格说明开源项目,免费使用
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型ai4science,data-generation,data-synthesis,graphgen,knowledge-graph,llama-factory,llm,llm-training,pretrain,pretraining,qa,question-answering,qwen,sft,sft-data,xtuner
GitHub 星标★ 1238
上线时间2025-01-08 00:00:00
代码更新2026-08-17
仓库体积16.5 MB
本站数据更新2026-11-03
维护状态维护中
收录时间2026-09-12
浏览次数1

项目介绍

GraphGen 是一个面向大语言模型监督微调的数据合成框架,核心思路是用知识图谱驱动合成数据生成。它从给定知识源(如文档、知识库)中抽取实体与关系,构建知识图谱,再沿着图谱中的路径和子图采样,自动生成问答对、指令跟随样本等训练数据。相比随机采样或纯提示词生成,GraphGen 让合成数据在事实覆盖和逻辑关联上更完整,减少重复和幻觉,适合需要领域知识注入的微调场景。项目提供从知识抽取、图谱构建、数据生成到质量过滤的流水线,并可对接 LLaMA-Factory 等训练框架,直接产出可用于 SFT 的数据集。整体定位是让没有大量人工标注的团队,也能低成本构造高质量领域训练数据。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-12 · 当前星标 ★ 1238

使用教程

难度:进阶 约 15 分钟 部署方式:命令行工具 8 步

环境要求

  • Python 环境(README 未指定具体版本)
  • uv 包管理工具,用于 uv pip install graphg
  • 可访问的 LLM 服务及 API Key(synthesizer 与 trainee 各一套)
  • 源码运行需可执行 bash 脚本的类 Unix 环境
  • 可选:Docker,用于容器方式部署

安装与启动步骤

  1. 1安装 GraphGen

    通过 PyPI 安装官方发布的 graphg 包,安装后即可使用 graphg 命令行。

    uv pip install graphg
  2. 2复制环境变量模板

    从源码运行时,在项目根目录生成 .env 文件,后续所有模型配置都写在这里。

    cp .env.example .env
  3. 3填写 .env 配置

    按所选后端填写 synthesizer(建图与造数据)和 trainee(训练用)模型、地址与密钥。

  4. 4调整生成参数

    可选。在 examples 下的 YAML 中改 working_dir、graph_backend、kv_backend 和输入文件路径。

  5. 5运行生成脚本

    按需要的格式选择对应脚本,例如 cot 生成思维链问答对,其余格式见 README 表格。

    bash examples/generate/generate_cot_qa/generate_cot.sh
  6. 6查看生成结果

    生成的问答数据默认写入 cache/output 目录,用 ls 确认文件已产出。

    ls cache/output
  7. 7CLI 直接运行

    不克隆源码时,可用环境变量加 graphg 命令直接跑,输出目录由 --output_dir 指定。

    SYNTHESIZER_MODEL=your_synthesizer_model_name \
    SYNTHESIZER_BASE_URL=your_base_url_for_synthesizer_model \
    SYNTHESIZER_API_KEY=your_api_key_for_synthesizer_model \
    TRAINEE_MODEL=your_trainee_model_name \
    TRAINEE_BASE_URL=your_base_url_for_trainee_model \
    TRAINEE_API_KEY=your_api_key_for_trainee_model \
    graphg --output_dir cache
  8. 8Docker 方式运行

    先构建镜像,再以 7860 端口启动容器,浏览器访问该端口使用界面。

    docker build -t graphgen .
    docker run -p 7860:7860 graphgen

关键配置

配置项必填说明示例
SYNTHESIZER_BACKEND是合成模型后端,用于构建知识图谱与生成数据openai_api
SYNTHESIZER_MODEL是合成模型名称,Azure 时填部署名gpt-4o-mini
SYNTHESIZER_BASE_URL是合成模型的接口地址https://api.openai.com/v1
SYNTHESIZER_API_KEY是合成模型的调用密钥sk-xxxxxxxx
TRAINEE_BACKEND是训练侧模型后端openai_api
TRAINEE_MODEL是训练侧模型名称gpt-4o-mini

如何确认成功

执行 ls cache/output 能看到生成的问答数据文件;Docker 方式可打开 http://localhost:7860 界面。

常见问题

Q:支持哪些模型后端?

A:SYNTHESIZER_BACKEND 支持 http_api、openai_api、ollama_api、ollama、huggingface、tgi、sglang、tensorrt;README 示例还给出 azure_openai_api 与 vllm 配置。

Q:为什么 ollama_api 不能配 trainee?

A:README 明确说明 ollama_api 不支持 logprobs,因此 TRAINEE 暂不支持该后端,需换成其他后端。

Q:有现成的在线体验吗?

A:可以,README 提供 Huggingface Space 与 Modelscope Studio 两个在线 Demo,无需本地部署即可试用。

Q:生成不同题型要改什么?

A:不用改代码,按 README 表格换成对应脚本即可,例如 atomic、multi-hop、vqa、multi_choice、fill_in_blank 等。

Q:输出数据在哪里?

A:默认写在 cache/output,可在 config.yaml 的 working_dir 或 CLI 的 --output_dir 中修改。

注意事项

  • 除已列配置外,.env 还需填写 TRAINEE_BASE_URL、TRAINEE_API_KEY 以及 TOKENIZER_MODEL。
  • 从源码运行时才需要 cp .env.example .env;PyPI 的 graphg CLI 直接通过命令行环境变量传参。
  • README 未给出 Python 版本要求和 git clone 命令,请自行准备源码目录。
  • 生成的数据可对接 LLaMA-Factory 等框架直接用于监督微调。

核心亮点

  • 以知识图谱为骨架采样生成数据,事实覆盖更全、重复更少
  • 打通从知识抽取到 SFT 数据集输出的完整流水线,可直接对接 LLaMA-Factory
  • 支持领域知识注入,适合垂直行业低成本构造训练数据

不足之处

  • 依赖知识抽取和图谱构建质量,上游噪声会传导到合成数据
  • 项目较新,文档与社区生态仍在完善中

适用场景

  • 为垂直领域模型构造监督微调数据集
  • 在缺少人工标注时快速扩充指令跟随训练样本
  • 基于企业知识库生成问答对用于模型知识注入

替代项目

Easy Dataset、Distilabel、Self-Instruct

上一篇:sdg_hub

下一篇:RSIBench-Data

同类项目推荐

Awesome-Data-Efficient-LLM 开源

一份论文清单,帮你快速掌握LLM数据高效利用的核心方法

A list of data-efficient and data-centric LLM (Large Language Model) papers. Our Sur···

★ 64 2026-08-09
datasets 开源

一条命令批量下载 NCBI 基因组数据,省去手动检索。

NCBI Datasets is a new resource that lets you easily gather data from across NCBI da···

★ 564 2026-09-21
vietnamese-provinces-database 开源

一键获取越南省县乡数据,快速构建本地化地图应用。

Comprehensive SQL and GIS datasets for Vietnamese administrative units, including pr···

★ 1852 2026-08-10
StarryDivineSky 开源

一个仓库逛遍 10K+ 精选开源项目,快速找到你要的轮子。

精选了10K+项目,包括机器学习、深度学习、NLP、GNN、推荐系统、生物医药、机器视觉、前后···

★ 951 2026-08-09
datasets 开源

100+免费数据集一站索引,找数据不再到处翻

A compilation of 125+ free datasets for use in social science, applied microeconomic···

★ 489 2026-10-19
mirdata 开源

统一加载校验MIR数据集,省去重复解析代码

Python library for working with Music Information Retrieval datasets

★ 419 2026-10-22
HumanArt 开源

一个数据集,让AI看懂真实与虚构世界的各种人类姿态

[CVPR 2023] The official implementation of CVPR 2023 paper "Human-Art: A Versatile H···

★ 295 2026-08-09
Shot2Story 开源

多镜头视频理解基准,让AI看懂镜头叙事

A new multi-shot video understanding benchmark Shot2Story with comprehensive video s···

★ 181 2026-08-09