Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,11 @@ One Rust binary and one Postgres. Full-text search is embedded in the binary, ve
| **Knowledge ingest** | Upload PDF, DOCX, PPTX, XLSX, XLS, ODS, CSV, TSV, Markdown, HTML or plain text, with legacy encodings detected on the way in. Web pages, RSS, GitHub, Jira, Notion, WebDAV and S3-compatible buckets sync on a schedule; everything else comes in through the API. |
| **Search and chat** | Full-text on Tantivy, vectors on pgvector, fused with RRF. Answers stream with inline citations that open the passage they came from. Any OpenAI-compatible endpoint works (DeepSeek, Qwen, GLM, Ollama, vLLM), so the whole system can run air-gapped. |
| **Agent harness and agentic RAG** | The whole system can be driven through conversation. The built-in agent searches documents, walks the graph (an entity's facts as of any date, or what changed in a period) and queries a mounted database. The same read-only tools are exposed over MCP. |
| **Agents over MCP** | An MCP server for every knowledge base, so Claude Desktop, Cursor, Workbuddy and other agent frameworks can connect, with fine-grained permissions. |
| **Ontology and cold start** | A new knowledge base has no vocabulary of its own; it starts from the packs you pick at creation. Five ship inside the binary: schema.org, W3C Org, PROV-O, FOAF and IOF Core ([ask for your industry](https://github.com/deeplethe/utopia/issues/new?labels=enhancement&title=Ontology%20pack%20request)). Terms outside the packs are counted as they appear; confirm the common ones and they join the ontology. |
| **Bitemporal graph** | Extraction turns documents into entities and facts, following an ontology you can edit. Every fact carries when it held and where it came from. Correcting a fact closes the old version and links the new one to it rather than overwriting, so the graph keeps two timelines: when something was true in the world, and when the system came to believe it. |
| **Bitemporal graph** | Extraction turns documents into entities and facts, following an ontology you can edit. Every fact carries when it held and where it came from. Correcting a fact closes the old version and links the new one to it rather than overwriting, so the graph keeps two timelines: when something was true in the world, and when the system came to believe it. Edges are reified, so an edge carries attributes of its own. |
| **Entity resolution and review** | Duplicates are resolved in three stages: exact name or alias, embedding similarity, then a model's call on the doubtful pairs. Every merge can be undone. Uncertain cases go to a review queue: low-confidence extractions, suspected duplicates and cardinality conflicts. |
| **Agent adjudication** | The agent adjudicates on its own, from common sense and the business documents. Low-confidence calls go to the human review queue, and the decisions people make there are recorded and used to tune the agent, closing the loop. |
| **Reasoning and derivation** | Ontology axioms compile into rules: transitivity, symmetry, inverses and relation hierarchy derive new facts by forward chaining. Derivation is off by default, since a wrong axiom derives wrong facts. A derived fact is marked as such on the graph, carries validity and confidence like any other, and shows what it was derived from. When it contradicts an asserted fact, the asserted one stands. |
| **Conflict detection** | Three kinds of conflict, three sets of choices. A new fact that clashes with an older one: close the old, keep both, or reject the new. Data that breaks an axiom (self-loop, asymmetry, transitive cycle, cardinality): retract the fact, relax the axiom, or accept both. The ontology itself is checked first, because violations of a self-contradictory ontology are noise. |
| **Ontology-driven querying** | Mount a database on a base (Postgres, MySQL and the engines that speak its protocol, Trino for Iceberg / Delta Lake / Hive, Databricks, Snowflake) and chat can query it alongside the documents. The agent proposes how its tables map onto the ontology, and you confirm. The method behind it, [Ontology2SQL](https://github.com/deeplethe/ontology2sql), is state of the art on BIRD Mini-Dev for SQLite and PostgreSQL ([submission](https://github.com/bird-bench/bird-bench.github.io/pull/218)). |
Expand Down
4 changes: 3 additions & 1 deletion README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,15 @@ https://github.com/user-attachments/assets/aa226443-75de-437e-bd80-88e592ed8457
| **完整应用** | 系统控制台 · 图谱浏览器 · 在线本体工作台 · 开箱即用 |
| **文档接入** | 支持多种文档(pdf、md、html、ppt、word、excel)· 网页、RSS、GitHub、Jira、Notion、WebDAV、S3 兼容存储定时同步 |
| **混合检索** | Tantivy · pgvector 向量 · RRF 融合 · chunk 溯源 |
| **双时态图谱** | 知识时态+溯源时态 · 支持任意时刻图谱 · 知识变更链 |
| **双时态图谱** | 知识时态+溯源时态 · 支持任意时刻图谱 · 知识变更链 · 边节点化 |
| **AgentHarness · AgenticRAG** | 应用本身具备 harness 能力,可通过对话调用系统完整功能 · 内置智能体包含多种工具,支持多轮工具调用与对话 |
| **MCP 接入** | 提供 MCP server,允许 Claude Desktop、Cursor、Workbuddy 等 agent 框架接入,支持细粒度权限控制 |
| **内置本体包** | 内置 schema.org · W3C Org · PROV-O · FOAF · IOF Core · 不断扩展中 · [我想申请对自己的行业进行额外支持](https://github.com/deeplethe/utopia/issues/new?labels=enhancement&title=Ontology%20pack%20request) |
| **语义抽取** | 实体、关系与时间归一化 · 事实强制带证据引句 · 向量与本体召回加 LLM 裁决自动消歧,可追溯可撤销 · 随文本自动提出本体修订方案 |
| **知识派生与推理** | 时态 Datalog · 前向链 · 本体公理编译 · 派生路径追溯 · 基于 Rust 自建轻量推理引擎 |
| **冲突检测** | 时态冲突 · 自反、反对称、传递环、基数违规 · 本体自身缺陷 · 可撤事实、可改公理、可认可并存 |
| **人工审核与审计台账** | 低置信抽取、待合并候选自动进入审核队列 · 记录每一次操作的用户、时间、变更快照,用于合规审计 |
| **Agent 自动裁决** | Agent 基于常识和业务文档自动进行裁决,低置信裁决会进入人工审核队列,人的决策会被记录,用于调优 Agent,形成反馈进化 |
| **智能映射与问数** | 选定数据库和知识库,智能体自动探索并建立映射关系 · 基于 Ontology2SQL 的问数 · [在 BIRD Mini-Dev 上取得 SOTA(最佳成绩)](https://github.com/bird-bench/bird-bench.github.io/pull/218) |
| **模型接入** | 任何 OpenAI 兼容端点 · 支持本地部署模型 |
| **多用户多知识库** | 以知识库为单位的角色与权限设计,支持系统管理员、用户,知识库管理、编辑、访问权限分级 |
Expand Down