CasualGraph
Jay-ANU/CasualGraph加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:CausalGraph 的 macOS 桌面助手界面,支持直接拖拽报告文件并发起问答
想象一下:你是某大型资管公司的 ESG 研究员,每年要翻阅上百份数百页的可持续披露报告,从石油巨头的碳排放数据到快消品牌的供应链透明度声明,全靠手工检索——时间成本高、容易遗漏、结论还难以回溯查证。CausalGraph AI 正是为解决这一痛点而生:它将长篇 ESG 披露文档自动转化为可查询的知识图谱,结合检索增强生成(RAG)代理实现自然语言问答,让 AI 在回答每一个结论时都能指向原文证据。
该项目由澳大利亚国立大学(ANU)相关团队开发,最初面向金融机构的 ESG 尽调场景。核心洞察是:传统 RAG 系统只能回答「哪个段落提到了什么」,但 ESG 研究员真正需要的是「碳排放目标与实际执行之间的因果关系」这类问题——需要跨段落、跨时间的因果推理能力。
CausalGraph 的设计哲学因此与传统知识图谱 RAG 不同:它不追求一次性构建完整企业知识图谱(成本过高),而是以单次报告为处理单元,将报告内的实体(公司、目标、风险)与关系(因果、对比、时序)提取为可查询的图结构,同时保留原始块级检索作为补充上下文。这样既保证了溯源可验证性,又降低了工程化门槛。
项目采用典型的微前端加微后端架构,前端为 React,后端为 FastAPI,中间通过 RESTful API 通信。整体系统可拆解为以下几个核心模块:
支持 PDF、DOCX、纯文本三种格式的 ESG 报告摄入。解析后经过清洗、分块(chunking)得到重叠的文本片段,分块策略考虑了段落边界和句子完整性,避免关键信息被截断。对于中文报告,引入了 jieba 分词以保证中文语义切分的准确性。
CausalGraph 的检索系统采用了混合检索策略,是其最具工程亮点的地方:
这套混合检索设计在工程上通过环境变量(HYBRID_RETRIEVAL_* 系列)实现了全链路可配置开关,开发者可以根据实际数据集的特性逐一调试。相比学术界常用的固定权重融合,这套环境变量驱动的配置方案更贴近生产环境——不同报告类型可能适合不同的检索权重,运营团队可以通过修改配置而非改代码来优化效果。
这是项目区别于通用 RAG 的关键能力。项目提供了三种抽取模式:
抽取结果经过 graph/ 模块处理后,以 JSON 图格式输出,包含节点(实体)和边(关系),可同步至 Neo4j 图数据库。值得注意的是 QLoRA 适配器权重并不随仓库一起发布(被 .gitignore 排除),用户若想使用本地抽取能力,需要自行准备训练环境。
Neo4j 选型是有讲究的。相比关系型数据库,图数据库在多跳因果查询上具有天然的结构化优势。CausalGraph 提供了邻居查询、前向/后向链推理、最短路径查询等能力。这些能力使得 CausalGraph 在复杂 ESG 问题(如「某公司的碳中和目标与供应商合规记录之间的关联」)上,比纯文本 RAG 有更强的推理深度。不过,Neo4j 在默认配置中是可选组件——许多用户可能只使用向量检索而忽略图能力,这意味着项目的核心差异化特性并不会被所有用户利用到。
每个对话会话在 Redis 中维护短期状态,包括:最近 N 条消息、当前选中的文档上下文、会话级实体引用。当用户说「那这家公司呢」时,系统能自动识别这是对前文的实体回指,而非重新检索全量文档。这解决了 RAG 系统中常见的多轮对话丢失上下文的问题。
后端模块 backend/ 实现了基于 JWT 的身份认证和 SQLite 存储的用户反馈收集机制,配合管理员白名单功能,具备一定的团队协作和多用户管理能力,适合小型研究团队内部部署使用。
图2:CausalGraph 品牌标识,体现其ESG加因果图的核心理念
CausalGraph 提供了多条部署路径。本地开发(适合尝鲜):后端只需 python3 -m venv 创建虚拟环境,pip install -r requirements.txt 安装依赖,复制 .env.example 并填入至少一个 API Key,然后 python3 -m uvicorn app:app 启动。前端在 frontend 目录下 npm install 后设置 REACT_APP_ESG_API_BASE 环境变量即可 npm start。最小可运行配置只需要 EMBEDDING_BACKEND=deepinfra 加上 OPENAI_API_KEY,全程约 20-30 分钟可启动。
Docker Compose(推荐生产使用):Neo4j 已通过 docker-compose.yml 标准化配置,配合 Dockerfile 封装的后端镜像,可以实现完整技术栈的一键启动。不过需要注意:Pinecone、Redis 凭证、API Key 仍需手动注入环境变量。
macOS 桌面助手(Beta):项目还提供了 Electron 打包的桌面应用,适合不想在浏览器标签页间切换的用户。可从 GitHub Releases 直接下载压缩包使用,当前为未签名应用,初次运行需要右键手动放行。
1. API Key 的强依赖:核心功能依赖 OpenAI/Anthropic API,虽然支持 DeepInfra 和 DeepSeek 作为替代,但推理质量和成本仍然受制于第三方。如果监管要求数据完全本地化处理(如金融机构的数据合规要求),当前的架构无法满足。
2. 中文 ESG 报告的抽取质量:项目对英文报告的抽取经过了 QLoRA 微调,但中文报告的处理主要依赖 jieba 分词和通用模型,在专业 ESG 术语(碳中和、Scope 3 排放、TSR 指标等)的识别上可能存在偏差,需要实际使用中人工核验。
3. 图能力非默认开启:Neo4j 在默认配置中是可选组件,核心差异化特性——因果推理——可能不被所有用户利用。
4. 早期阶段:目前仅有 10 个 GitHub Stars,项目仍处于早期阶段,社区活跃度和长期维护值得关注。
CausalGraph 的出现代表了 ESG 领域 AI 应用的一个细分趋势:从通用 LLM 问答转向领域增强的专项 RAG 架构。它的技术选型(FastAPI + React + Neo4j + Pinecone)虽然并无颠覆性创新,但将混合检索、实体抽取、因果图谱三条技术线串联起来,形成了完整的 ESG 问答闭环,这本身就是有工程价值的整合工作。
从商业角度看,ESG 信息披露市场正在快速增长——欧盟 CSRD 法规已强制要求大型企业进行标准化 ESG 披露,类似的合规压力将逐步蔓延至全球。这种背景下,能够将非结构化披露文档结构化的工具,无论对于买方机构(资管公司、PE)、监管机构,还是咨询公司,都有实际需求。

图3:CausalGraph 项目维护者 GitHub 头像