VeritasGraph 是一个专为私有基础设施设计的企业级图谱增强生成(Graph RAG)框架,目标是构建安全、可验证归因的先进问答和摘要系统。VeritasGraph利用知识图谱进行复杂的多跳推理,克服了传统基于向量搜索的RAG系统的局限性,能够提供具有完整来源归因的透明、可审计的推理路径,能显著提升企业AI的信任度和可靠性。VeritasGraph拥有强大的多跳图推理能力、采用LoRA调优的本地大型语言模型以实现高效部署、端到端的来源归因机制,确保数据主权的安全私有化本地部署架构。VeritasGraph通过将非结构化文档转化为结构化知识图谱,结合混合检索引擎(包括向量搜索和多跳图遍历)与本地LLM推理核心,有效解决了复杂查询中信息关联和深层理解的挑战。VeritasGraph强调AI系统的透明性、安全性与可控性,赋能企业自主构建和管理知识资产,减少对外部云服务的依赖,支持本地LLM运行并需要一定的硬件资源配置。
VeritasGraph将四大关键功能整合为统一系统,覆盖从数据处理到结果输出的全流程需求:
多跳图推理:突破语义相似性局限,深入挖掘数据间复杂关联,应对需要串联多个信息点的查询场景。
高效LoRA微调LLM:采用低秩自适应技术对大语言模型进行微调,在保证推理能力的同时,降低本地部署的资源消耗。
端到端来源追溯:生成的每一条结论都可关联至具体源文档及推理路径,避免AI生成内容的“黑箱”问题。
安全本地部署架构:能完全部署在企业自有基础设施内,确保数据不脱离管控,符合数据主权要求。
VeritasGraph的 pipeline 分四个阶段,将非结构化文档转化为结构化知识图谱,最终输出带追溯信息的推理结果。
1、文档分块:将输入文档分割为细粒度的“文本单元”(TextUnits),为后续处理打下基础。
2、实体与关系提取:通过大语言模型提取结构化三元组(头实体,关系,尾实体),捕捉数据中的核心关联。
3、图谱组装:将提取的节点(实体)与边(关系)存储到图数据库(如Neo4j)中,形成结构化知识图谱。
1、查询分析与入口识别:借助向量搜索找到与用户查询相关的“入口节点”,确定推理的起始点。
2、多跳遍历扩展上下文:通过图谱遍历挖掘隐藏的关联关系,扩展查询相关的上下文范围,覆盖更多潜在相关信息。
3、剪枝与重排序:去除冗余、无关的信息,保留对推理最有价值的事实,提升后续步骤的效率。
1、增强提示工程:将查询、来源信息及指令整合为格式化上下文,为模型生成提供清晰引导。
2、LLM生成:基于本地部署的开源模型(经LoRA微调)生成带追溯信息的答案,无需依赖外部API。
3、LoRA微调:针对推理任务与来源追溯需求优化模型,在提升专项能力的同时,保持高效运行。
1、元数据传播:跟踪每个结论对应的源文档ID、文本块及图谱节点,建立完整的数据链路。
2、可追踪生成:模型在生成答案时明确引用来源,用户可直接查看结论的依据。
3、结构化追溯输出:以JSON格式输出包含溯源信息与推理轨迹的结果,方便后续分析与验证。
传统RAG系统在处理复杂问题时(例如,关联某工程师参与的项目与相关专利)常显乏力,VeritasGraph通过三步协同机制攻克这一难题:
1、利用语义搜索确定推理的“入口点”,找到与查询最直接相关的初始信息;2、通过图谱遍历串联分散的信息点,构建完整的逻辑链条;3、借助大语言模型综合所有信息,生成带引用的最终答案,确保推理过程可验证。
• CPU:16核及以上 • 内存:64GB及以上(推荐128GB) • GPU:NVIDIA显卡,显存24GB及以上(如A100、H100、RTX 4090)
• Docker与Docker Compose • Python 3.10及以上版本 • NVIDIA Container Toolkit
1、将 .env.example 文件复制并重命名为 .env;
2、在 .env 中填入与部署环境匹配的具体参数。
以Windows系统下使用Ollama(llama3.1模型)与nomic-text-embed(文本嵌入)为例,完整流程如下:
首先启动Ollama服务,在不同终端执行以下命令:
ollama serve
# 另一个终端中
ollama pull llama3.1
ollama pull nomic-embed-text
然后通过仓库中的Modelfile构建模型:
ollama create llama3.1-12k -f ./Modelfile
注意:Ollama默认上下文长度为2048,可能导致索引时输入输出被截断,建议调整为12k(12288);若在settings.yaml中更换模型后重新索引,会重启整个索引过程。
创建并激活conda环境:
conda create -n rag python=<3.12以下任意版本>
conda activate rag
克隆项目并进入指定目录:
cd graphrag-ollama-config
拉取graphrag代码并安装相关包(若使用本仓库可跳过部分步骤,此步骤用于初始化graphrag文件夹):
cd graphrag-ollama
pip install -e ./
pip install sympy
pip install future
pip install ollama
python -m graphrag.index --init --root .
创建.env文件:
cp .env.example .env
将输入文本移至 ./input/ 目录,仔细检查 .env 与 settings.yaml 中的参数,确保 settings.yaml 中配置为“community_reports”而非“community_report”。
微调提示(此步骤对结果质量影响较大):
python -m graphrag.prompt_tune --root 、--domain "Christmas" --method random --limit 20 --language English --max-tokens 2048 --chunk-size 256 --no-entity-types --output ./prompts
启动索引,可在 ./output/<时间戳>/reports/indexing-engine.log 中查看日志排查错误:
python -m graphrag.index --root .
测试全局查询:
python -m graphrag.query \
--root 、\
--method global \
"What are the top themes in this story?"
启动UI界面:
# 安装依赖
pip install -r requirements.txt
# 运行应用
gradio app.py
访问 http://127.0.0.1:7860/ 即可使用UI功能,支持全局(基于社区的搜索)与本地(基于实体的搜索)两种查询类型,可调节温度参数(Temperature)与结果预设(如详细、简洁、要点式等)。
PowerPoint演示文稿智能生成工具 PowerPoint Slides Skill
金融 AI 新工具 FinClaw,免费提供1000+ 金融专属Skills
PPT Agent 演示文稿生成框架
端到端自主AI科研引擎 NanoResearch
CitationClaw 学术论文智能引用画像和分析报告
pi-autoresearch:pi自动化实验优化循环
OpenClaw Control Center:为OpenClaw用户(包括团队和个人)提供统一的监控和管理界面
OpenClaw Dashboard 仪表盘:让OpenClaw管理更简单
PaperBanana-CN 学术配图助手
996.ICU:工作 996, 生病 ICU