Utopia — открытая корпоративная world model с bitemporal knowledge graph
📂 Исходный код на GitHubSelf-hosted enterprise world model на Rust и Postgres для управления знаниями, bitemporal graph, search и chat, agentic RAG, MCP и reasoning поверх ontology.
Utopia — self-hosted платформа DeepLethe для knowledge engineering, которую проект называет открытой корпоративной world model. Это не библиотека и не отдельный coding agent: приложение объединяет загрузку корпоративных знаний, поиск, chat с ответами по источникам, bitemporal knowledge graph, workbench для ontology и доступ агентов через MCP. Базовая установка состоит из одного бинарника на Rust и одной базы Postgres; систему можно развернуть на инфраструктуре компании и подключить к OpenAI-compatible endpoint, включая варианты для air-gapped-окружения.
Что лежит в основе
Главная идея Utopia — хранить не только текущее состояние знания, но и историю его изменения. Bitemporal knowledge graph разделяет два времени: когда утверждение было истинно в мире и когда система о нём узнала. Поэтому факт можно исправить без перезаписи старой версии: система закроет прежнюю запись и свяжет её с новой. У рёбер графа тоже есть собственные атрибуты, а не только название связи.
Такой подход особенно полезен для enterprise-задач, где важно не только найти документ, но и показать, на каких основаниях строилось решение, какие версии существовали раньше и откуда взялась конкретная связь. Ontology задаёт словарь и ограничения для извлечённых сущностей и фактов, а система отдельно показывает признаки derived facts, их уверенность и основания вывода.
Ingest и поиск
Платформа принимает PDF, DOCX, PPTX, XLSX, XLS, ODS, CSV, TSV, Markdown, HTML и plain text, включая legacy encoding. Кроме загрузки файлов, предусмотрена синхронизация web pages, RSS, GitHub, Jira, Notion, WebDAV и S3-compatible buckets по расписанию. Остальные источники можно подключать через API.
Поиск объединяет full-text search на Tantivy и vectors в pgvector, а затем смешивает результаты через RRF. В чате ответы передаются потоком и содержат inline citations, по которым можно открыть исходный фрагмент. Поддерживаются OpenAI-compatible endpoints: среди перечисленных в README — DeepSeek, Qwen, GLM, Ollama и vLLM. Это даёт возможность использовать локальные модели и air-gapped deployment.
Агенты, MCP и RAG
Встроенный agent harness позволяет управлять системой через диалог. Агент ищет по документам, обходит graph и запрашивает у mounted database данные в контексте текущих знаний. Он может узнать факты сущности на конкретную дату или получить изменения за выбранный период.
Те же read-only tools доступны через MCP. Для каждой knowledge base можно поднять отдельный MCP server с fine-grained permissions, чтобы подключить её к Claude Desktop, Cursor, Workbuddy и другим agent frameworks. Таким образом, Utopia выступает не только поисковым приложением, но и контролируемым слоем знаний для внешних агентов.
Ontology, reasoning и review
Новая knowledge base не начинается с пустого словаря: при создании выбираются ontology packs. В бинарник входят schema.org, W3C Org, PROV-O, FOAF и IOF Core. Новые термины сначала считаются, а часто встречающиеся пользователь может подтвердить, после чего они становятся частью ontology.
Ontology axioms компилируются в правила для forward chaining: транзитивность, симметрия, обратные отношения и иерархия связей позволяют выводить новые факты. Derivation по умолчанию выключена, поскольку неверная аксиома может порождать неверные выводы. Derived fact помечается в графе, получает validity и confidence, а также показывает исходные premises. Если вывод противоречит утверждённому факту, приоритет сохраняется за последним.
Entity resolution проходит в три стадии: точное имя или alias, similarity embeddings и решение модели для сомнительных пар. Любой merge можно отменить. Низкоуверенные извлечения, suspected duplicates и конфликты cardinality попадают в review queue. Решения человека записываются и используются для дальнейшей настройки агента.
Система также различает конфликты между фактами, нарушения axioms и противоречия в самой ontology. Для факта доступны варианты закрыть старую версию, сохранить обе или отклонить новое утверждение; для нарушения axiom можно отозвать факт, ослабить правило или принять оба состояния. Перед применением проверяется сама ontology, чтобы не строить выводы на заведомо противоречивом основании.
Запросы к данным и эксплуатация
К knowledge base можно подключить Postgres, MySQL и другие engines с совместимым протоколом, а также Trino для Iceberg, Delta Lake и Hive, Databricks и Snowflake. Агент предлагает mapping таблиц на ontology, а пользователь подтверждает его. За метод Ontology2SQL, на который ссылается проект, отдельно приведены результаты на BIRD Mini-Dev для SQLite и PostgreSQL: репозиторий Ontology2SQL.
В каждой knowledge base есть собственные members и roles: owner, admin, editor и viewer. Открытые базы доступны всем пользователям deployment, закрытые — только по приглашению. Decision ledger фиксирует, кто и когда подтвердил или отклонил факт, объединил или откатил сущность, перестроил graph. Ledger append-only, а запись переживает сам объект и его knowledge base.
Быстрый запуск
Для готового образа нужен Docker:
git clone https://github.com/deeplethe/utopia.git
cd utopia
docker compose --profile app up -d
После открытия http://localhost:1516 первый зарегистрированный пользователь становится системным администратором, а вместе с ним создаётся публичная knowledge base. Перед загрузкой бизнес-документов нужно настроить chat и embedding model endpoints в разделе Administration → Models.
Сборка из исходников для локальной разработки требует Rust 1.85+, Node 20+ и pnpm; базовый запуск выполняется через Docker Compose с override-файлом:
docker compose -f docker-compose.yml -f docker-compose.build.yml --profile app up -d --build
Проект находится на стадии v0.1. Схема базы меняется между версиями, а migrations выполняются только вперёд, без rollback. В production README рекомендует фиксировать версию через UTOPIA_IMAGE и делать backup database вместе с каталогом data. Перед публикацией в интернет следует прочитать SECURITY.md. Дополнительные инструкции для участников находятся в CONTRIBUTING.md; лицензия — Apache-2.0.
Roadmap
В roadmap заявлены decision reasoning с replay решений, business rules над фактами сущностей, execution gate для проверки вызовов агента, поддержка MaxCompute, дополнительные источники вроде ClickHouse и Feishu, agent memory over MCP и enterprise-возможности: OIDC SSO, backup/restore и benchmarks на 100k документов. Это показывает направление развития — от knowledge foundation к decision intelligence, где решения можно объяснять и проверять на основе зафиксированных оснований.
Источник: https://github.com/deeplethe/utopia