Add LICENSE
English | 简体中文
易图(YiGraph)是一套端到端的图数据分析智能体系统,用于帮助用户从复杂数据中快速洞察关键关联关系。
易图能够从日志、文档、表格等多类原始数据中,自动抽取实体与关系,构建结构化的图数据;用户只需通过自然语言描述业务问题,系统即可自动规划分析流程,完成计算,并生成清晰、可解释、可追溯的分析报告。
在系统内部,大语言模型负责理解用户意图、拆解分析任务并组织最终输出;而支撑分析结果可靠性的核心技术是 AAG(Analytics-Augmented Generation,分析增强生成)框架。AAG 将分析计算作为核心能力,在关键环节调用图算法与图系统完成可验证的计算,再由模型对结果进行解释与汇总。
因此,易图并非只”回答问题”的对话式 AI,而是一套能够将业务问题转化为可执行、可复核分析流程的图分析智能体。
易图可灵活适配不同行业与业务需求,覆盖多类复杂关联数据分析场景,包括但不限于:
系统会先理解用户问题”想解决什么”,再把它拆成可执行的分析步骤:
你不需要懂图算法,系统会把”我要查什么”转成”怎么做分析”。
易图不会让模型随意”写一段不可控的代码再去跑”。相反,它会以”可验证的算法模块”为中心进行调用与组合,让每一步分析:
易图不会把所有原始数据不加区分地建成一张大图。它会根据当前任务需要,选择性抽取与构建”与问题相关的实体与关系”,避免无关结构干扰分析,并把图组织成更适合执行的形式,从而提升效率与结果质量。
内置 200+ 种图算法,覆盖 21 大类别,为各类图分析场景提供专业算法支持;下表仅列举其中的部分代表性类别,完整列表请参见在线文档。
详细的算法说明和使用指南请参考 📚 在线文档
支持多种数据源输入:
系统会自动从原始数据中抽取实体与关系,构建结构化的图数据。
核心能力
v2.0.0(计划中)
请确认当前 Python 版本满足要求:
python --version # 或 python3 --version
conda create -n AAG python=3.11 conda activate AAG
易图需要使用 Neo4j 作为图数据库。本指南使用 Neo4j 3.5.25 版本。
Neo4j 3.5.25 需要 Java 8 或 Java 11。请先检查 Java 版本:
java -version
如果未安装 Java,请先安装对应版本。
.tar.gz
.zip
Linux/Mac 系统(.tar.gz 格式):
tar -xzf neo4j-community-3.5.25-unix.tar.gz cd neo4j-community-3.5.25
Windows 系统(.zip 格式):
unzip neo4j-community-3.5.25-windows.zip
进入 conf 目录,编辑 neo4j.conf 配置文件:
conf
neo4j.conf
cd conf
在 neo4j.conf 中添加或修改以下配置:
dbms.connectors.default_listen_address=0.0.0.0 dbms.connectors.default_advertised_address=localhost dbms.connector.bolt.listen_address=0.0.0.0:7687 dbms.connector.http.listen_address=0.0.0.0:7474 dbms.connector.https.enabled=true
进入 bin 目录,执行启动或停止命令:
bin
启动 Neo4j:
cd bin ./neo4j start
停止 Neo4j:
./neo4j stop
启动 Neo4j 后,可以通过浏览器访问 http://localhost:7474 来验证安装是否成功。
http://localhost:7474
git clone https://github.com/iDC-NEU/YiGraph.git cd YiGraph
pip install -r requirements.txt
编辑配置文件:
config/engine_config.yaml
示例配置如下:
# 运行模式: interactive / batch mode: interactive # 推理模块配置 reasoner: llm: provider: "openai" # 可选:ollama / openai openai: base_url: "https://your-api-endpoint/v1/" api_key: "your-api-key" model: "gpt-4o-mini" # 检索模块配置 retrieval: database: graph: space_name: "AMLSim1K" server_ip: "127.0.0.1" server_port: "9669" vector: collection_name: "graphllm_collection" host: "localhost" port: 19530 embedding: model_name: "BAAI/bge-large-en-v1.5" device: "cuda:2" rag: graph: k_hop: 2 vector: k_similarity: 5
config/data_upload_config.yaml
datasets: - name: AMLSim1K type: graph schema: vertex: - type: account path: "/path/to/accounts.csv" format: csv id_field: acct_id edge: - type: transfer path: "/path/to/transactions.csv" format: csv source_field: orig_acct target_field: bene_acct
请将 path 修改为你本地真实的数据文件路径。
path
重要提示: 在启动易图之前,请确保 Neo4j 数据库已经启动并正常运行。如果 Neo4j 未启动,易图将无法连接到图数据库。请参考 1.3.4 启动与停止 Neo4j 部分启动 Neo4j。
易图支持以下两种运行模式:
Web 交互模式(推荐) 通过浏览器进行交互式分析,适合日常使用、演示与业务分析场景。
终端交互模式(Terminal) 通过命令行进行交互,适合开发调试、快速验证与批量测试场景。
在项目根目录下执行以下命令启动 Web 服务:
python web/frontend/run.py
启动成功后,终端会输出可访问的服务地址。请根据提示在浏览器中打开对应地址,即可进入易图的 Web 界面。
在 Web 界面中,用户可以通过自然语言输入业务问题,系统将自动完成分析流程,并展示分析结果与报告。
使用易图 Web 界面进行分析的基本步骤如下:
开始对话:开启一个新对话或者从历史记录中选择一个现有对话。
选择模式:选择最适合您的模式。
选择数据集:会将您上传好的数据集列举出来。例如:DocumentDemo。
输入您的请求:在输入框中输入您的指令或问题。请尽可能清晰和具体。
提交:点击发送按钮。
监控进度:在主聊天区观察状态更新(运行中、规划中、分析中等)。
查看结果:处理完成后,结果将显示在主聊天区。然后您可以提出后续问题或开始新的请求。
在 Web 界面中,您可以方便地管理数据集:
创建数据集:点击”创建”按钮。
填写数据集信息:
上传数据文件:根据选择的文件类型上传相应的数据文件。
保存数据集:完成配置后保存,数据集将在对话中可供选择使用。
在文件管理界面中,您可以对数据集中的文件进行管理和可视化:
选择数据集:从下拉列表中选择对应的数据集。
上传文件:向选定的数据集中上传文件。
查看解析进度:系统会显示文件的解析进度,实时反馈处理状态。
可视化知识图谱:文件解析完成后,点击”可视化”按钮,即可查看该数据集对应的知识图谱可视化展示。
如果希望直接通过命令行与易图进行交互,可在项目根目录下执行:
python aag/main.py
启动后,系统将进入终端交互模式。用户可按照终端提示输入问题,易图将在命令行中完成分析并输出结果。
使用终端交互模式的基本步骤:
查看可用数据集:通过指令查看系统中有哪些可用的数据集。
选择数据集:根据提示选择要使用的数据集。
输入问题:直接在终端中输入您的业务问题或分析需求。
查看结果:系统会在终端中实时显示分析过程和最终结果。
该模式主要用于开发调试、算法验证或快速测试场景。
无论采用 Web 模式还是终端模式,易图的基本使用流程一致:
更多高级功能、参数说明与使用示例,请参考项目的 README 文档或界面中的操作提示。
embedding.device
访问完整的用户手册和开发者指南:
http://iDC-NEU.github.io/YiGraphDocs/
文档内容包括:
我们欢迎各种形式的贡献:
如果您在研究中使用了易图(YiGraph)或 AAG 框架,请引用我们的论文:
@article{YiGraph2026, title={Towards Autonomous Graph Data Analytics with Analytics-Augmented Generation}, author={Qiange Wang, Chaoyi Chen, Jingqi Gao, Zihan Wang, Yanfeng Zhang, Ge Yu}, journal={arXiv preprint arXiv:2602.21604}, year={2026} }
本项目受益于以下开源项目:
感谢所有贡献者的辛勤付出!
本项目采用 MIT License 开源协议。
让图数据分析更简单、更智能
YiGraph is an LLM-driven agent for autonomous Graph Data Analytics based on Analytics-Augmented Generation. 易图(YiGraph)是一套基于 AAG(分析增强生成)框架构建的图分析智能体系统,致力于挖掘数据之间的关联关系,释放数据价值。
易图(YiGraph)
基于 AAG 框架的端到端
图数据分析智能体系统
English | 简体中文
📖 项目介绍
易图(YiGraph)是一套端到端的图数据分析智能体系统,用于帮助用户从复杂数据中快速洞察关键关联关系。
易图能够从日志、文档、表格等多类原始数据中,自动抽取实体与关系,构建结构化的图数据;用户只需通过自然语言描述业务问题,系统即可自动规划分析流程,完成计算,并生成清晰、可解释、可追溯的分析报告。
在系统内部,大语言模型负责理解用户意图、拆解分析任务并组织最终输出;而支撑分析结果可靠性的核心技术是 AAG(Analytics-Augmented Generation,分析增强生成)框架。AAG 将分析计算作为核心能力,在关键环节调用图算法与图系统完成可验证的计算,再由模型对结果进行解释与汇总。
因此,易图并非只”回答问题”的对话式 AI,而是一套能够将业务问题转化为可执行、可复核分析流程的图分析智能体。
适用场景
易图可灵活适配不同行业与业务需求,覆盖多类复杂关联数据分析场景,包括但不限于:
⚡ 核心功能
1. 知识驱动的任务规划
系统会先理解用户问题”想解决什么”,再把它拆成可执行的分析步骤:
2. 以算法为核心的可靠执行
易图不会让模型随意”写一段不可控的代码再去跑”。相反,它会以”可验证的算法模块”为中心进行调用与组合,让每一步分析:
3. 任务感知的图构建
易图不会把所有原始数据不加区分地建成一张大图。它会根据当前任务需要,选择性抽取与构建”与问题相关的实体与关系”,避免无关结构干扰分析,并把图组织成更适合执行的形式,从而提升效率与结果质量。
4. 丰富的图算法库
内置 200+ 种图算法,覆盖 21 大类别,为各类图分析场景提供专业算法支持;下表仅列举其中的部分代表性类别,完整列表请参见在线文档。
5. 灵活的数据支持
支持多种数据源输入:
系统会自动从原始数据中抽取实体与关系,构建结构化的图数据。
6. 多种运行模式
🎯 版本发布
v1.1.0 (当前版本)
核心能力
路线图
v2.0.0(计划中)
🚀 快速开始
1. 准备环境
1.1 Python 版本要求
请确认当前 Python 版本满足要求:
1.2 使用 Conda 创建虚拟环境(推荐)
1.3 Neo4j 安装与配置
易图需要使用 Neo4j 作为图数据库。本指南使用 Neo4j 3.5.25 版本。
1.3.1 Java 版本要求
Neo4j 3.5.25 需要 Java 8 或 Java 11。请先检查 Java 版本:
如果未安装 Java,请先安装对应版本。
1.3.2 下载与解压 Neo4j
.tar.gz或.zip格式)Linux/Mac 系统(.tar.gz 格式):
Windows 系统(.zip 格式):
unzip neo4j-community-3.5.25-windows.zip1.3.3 配置 Neo4j
进入
conf目录,编辑neo4j.conf配置文件:在
neo4j.conf中添加或修改以下配置:1.3.4 启动与停止 Neo4j
进入
bin目录,执行启动或停止命令:启动 Neo4j:
停止 Neo4j:
启动 Neo4j 后,可以通过浏览器访问
http://localhost:7474来验证安装是否成功。2. 获取源码并安装依赖
2.1 下载源码
2.2 安装依赖
3. 配置系统参数
3.1 配置推理与检索引擎
编辑配置文件:
示例配置如下:
3.2 配置数据集
编辑配置文件:
示例配置如下:
4. 启动易图
易图支持以下两种运行模式:
Web 交互模式(推荐) 通过浏览器进行交互式分析,适合日常使用、演示与业务分析场景。
终端交互模式(Terminal) 通过命令行进行交互,适合开发调试、快速验证与批量测试场景。
4.1 Web 交互模式
在项目根目录下执行以下命令启动 Web 服务:
启动成功后,终端会输出可访问的服务地址。请根据提示在浏览器中打开对应地址,即可进入易图的 Web 界面。
在 Web 界面中,用户可以通过自然语言输入业务问题,系统将自动完成分析流程,并展示分析结果与报告。
Web 界面使用说明
使用易图 Web 界面进行分析的基本步骤如下:
开始对话:开启一个新对话或者从历史记录中选择一个现有对话。
选择模式:选择最适合您的模式。
选择数据集:会将您上传好的数据集列举出来。例如:DocumentDemo。
输入您的请求:在输入框中输入您的指令或问题。请尽可能清晰和具体。
提交:点击发送按钮。
监控进度:在主聊天区观察状态更新(运行中、规划中、分析中等)。
查看结果:处理完成后,结果将显示在主聊天区。然后您可以提出后续问题或开始新的请求。
数据集管理
在 Web 界面中,您可以方便地管理数据集:
创建数据集:点击”创建”按钮。
填写数据集信息:
上传数据文件:根据选择的文件类型上传相应的数据文件。
保存数据集:完成配置后保存,数据集将在对话中可供选择使用。
文件管理
在文件管理界面中,您可以对数据集中的文件进行管理和可视化:
选择数据集:从下拉列表中选择对应的数据集。
上传文件:向选定的数据集中上传文件。
查看解析进度:系统会显示文件的解析进度,实时反馈处理状态。
可视化知识图谱:文件解析完成后,点击”可视化”按钮,即可查看该数据集对应的知识图谱可视化展示。
4.2 终端交互模式(Terminal)
如果希望直接通过命令行与易图进行交互,可在项目根目录下执行:
启动后,系统将进入终端交互模式。用户可按照终端提示输入问题,易图将在命令行中完成分析并输出结果。
终端交互使用说明
使用终端交互模式的基本步骤:
查看可用数据集:通过指令查看系统中有哪些可用的数据集。
选择数据集:根据提示选择要使用的数据集。
输入问题:直接在终端中输入您的业务问题或分析需求。
查看结果:系统会在终端中实时显示分析过程和最终结果。
该模式主要用于开发调试、算法验证或快速测试场景。
5. 使用易图
无论采用 Web 模式还是终端模式,易图的基本使用流程一致:
更多高级功能、参数说明与使用示例,请参考项目的 README 文档或界面中的操作提示。
6. 常见问题建议
embedding.device设置正确📖 文档与资源
📚 在线文档
访问完整的用户手册和开发者指南:
http://iDC-NEU.github.io/YiGraphDocs/
文档内容包括:
📞 联系我们
贡献指南
我们欢迎各种形式的贡献:
社区交流
📚 引用
如果您在研究中使用了易图(YiGraph)或 AAG 框架,请引用我们的论文:
致谢
本项目受益于以下开源项目:
感谢所有贡献者的辛勤付出!
📄 许可证
本项目采用 MIT License 开源协议。
让图数据分析更简单、更智能