deeplethe/utopia · 上手攻略

  • 仓库:deeplethe/utopia
  • 链接:https://github.com/deeplethe/utopia
  • 分类:知识管理·企业知识图谱·RAG·Agent
  • 作者:Tom
  • 更新:2026-09-02

这是什么

Utopia 是 DeepLethe 公司出品的企业级世界模型(Enterprise World Model),核心是一个双时间轴知识图谱(Bitemporal Knowledge Graph)。它不只存储"当前知道什么",还记录"认知是怎么变的"——每一条知识都带着两个时间维度:世界发生了什么(valid time)和系统何时知道的(transaction time)。

这让它和企业里常见的向量库(RAG)或普通知识图谱本质不同:任何决策都可以回溯"当时基于什么认知做出的",而不是只有一个"现在对不对"的快照。

技术栈:Rust 二进制 + PostgreSQL + pgvector,部署形态为 Docker Compose,整体是完整应用而非代码库。


解决什么问题

企业在做知识管理时通常面临三个难题:

  1. 知识在变,但系统不知道:文档更新了,向量库里的 chunk 不会自动更新;知识图谱里的节点改了,历史版本丢失
  2. 决策无据可查:决策当时的认知是什么?后来谁改了、为什么改?审计时无法还原决策链路
  3. RAG 与结构化数据的割裂:文档可以 RAG,但数据库里的业务数据如何和文档一起被查询?

Utopia 用双时间轴知识图谱 + Ontology 工作台 + Ontology2SQL 把这三件事打通。适合需要强合规审计、可溯源决策、长期知识积累的企业场景。

⚠️ 注意:作者明确表示不希望将 Utopia 描述为"开源版 Palantir"。它是从知识治理底层向上构建的另一种路径,而非模仿 Palantir 的数据处理模式。


快速安装

Docker Compose(一行启动)

git clone https://github.com/deeplethe/utopia.git
cd utopia
docker compose --profile app up -d

启动完成后访问 http://localhost:1516,注册第一个账号(自动成为系统管理员),同时创建一个公开知识库。

⚠️ 首次使用前需要在系统设置中配置模型端点(chat 模型 + embedding 模型),推荐使用支持 OpenAI 兼容接口的本地模型(如 Ollama/vLLM/DeloySeek/Qwen/GLM),整套系统可完全离线运行。

源码构建

# 完整构建(包含本地编译)
docker compose -f docker-compose.yml -f docker-compose.build.yml --profile app up -d --build

# 仅启动数据库(本地已有 Rust 环境)
docker compose up -d db
cargo run  # 后端在 :1516,启动时自动执行迁移

环境依赖

  • Docker(必需)
  • 本地开发额外需要:Rust 1.85+、Node 20+、pnpm

核心用法

知识摄入(Ingest)

支持格式:PDF、DOCX、PPTX、XLSX、XLS、ODS、CSV、TSV、Markdown、HTML、明文文本(含历史编码检测)

自动同步:Web 页面、RSS、GitHub、Jira(可配置 cron);其他来源通过 per-source token 推送接入。

导入失败的文档在原地重新处理,整库或整数据源可批量重新提取。

搜索与聊天

  • 混合检索:结合 Tantivy 全文检索 + pgvector 向量检索,使用 RRF(Reciprocal Rank Fusion)融合
  • 中文支持:jieba 分词
  • 答案呈现:流式输出 + 行内引用,直接跳转源文档段落
  • 模型无关:任意 OpenAI 兼容端点均可(DeepSeek、Qwen、GLM、Ollama、vLLM),支持完全离线部署

Agent Harness 与 Agentic RAG

系统本身就是一个 Agent Harness,内置 Agent 携带以下工具:

  • 文档搜索
  • 实体查询
  • 事实变更历史查询
  • 挂载数据库查询

通过多轮调用工具后给出回答,而非单次 RAG 检索。

Ontology 与冷启动

系统不自带词汇表,冷启动通过 Ontology Pack 完成:

内置 packs:schema.org、W3C Org、PROV-O、FOAF、IOF Core( gzip 内置于二进制,安装时选择)。后续遇到词汇自动以"来源引用 + 出现频次"记录,高频词汇确认后并入 Ontology。

双时间轴图谱(核心特性)

提取的实体和事实各自携带有效期(valid time)入库时间(transaction time)。修正一条事实时,关闭旧版本、创建新版本并链接,而非覆盖。

查询可以在任意历史时间点重新运行。实体面板同时展示两条时间线:世界中发生了什么,以及系统认知何时改变。

实体消解(Entity Resolution)

三阶段实体消解,每次合并操作都记录日志并可撤销。低置信度提取结果、合并候选和基数冲突进入审核队列,不中断业务流程。

推理与导出(Derivation)

规则以时态 Datalog 表达,驱动前向链推理。导出事实与提取事实一样携带有效期和溯源,导出路径一直回溯到原始语句。Ontology 公理(类型继承、关系层次、传递性、对称性、逆关系、不相交性、基数)编译为规则参与推理。

冲突检测

三种检查,三种裁决:

  1. 时态冲突:保留旧事实、同时保留两者、或拒绝新事实
  2. 公理冲突(数据自环、非对称性、传递环、基数冲突):撤回事实、宽松公理、或同时保留
  3. Ontology 自身缺陷:优先处理,因为基于自相矛盾 Ontology 计算出的违反是噪声

Ontology 驱动查询(Ontology2SQL)

注册一个 Postgres 连接,挂载到某个知识库,用自然语言同时查询文档和数据库。探索阶段用已有 Ontology 概念映射数据库 schema,Agent 提议、用户确认。

底层方法 Ontology2SQL 在 BIRD Mini-Dev(SQLite 和 PostgreSQL 双向)上达 SOTA(来源:bird-bench PR #218)。

决策账本(Decision Ledger)

确认/拒绝事实、合并/还原实体、重建图谱——所有操作均记录操作人、时间戳和对象快照。即使对象被废弃或重建,记录仍可查询。


典型适用场景

  • 企业合规审计:金融、医疗、法律等强监管行业,需要决策溯源
  • 长期知识积累:研究机构、咨询公司,历史认知演变本身就是资产
  • Agent 知识基础设施:为 AI Agent 提供可信赖的知识基底,支持多轮工具调用和 RAG
  • 私有知识库 + 业务数据库联合查询:文档和结构化数据一起被自然语言查询
  • 冲突检测与数据质量治理:在知识进入图谱前发现并处理矛盾

坑与注意

  1. 模型端点需手动配置:默认不带模型能力,安装后需在设置中填入 OpenAI 兼容端点;整套系统理论上可完全离线,但初始配置需要有一个可访问的模型服务
  2. 第一个注册的账号是管理员:部署后立即注册,否则需要手动提权
  3. Rust 1.85+ / Node 20+ / pnpm:仅本地开发需要,Docker 部署只需 Docker
  4. pgvector 依赖:PostgreSQL 需开启 pgvector 扩展,docker-compose 已包含,无需手动安装
  5. 本体(Ontology)冷启动需要选择 Pack:schema.org / W3C Org / PROV-O / FOAF / IOF Core 五选一,按行业需求选择,没有免费午餐
  6. Decision Intelligence 功能仍在开发中(Roadmap 中),目前主要是记录能力

与同类对比

项目 核心能力 数据模型 部署形态 适用场景
Utopia 双时间轴图谱 + 推理 + Agentic RAG 双时间轴知识图谱 Docker(Rust+PG) 企业合规、决策溯源、知识演化
传统知识图谱(Neo4j 等) 图存储 + 查询 单时间轴 单一数据库 关系网络存储
向量库 RAG(Chroma/Pinecone) 语义检索 向量 + chunk API 服务 文档问答
Palantir 数据整合 + 分析 宽表 + 图 SaaS 企业数据分析
Ontology2SQL 类方案 自然语言转 SQL 库/服务 数据库问答

Utopia 的护城河是时态建模 + Ontology 驱动的 RAG + Agent Harness 三合一,其他产品通常只占其中一项或两项。


一句话结论

Utopia 把知识图谱从"存当前答案"升级到"记录认知演变",配合 Ontology2SQL 和 Agentic RAG,是目前企业知识管理领域里时态建模做得最完整的开源方案;适合把知识质量、合规审计和 AI Agent 可信度当核心需求而不是可选项的场景。