企业级全栈 GraphRAG 框架,以整页入图取代传统切片,支持 Tree+Graph 双范式检索与可验证归因。
VeritasGraph 是一个企业级知识图谱 RAG 框架,核心理念为"Don't Chunk. Graph."——以整页或整节作为图节点而非传统 500-token 切片,保留文档结构完整性。框架采用 Tree + Graph 双范式检索架构:PageIndex 风格的层级目录树导航与知识图谱语义推理并行,支持跨章节链接与多跳推理,可回答跨文档复杂问题。每个生成声明均提供 100% 可验证归因,可溯源至源文档精确位置,适用于法律、医疗、金融等高合规领域。
检索与推理能力#
- Tree-based Navigation:PageIndex 风格的层级 TOC 导航,支持跨章节链接(cross-section linking)
- Graph-based Semantic Search:基于知识图谱连接的语义检索,非单纯向量相似度匹配
- Multi-hop Reasoning:跨文档、跨章节的复杂推理能力
- Document-Centric Ingestion:以整页/整节为节点,避免切片丢失上下文
摄入源#
- PDF:通过
pipeline.ingest_pdf()或 CLIveritasgraph ingest摄入 - YouTube:自动提取字幕,CLI 直接传入 URL
- 网页文章:CLI 直接传入 URL
- 纯文本:常规文本摄入
- 图表/表格:Vision RAG 模式转化为图谱节点
可验证性与可视化#
- Verifiable Attribution:每个生成声明附带精确归因路径,可溯源至源文档具体位置
- 交互式图可视化:PyVis 驱动的 2D 图浏览器,实时展示实体、关系与推理路径
部署模式#
| 模式 | 说明 | 依赖 |
|---|---|---|
lite | 云 API,零配置启动 | OpenAI 兼容 API Key |
local | 完全离线,Ollama 本地推理 | Ollama(需 8GB RAM) |
full | 生产级,Docker 一键部署 | Docker + Neo4j + Ollama |
LLM/Embedding 兼容性#
通过 OpenAI 兼容 API 统一抽象,支持混合配置(如 Groq 做 LLM + Ollama 做 Embedding):OpenAI、Azure OpenAI、Groq、Together AI、OpenRouter、LM Studio、vLLM、Ollama。
架构要点#
- 图引擎层:基于 Microsoft GraphRAG 进行索引和查询,Neo4j 作为图数据库持久化存储
- 检索层:Tree-based navigation 与 Graph-based semantic search 双路并行
- 文档处理层:Document-centric ingestion,整页/整节作为单一可检索节点
- LLM 抽象层:OpenAI 兼容 API 接口,统一对接多种本地/云端 LLM 提供商
- 可视化层:PyVis 交互式 2D 图浏览器,Gradio 提供 Web UI
安装与快速开始#
pip install veritasgraph
veritasgraph demo --mode=lite
可选依赖:veritasgraph[web](Gradio UI + 可视化)、veritasgraph[graphrag](Microsoft GraphRAG 集成)、veritasgraph[ingest](YouTube & 网页摄入)、veritasgraph[all](全部功能)。
Docker 一键部署(full 模式):
cd docker/five-minute-magic-onboarding
docker compose up --build
# 服务端口:Gradio UI :7860, Neo4j Browser :7474, Ollama API :11434
Python API 示例#
from veritasgraph import VisionRAGPipeline, VisionRAGConfig
# 基础用法
pipeline = VisionRAGPipeline()
doc = pipeline.ingest_pdf("document.pdf")
result = pipeline.query("What are the key findings?")
print(result.answer)
# Document-Centric 模式
config = VisionRAGConfig(ingest_mode="document-centric")
pipeline = VisionRAGPipeline(config)
doc = pipeline.ingest_pdf("annual_report.pdf")
print(pipeline.get_document_tree())
section = pipeline.navigate_to_section("Methodology")
关键环境变量#
| 变量 | 用途 |
|---|---|
GRAPHRAG_API_KEY | LLM API 密钥 |
GRAPHRAG_LLM_MODEL | LLM 模型名 |
GRAPHRAG_LLM_API_BASE | LLM API 地址 |
GRAPHRAG_EMBEDDING_API_KEY | Embedding API 密钥 |
GRAPHRAG_EMBEDDING_MODEL | Embedding 模型名 |
GRAPHRAG_EMBEDDING_API_BASE | Embedding API 地址 |
待确认信息#
- PyPI 包具体版本号与发布日期(页面 JS 渲染限制)
- 独立官网/文档站 URL(README 提及 "Live documentation" 但未给出链接)
- 论文正式发表信息(仓库附有 PDF,未见 arXiv 或期刊链接)
- HuggingFace Space 已部署地址
- local 模式 GPU 是否为必需项
- 大规模文档集的性能基准数据