综合介绍
GraphAgent 是一个开源框架,托管在 GitHub 上,由 Ji-Cather 开发。它利用大语言模型(LLM)模拟人类行为,生成动态的、带文本属性的社交图。这个工具适用于在线社交媒体、电商和论文创作等场景,帮助用户深入分析网络中的互动关系。它不仅能生成符合真实世界特征的图结构,还能通过对比真实图验证模拟的准确性。GraphAgent 的代码免费开放,用户可以下载、修改并用于社会学、网络科学等研究。
功能列表
- 人类行为模拟:通过大模型模拟真实的人类互动,生成社交关系图。
- 动态社交图生成:根据输入数据或用户提示,创建带文本属性的动态图。
- 图结构验证:对比生成的图与真实图,评估宏观和微观特征的准确性。
- 大规模图扩展:支持生成包含10万节点或1000万边的超大图。
- 开源调整:提供完整代码,用户可根据需求定制功能。
使用帮助
GraphAgent 是基于 GitHub 的开源工具,需要一定的技术基础来安装和使用。以下是详细的安装与操作指南,确保你能快速上手。
安装流程
- 准备环境
- 安装 Python 3.9(推荐版本)。在终端输入
python --version
检查版本。 - 安装 Git。Windows 用户从官网下载,Mac 用户用
brew install git
。 - 创建虚拟环境:在终端输入
conda create --name LLMGraph python=3.9
,然后激活conda activate LLMGraph
。
- 安装 Python 3.9(推荐版本)。在终端输入
- 下载 GraphAgent
- 在终端输入:
git clone https://github.com/Ji-Cather/GraphAgent.git
。 - 进入项目目录:
cd GraphAgent
。
- 在终端输入:
- 安装依赖
- 安装 AgentScope 库:
- 输入
git clone https://github.com/modelscope/agentscope/
。 - 进入目录
cd agentscope
,然后运行git reset --hard 1c993f9
锁定版本。 - 安装:
pip install -e .[distribute]
。
- 输入
- 安装项目依赖:在 GraphAgent 目录下运行
pip install -r requirements.txt
。
- 安装 AgentScope 库:
- 配置 API 密钥
- 打开
LLMGraph/llms/default_model_configs.json
文件。 - 添加你的模型 API 密钥,例如 OpenAI 的
gpt-3.5-turbo-0125
或 VLLM 的llama3-70B
。 - 示例配置:
{ "model_type": "openai_chat", "config_name": "gpt-3.5-turbo-0125", "model_name": "gpt-3.5-turbo-0125", "api_key": "sk-你的密钥", "generate_args": {"max_tokens": 2000, "temperature": 0.8} }
- 保存文件后,确保密钥有效。
- 打开
- 运行项目
- 在终端输入
export PYTHONPATH=./
设置环境变量。 - 选择模型提示模板,例如
export MODEL=gpt
(用 GPT 模板)。
- 在终端输入
数据准备
- 下载示例数据:
- 输入
git clone https://oauth2:RxG7vLWFP_NbDhmB9kXG@www.modelscope.cn/datasets/cather111/GAG_data.git
。 - 数据包括推文、电影评分和论文引用等样本。
- 输入
主要功能操作
1. 人类行为模拟与社交图生成
- 从数据生成图:
- 推文网络:
python main.py --task tweets --config "small" --build --launcher_save_path "LLMGraph/llms/launcher_info_none.json"
。 - 电影评分网络:
python main.py --task movielens --config "small" --build --launcher_save_path "LLMGraph/llms/launcher_info_none.json"
。 - 论文引用网络:
python main.py --task citeseer --config "small" --build --launcher_save_path "LLMGraph/llms/launcher_info_none.json"
。
- 推文网络:
- 从用户输入生成图:
- 示例:
python main.py --user_input "我想模拟作者与论文的互动,生成高聚类度的引用网络" --build
。
- 示例:
- 输出结果:生成的文件在指定路径下,可用可视化工具(如 Gephi)查看。
2. 并行加速运行
- 启动并行服务:在一个终端运行
python start_launchers.py --launcher_save_path "LLMGraph/llms/launcher_info.json"
。 - 执行任务:在另一个终端运行
python main.py --task tweets --config "small" --build --launcher_save_path "LLMGraph/llms/launcher_info.json"
。 - 优势:速度提升90.4%,适合大规模图生成。
3. 图结构验证
- 运行评估脚本:
- 社交网络:
python evaluate/social/main.py
。 - 电影网络:
python evaluate/movie/main.py
。 - 引用网络:
python evaluate/article/main.py
。
- 社交网络:
- 结果分析:生成报告显示图的宏观特征(如幂律分布)和微观结构(提升11%)。
操作技巧
- 调试模式:用单端口运行(如
--launcher_save_path "LLMGraph/llms/launcher_info_none.json"
),方便排查问题。 - 自定义功能:修改
main.py
或配置文件,调整模型参数或图生成规则。 - 查看帮助:运行
python main.py --help
获取命令详情。
注意事项
- 确保 API 密钥有效,否则程序无法调用大模型。
- 大规模图生成需要高性能电脑,建议至少 16GB 内存。
- 项目持续更新,定期检查 GitHub 获取最新版本。
应用场景
- 社交媒体分析
模拟用户互动,生成关注网络,帮助研究影响力传播。 - 电商推荐研究
通过用户与商品的互动图,优化推荐系统设计。 - 学术引用网络
生成论文引用图,分析研究趋势和学者关系。 - 社会学实验
用模拟数据研究人类行为模式,探索网络演化规律。
QA
- GraphAgent 能生成多大的图?
支持10万节点或1000万边的大规模图,速度快且可并行加速。 - 需要付费吗?
框架免费,但调用大模型可能需要 API 费用(如 OpenAI)。 - 中文数据可以用吗?
可以,只要是文本格式,中文和英文都支持。 - 运行出错怎么办?
检查 Python 版本、依赖安装和 API 配置,或在 GitHub Issues 求助。