GitHub · 项目涌现

呵

deeplethe/utopia

二〇二六年九月八日·★ 3,230·⑂ 268·Rust·Apache-2.0 · GitHub 原仓库

DeepLethe 团队发布 Utopia,一个基于 Rust 与 Postgres 构建的企业世界模型与开放知识工程底座。它采用双时态知识图谱,支持 PDF、DOCX 等格式摄取、全文与向量混合搜索(RRF 融合)、agentic RAG、本体驱动查询及多用户权限管理。其 Ontology2SQL 方法在 BIRD Mini-Dev 的 SQLite 和 PostgreSQL 上达到 SOTA。项目处于 v0.1,采用 Apache-2.0 许可证。

Utopia

理念 · 快速开始 · 特性 · 路线图

Stars License Rust

Official site Container Discussions Built by DeepLethe 中文

由 DeepLethe 构建的企业世界模型。 它是第一个开放的知识工程基础底座,能够被动学习并自我治理。知识图谱或向量存储致力于保存当前知识,而 Utopia 将时间感知和本体论置于基础层:知识系统随材料到达而演化,冲突检测、推理和决策都基于该本体运行。它支持离线部署,因此企业可以在自己掌控的硬件上建立知识基础、其 agent 可以信赖的决策核心,以及合规审计追踪。

请注意:我们希望这个项目不要被定位为 Palantir 的开源替代品。它是通往企业智能的另一条路径,从知识治理自下而上构建,直至可信决策与模拟。


https://github.com/user-attachments/assets/aa226443-75de-437e-bd80-88e592ed8457


理念

我们给它起了一个有些浪漫的名字,Utopia。托勒密的地心说在很长一段时间里被视为真理,随后被哥白尼、开普勒、伽利略和牛顿一步步证伪。回头看,我们保留的不仅是日心说最终被证明正确,更是那段历史如何展开的过程。

现有的向量存储和知识图谱致力于让当前知识正确,而 Utopia 的创始目标之一是记录认知变化的完整过程。在工程上,这体现为一个双时态知识图谱。当决策日后被复盘时,系统可以呈现其完整过程及所依据的基础。为了让这一点在实践中站得住脚,我们针对涵盖企业记录、教育、金融、法律和研究的公开语料进行了大量迭代。时间性只是其中一个方面;关于知识如何被吸收、未来如何被推理、逻辑如何约束行动,请参阅 utopia.bi/philosophy。

特性

一个 Rust 二进制文件加一个 Postgres。全文搜索内置于二进制中,向量存储在 pgvector 中,任务队列就是一张表:无需运行其他任何东西。

一个完整的应用 系统控制台、图谱浏览器和本体工作台集成在一个 Web UI 中。这是一个产品,而非库:安装即可使用。
知识摄取 上传 PDF、DOCX、PPTX、XLSX、XLS、ODS、CSV、TSV、Markdown、HTML 或纯文本,并在导入时自动检测旧编码。网页、RSS、GitHub、Jira 和 S3 兼容存储桶按计划同步;其他一切通过 API 接入。
搜索与对话 基于 Tantivy 的全文搜索,基于 pgvector 的向量搜索,通过 RRF 融合。回答流式输出并附带行内引用,可点击打开来源段落。任何 OpenAI 兼容端点均可使用(DeepSeek、Qwen、GLM、Ollama、vLLM),因此整个系统可以完全离线运行。
Agent 框架与 agentic RAG 整个系统可以通过对话驱动。内置 agent 可以搜索文档、遍历图谱(某个实体截至任何日期的 facts,或某段时间内的变化)并查询挂载的数据库。相同的只读工具通过 MCP 暴露。
本体与冷启动 新知识库没有自己的词汇表;它从创建时选择的包开始。二进制内置五个包:schema.org、W3C Org、PROV-O、FOAF 和 IOF Core(申请你的行业)。包之外的术语按出现次数统计;确认常用术语后,它们将加入本体。
双时态图谱 抽取将文档转化为实体和 facts,遵循你可编辑的本体。每个 fact 都带有其成立时间和来源。修正一个 fact 会关闭旧版本并将新版本链接到它,而不是覆盖,因此图谱保留两条时间线:某事物在现实中何时为真,以及系统何时开始相信它为真。
实体解析与审核 重复项通过三个阶段解决:精确名称或别名匹配、embedding 相似度、然后由模型对可疑配对进行判断。每次合并都可以撤销。不确定的情况进入审核队列:低置信度抽取、疑似重复和基数冲突。
推理与推导 本体公理编译为规则:传递性、对称性、逆关系和关系层级通过前向链推导出新 facts。推导默认关闭,因为错误的公理会推导出错误的 facts。推导出的 fact 在图谱上被标记,像其他 fact 一样带有有效性和置信度,并显示其推导来源。当它与断言 fact 冲突时,以断言 fact 为准。
冲突检测 三类冲突,三类选择。与旧 fact 冲突的新 fact:关闭旧的、保留两者、或拒绝新的。违反公理的数据(自环、不对称、传递环、基数):撤回 fact、放宽公理、或同时接受。本体本身首先被检查,因为违反自相矛盾本体的冲突是噪音。
本体驱动查询 在基础数据库上挂载数据库(Postgres、用于 Iceberg / Delta Lake / Hive 的 Trino、Databricks、Snowflake),对话可以同时查询数据库和文档。agent 提出其表如何映射到本体,由你确认。其背后的方法 Ontology2SQL 在 BIRD Mini-Dev 的 SQLite 和 PostgreSQL 上达到了 SOTA(提交)。
多用户与权限 每个知识库有自己的成员和角色:owner、admin、editor 和 viewer。开放的知识库对部署中的所有用户可读,受限知识库仅限邀请。第一个注册的账户成为系统管理员。
决策账本 确认或拒绝一个 fact、合并或还原一个实体、重建图谱:每次操作都会留下谁、何时以及对象当时样子的记录。账本只追加,记录比其对象存活得更久,甚至比它所属的知识库更久。
决策智能(开发中) 记录决策,重放当时所理解的内容和过程,并在叠加场景上进行推理。

快速开始

要求:Docker(本地开发还需要 Rust 1.85+、Node 20+、pnpm)。

从预构建镜像开始:

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

打开 http://localhost:1516 并注册。第一个账户自动成为管理员,同时会创建一个对所有用户可读的公共知识库。在抽取业务文档之前,请在系统设置中配置模型端点(对话和 embedding)。

或者从源码构建:

docker compose -f docker-compose.yml -f docker-compose.build.yml --profile app up -d --build

本地开发

# 1. 带 pgvector 的 Postgres
docker compose up -d db

# 2. 后端运行在 :1516,启动时自动执行迁移
cargo run -p utopia-server

# 3. 前端运行在 :5173,将 /api 代理到后端
cd web && pnpm install && pnpm dev

路线图

状态

Utopia 仍处于 v0.1。数据库 schema 在版本之间会演化,迁移只向前推进,不支持回滚。在生产环境中使用 UTOPIA_IMAGE 固定特定版本,并在升级前备份数据库和 data 目录。

在将其暴露到公共互联网之前,请阅读 SECURITY.md。

Star 历史

社区

许可证

Apache-2.0

译自 GitHub · 项目涌现 · 录于 二〇二六年九月八日