进阶岛02- GraphGen
2025年7月20日大约 2 分钟
进阶岛
L2G2-GraphGen
1 安装和运行GraphGen
conda create -n graphgen python=3.10 -y
conda activate graphgen
git clone https://github.com/open-sciencelab/GraphGen.git
cd GraphGen
pip install -r requirements.txt
运行GraphGen
python webui/app.py
ssh -p 43979 root@ssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
http://localhost:7860/
2 使用vllm部署Synthesizer Model和Trainee Model
GraphGen 里的这两个模型就像一对配合干活的搭档,一个负责 “出题”,一个负责 “找弱点”。
- Synthesizer Model(合成模型) 就像个出题高手。
你给它一段文字(比如一篇医学文章、法律条文),它先把里面的关键信息挑出来 —— 谁和谁有关系、讲了什么核心内容,然后把这些信息整理成一张 “知识地图”(知识图谱)。
接着,它就根据这张地图,琢磨出各种各样的问题和答案。比如从 “地图” 里看到 “高血压可能导致中风”,它可能会生成 “什么疾病可能引发中风?”“高血压会导致哪些健康问题?” 之类的问答,而且还能模仿不同的说话风格,让题目更丰富。 - Trainee Model(学生模型) 就像个会自查的学生。
它会先试试自己对这些知识掌握得怎么样,比如看到一个说法,它得判断对不对,并且给自己打分。如果它经常在某个知识点上犯错(比如总搞不清 “高血压和中风的关系”),那就说明这是它的 “知识盲点”。
然后,它会把这些盲点告诉合成模型:“我这块不行,多给我出点这方面的题!” 这样合成模型就会重点针对这些弱点出题,帮它补短板。
简单说,一个专门按知识重点出好题,一个专门找出自己哪里不会,然后一起配合,让生成的题目更能帮到模型提升能力。
conda create -n vllm python=3.12 -y
conda activate vllm
pip install vllm==0.8.5.post1
vllm serve internlm/internlm3-8b-instruct
代码执行出错时用下面的启动命令
vllm serve /root/share/new_models/internlm3/internlm3-8b-instruct --trust-remote-code
cp .env.example .env
- 填入环境变量
SYNTHESIZER_MODEL=your-path/internlm3-8b-instruct
SYNTHESIZER_BASE_URL=http://0.0.0.0:8000/v1
SYNTHESIZER_API_KEY=
TRAINEE_MODEL=your-path/internlm3-8b-instruct
TRAINEE_BASE_URL=http://0.0.0.0:8000/v1
TRAINEE_API_KEY=
- 检查/修改配置文件
configs/graphgen_config.yaml
data_type: raw
input_file: resources/examples/raw_demo.jsonl
tokenizer: cl100k_base
quiz_samples: 2
traverse_strategy:
qa_form: aggregated
bidirectional: true
edge_sampling: max_loss
expand_method: max_width
isolated_node_strategy: ignore
max_depth: 1
max_extra_edges: 2
max_tokens: 256
loss_strategy: only_edge
web_search: false
re_judge: true
运行:
bash scripts/generate.sh
查看:
ls cache/data/graphgen