> [!NOTE] > 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。 > [English](./README.en.md) · [原始项目](https://github.com/open-metadata/OpenMetadata) · [上游 README](https://github.com/open-metadata/OpenMetadata/blob/HEAD/README.md) > 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。 # OpenMetadata ![Commit Activity](https://img.shields.io/github/commit-activity/m/open-metadata/OpenMetadata?style=for-the-badge) [![Release](https://img.shields.io/github/release/open-metadata/OpenMetadata/all.svg?style=for-the-badge)](https://github.com/open-metadata/OpenMetadata/releases) ## AI 的开放上下文层 **面向 AI 上下文、数据目录与元数据管理的最大且增长最快的开源项目。** OpenMetadata 是一个开放平台,为每位数据用户、AI 助手和智能体提供可信的数据上下文、组织记忆与业务语义。 OpenMetadata 将技术元数据、数据质量信号、血缘(lineage)、列级血缘、所有权、使用情况、策略、对话、记忆、术语表、分类、指标、数据域、数据契约和数据产品整合为统一的元数据知识图谱。借助 **130+ 连接器**、开放元数据标准、语义搜索、API、SDK 和 MCP 服务器,OpenMetadata 为每位用户和 AI 系统提供受治理的上下文,以发现、理解、信任、记忆和使用数据。 **AI 不需要又一个原始数据库连接器。AI 需要上下文 + 记忆。** ![OpenMetadata:AI 的开放上下文层](docs/assets/open-context-layer-hero.png) OpenMetadata 提供 AI 需要了解的上下文: - 存在哪些数据 - 数据的含义 - 谁拥有它 - 如何使用 - 来源 - 流向 - 是否新鲜、经过测试、已认证且可信 - 适用哪些业务概念、分类、术语表条目、策略、契约和数据产品 - 哪些下游仪表盘、流水线、指标、ML 模型和应用依赖它 - 已记录哪些关于它的对话、决策、假设和记忆片段(memory nuggets) --- ## 为何选择 OpenMetadata 用于 AI? AI 系统需要的不仅是数据访问。它们还需要受治理的上下文、业务含义、信任信号、血缘、使用情况、所有权、标准以及组织记忆。 直接连接数据仓库、数据湖、仪表盘或流水线只会暴露原始结构。它无法告诉 AI 助手数据的含义、是否已认证、谁拥有它、适用哪些策略、受哪份契约约束、变更会破坏什么,或组织已从中获得哪些经验。 OpenMetadata 是开放的上下文层,为每位数据用户和 AI 智能体提供企业数据的全景视图。 OpenMetadata 汇聚五大能力: 1. **上下文(Context)** — 来自整个数据生态系统的技术、运营、信任、使用与血缘元数据。 2. **语义(Semantics)** — 通过术语表、指标、分类、数据域、策略、本体(ontologies)和数据产品表达业务含义。 3. **知识图谱(Knowledge Graph)** — 连接资产、列、人员、团队、质量、血缘、策略、记忆、契约与业务概念的关系。 4. **记忆(Memory)** — 对话、AI 线程、决策、假设、运行手册、修复说明以及可复用的记忆片段,用于保存隐性知识(tribal knowledge)。 5. **激活(Activation)** — MCP、语义搜索、API、SDK、事件与工作流,使上下文可被 AI 助手、智能体、应用和人类使用。 借助 OpenMetadata,用户和 AI 智能体可以回答: - 该指标的含义是什么,如何计算? - 哪些数据集为该仪表盘提供数据? - 谁拥有该数据产品? - 适用哪份数据契约? - 该数据集是否新鲜、经过测试、已认证且可信? - 该列变更会影响哪些下游仪表盘、流水线或 ML 模型? - 哪些列包含敏感客户信息? - 适用哪些术语表条目、策略、标准与业务概念? - 关于该资产已记录哪些决策、假设、事件或对话? --- ## OpenMetadata 连接的上下文 OpenMetadata 收集并连接 AI 安全推理企业数据所需的上下文。 | 上下文类型 | OpenMetadata 捕获的内容 | 对 AI 的意义 | | --- | --- | --- | | **技术元数据** | 数据库、模式、表、列、主题、仪表盘、图表、流水线、API、搜索索引、ML 模型、存储资产、数据类型、约束、描述、连接、示例查询、服务元数据、所有者、团队、使用情况、数据域和数据产品 | 帮助 AI 发现存在哪些资产并理解其结构 | | **质量与信任** | 测试用例、测试套件、新鲜度检查、数据量检查、空值、唯一性、分布、自定义测试、剖析结果、可观测性信号、事件、告警与质量历史 | 帮助 AI 避免将每个数据集都视为同等可信 | | **血缘与影响** | 上游与下游血缘、表级血缘、列级血缘、仪表盘血缘、流水线血缘、指标血缘、ML 模型血缘、API 与主题依赖,以及 OpenLineage 事件 | 帮助 AI 说明数据来源、流向以及哪些变更可能引发破坏 | | **语义** | 术语表、业务术语、同义词、相关术语、指标、KPI、分类、标签、数据域、数据产品、策略、角色画像(personas)、生命周期状态与本体 | 帮助 AI 将技术名称映射到业务含义 | | **治理** | 所有者、数据管家(stewards)、团队、策略、角色、分类、访问上下文、认证、评审工作流、生命周期状态与数据契约 | 帮助 AI 在具备策略感知的上下文中行动 | | **记忆与隐性知识** | 对话、AI 线程、决策、假设、运行手册、修复说明、事件经验以及附加于资产、用户、团队、数据产品和智能体工作流的可复用记忆片段 | 帮助人类与智能体继承组织已有经验,而非在每次对话中重新发现 | | **标准与互操作性** | DCAT、DPROD、PROV-O、OpenLineage、ODCS、RDF/OWL、JSON-LD、SHACL、JSON Schema、API、事件与元数据模式 | 帮助上下文在工具、智能体、目录、契约与知识图谱之间流转 | --- ## 架构:上下文 + 记忆图谱 ![OpenMetadata 如何工作](docs/assets/open-context-layer-architecture.png) OpenMetadata 围绕开放的、模式优先(schema-first)的元数据图谱构建。 1. **收集(Collect)** 通过 **130+ 连接器**、摄取 API、事件与 SDK,从数据仓库、数据湖、BI 工具、流水线、ML 平台、消息系统、存储系统、API、搜索系统、SaaS 应用、元数据系统、文档、对话与智能体工作流收集元数据。 2. **规范化(Normalize)** 使用开放模式与标准,使每项资产、关系、策略、契约、血缘事件与记忆都能一致表示。 3. **连接(Connect)** 将技术元数据、质量信号、血缘、所有权、使用情况、策略、对话、记忆、语义、数据域、契约与数据产品整合为一张图谱。 4. **保存记忆(Preserve Memory)** 将对话、AI 线程、决策、假设、运行手册与修复说明转化为可复用、受治理的记忆片段,并与数据资产及业务上下文关联。 5. **治理(Govern)** 通过开放标准、分类、策略、角色、数据质量、评审工作流、数据契约与数据管理(stewardship)对上下文进行治理。 6. **激活(Activate)** 通过语义搜索、MCP、API、SDK、事件、Webhook、元数据应用与 AI 工作流使上下文可用。 记忆是架构的一部分,而非旁路通道。它使工程师可通过 API、SDK、MCP 或 AI 工作流保存对话上下文,并将隐性知识转化为可复用的组织知识。 --- ## 上下文图谱、语义与记忆 ![OpenMetadata 上下文图谱](docs/assets/open-context-layer-graph.png) OpenMetadata 图谱不仅存储数据资产,还存储资产、列、所有者、团队、策略、质量测试、血缘、分类、术语表条目、指标、数据域、数据契约、数据产品、对话与记忆片段之间的关系。 示例关系: ```text Table ──hasColumn────────────> Column Column ──classifiedAs─────────> PII Column ──represents───────────> Customer Identifier Table ──ownedBy─────────────> Data Engineering Team Table ──partOf──────────────> Customer 360 Data Product Dashboard ──dependsOn───────────> Table Metric ──definedBy───────────> Glossary Term Pipeline ──produces────────────> Table Column ──flowsTo─────────────> Column Test Case ──validates───────────> Table Policy ──governs─────────────> Classification Data Contract ──appliesTo───────────> Table OpenLineage Event ──updatesLineageFor───> Pipeline Agent Conversation ──capturedAs──────────> Memory Memory ──informs─────────────> Data Product Memory ──documentsDecisionFor> Metric Memory ──attachedTo──────────> Table / Column / Topic / Dashboard / Pipeline / API ``` 该图谱为 AI 系统提供跨数据资产域进行推理所需的关系、语义、记忆与治理能力。 --- ## 记忆(Memories):面向人类与智能体的组织上下文 ![Memory Primitives](docs/assets/memory-primitives.png) 记忆会保留那些通常会在聊天、工单、会议、笔记本和 AI 智能体线程中消失的重要上下文。 记忆(memory)是一种开放、受治理的 OpenMetadata 实体,可与数据资产、用户、团队、线程、域、数据产品、指标、策略、事件和工作流关联。工程师可通过 API、SDK、MCP、聊天或 AI 应用来捕获和检索记忆。 使用记忆来保留: - 某个指标为何发生变化 - 某列为何被重命名 - 某次分析使用了哪些假设 - 哪项修复措施解决了数据质量问题 - 某项决策适用于哪个仪表板或数据产品 - AI 智能体在调查事件过程中学到了什么 - 领域专家在对话中解释了什么 记忆通过让隐性知识可复用、受治理、可搜索,并可供每一位接触你数据的人类、助手和智能体使用,从而释放组织内的隐性知识(tribal knowledge)。 --- ## MCP、语义搜索、API、AI SDK 与记忆 OpenMetadata 通过面向 AI 和开发者的友好接口,让上下文可付诸行动。 ### MCP Server OpenMetadata 内置 MCP 服务器,让兼容 MCP 的助手和智能体能够通过自然语言与元数据图谱交互。 AI 助手可使用 OpenMetadata MCP 来: - 搜索元数据 - 运行语义搜索 - 检索实体详情 - 检查血缘(lineage) - 理解数据契约与策略上下文 - 检索或保存记忆片段(memory nuggets) - 更新描述、标签、所有者及其他元数据 - 创建术语表条目与血缘 - 列出并创建数据质量测试 - 分析数据质量失败的根本原因 入门指南:[OpenMetadata MCP Server Documentation](https://docs.open-metadata.org/latest/how-to-guides/mcp) ### Semantic Search 语义搜索(Semantic Search)让用户和 AI 助手不仅能按精确关键词,还能按语义含义查找数据资产。 ```text Find trusted customer purchase datasets with known data quality issues and recent remediation notes. ``` 即使名称在不同域、工具和团队之间不一致,OpenMetadata 也能呈现概念上相关的资产、指标、术语表条目、数据产品、记忆片段和治理上下文。 ### APIs, SDKs, Events, and Webhooks OpenMetadata 提供 API、SDK、事件和 Webhook,供团队在生态系统中摄取、更新、搜索、订阅和自动化元数据。 开发者可使用 AI SDK 构建自定义 AI 应用,以编程方式利用 OpenMetadata 的上下文与记忆。 --- ## 你可以构建什么 ### AI Data Discovery 对元数据图谱提出自然语言问题,即使名称和关键词不完全匹配,也能找到相关资产。 ### Trusted AI Assistants 将 AI 回答建立在受治理的元数据之上:所有者、描述、术语表条目、分类、质量、新鲜度、使用情况、血缘、策略、契约和记忆。 ### Agent Memory and Tribal Knowledge 将对话、决策、假设、运行手册(runbook)和智能体所学内容捕获为受治理的记忆片段,供每位数据用户和 AI 智能体复用。 ### Impact Analysis Agents 询问如果表、列、流水线、仪表板、指标、ML 特征、契约或数据产品发生变化,将会破坏什么。 ### Governance Automation 使用智能体建议描述、分配术语表条目、识别敏感数据、提议所有权、强制执行契约上下文,并管理数据管理(stewardship)工作流。 ### Data Quality Automation 使用 AI 工作流创建测试、汇总失败、识别根本原因、保留修复记忆,并推荐后续行动。 ### Developer and Coding Agent Workflows 将编码智能体连接到 OpenMetadata,使其在生成 SQL、dbt 模型、文档、测试、迁移计划或影响分析之前,先理解模式、所有者、血缘、业务定义、质量预期、契约和记忆。 --- ## 开放标准与互操作性 OpenMetadata 构建于开放的元数据标准之上。 [OpenMetadata Standards](https://openmetadatastandards.org/) 是 OpenMetadata 背后的模式、API、本体、事件模型和语义规范的开放源码之家。 它提供: - 700+ 个用于元数据实体、API、配置、事件和关系的 JSON Schema - 面向语义网、关联数据和知识图谱用例的 RDF/OWL 本体 - 用于验证的 SHACL 形状(shapes) - 用于语义互操作的 JSON-LD 上下文 - 涵盖治理、血缘、质量、可观测性、团队、用户、角色、策略、事件、契约和数据产品的标准 OpenMetadata 支持并与对 AI 上下文和数据生态系统至关重要的标准保持一致: | Standard | How OpenMetadata uses it | | --- | --- | | **DCAT / DPROD** | 在可互操作的语义模型中表示目录和数据产品上下文,包括数据集、数据服务、分发、域、所有者、输入与输出数据集、生命周期状态、用途和策略。 | | **PROV-O** | 使用 W3C 溯源语义表示血缘、生成/派生数据、智能体、活动、所有权和可解释上下文。 | | **OpenLineage Support** | 接收并连接兼容 OpenLineage 的血缘事件,使流水线执行元数据能够丰富更广泛的 OpenMetadata 图谱。 | | **ODCS Support** | 支持 Open Data Contract Standard 3.1,实现可互操作的数据契约、契约导入/导出、模式预期、质量规则、SLA、支持渠道、角色以及生产者-消费者协议。 | | **RDF/OWL, JSON-LD, SHACL** | 使元数据对图谱友好、语义可互操作,并可在关联数据、知识图谱和 AI 用例中进行验证。 | | **JSON Schema, APIs, Events** | 使元数据可移植、便于自动化,并可在工具、智能体和自定义应用之间扩展。 | 这些标准使 OpenMetadata 成为可互操作语义元数据、关联数据、数据产品、数据契约、血缘、溯源和企业知识图谱的基础。 --- ## 核心平台能力 | Capability | Includes | | --- | --- | | **AI Context and Memory** | 记忆片段、对话、智能体线程、决策、假设、修复备注、运行手册、上下文检索,以及受治理的智能体记忆 | | **Discovery and Understanding** | 资产搜索、语义搜索、描述、样本数据、使用情况、所有权、对话、任务、公告 | | **Governance and Semantics** | 术语表、分类、标签、指标、KPI、域、数据产品、策略、角色、认证、生命周期状态 | | **Data Contracts and Standards** | ODCS 3.1 支持、契约导入/导出、模式预期、SLA、服务条款、语义关系、数据产品上下文、DCAT/DPROD、PROV-O、RDF/OWL、JSON-LD、SHACL | | **Data Quality and Observability** | 测试、剖析、新鲜度、数据量、空值、唯一性、分布检查、告警、事件、根因工作流 | | **Lineage and Impact Analysis** | 表级血缘、列级血缘、仪表板血缘、流水线血缘、指标血缘、ML 模型血缘、OpenLineage 支持、影响分析 | | **Security and Access Control** | 身份验证、授权、角色、策略、SSO、机器人令牌、用户令牌、MCP 身份验证、受治理的元数据操作 | | **Extensibility and Automation** | 130+ 连接器、API、SDK、Webhook、事件、应用、摄取框架、自定义连接器、自定义属性、MCP 工具、AI SDK 工作流 | --- ## 快速入门 1. **Try OpenMetadata**:[OpenMetadata Sandbox](https://sandbox.open-metadata.org) 2. **Install OpenMetadata**:[Quickstart Guide](https://docs.open-metadata.org/latest/quick-start) 3. **Ingest Metadata**:从数据仓库、BI 工具、流水线系统、数据质量工具、血缘来源、契约来源或产生记忆的工作流中摄取元数据。 4. **Build Context**:通过描述、所有者、团队、域、数据产品、质量测试、新鲜度、使用情况、血缘和数据契约来构建上下文。 5. **Add Semantics**:通过术语表、分类、标签、指标、KPI、策略、域、与 DCAT/DPROD 对齐的数据产品,以及 PROV-O 血缘上下文来添加语义。 6. **Capture Memory**:从对话、AI 线程、事件、修复备注、假设和决策中捕获记忆。 7. **Enable Semantic Search**:让用户和 AI 助手能够按语义含义进行搜索。 8. **Connect an MCP Client**:为 AI 助手和智能体提供对 OpenMetadata 上下文与记忆的受治理访问。 9. **Build AI Applications**:使用 OpenMetadata API、SDK、MCP 工具、事件和 AI SDK 工作流构建 AI 应用。 --- ## 文档与社区 - 文档:[docs.open-metadata.org](https://docs.open-metadata.org/) - MCP 服务器:[OpenMetadata MCP Documentation](https://docs.open-metadata.org/latest/how-to-guides/mcp) - OpenLineage 连接器:[OpenMetadata OpenLineage Documentation](https://docs.open-metadata.org/latest/connectors/pipeline/openlineage) - OpenMetadata 标准:[openmetadatastandards.org](https://openmetadatastandards.org/) - 网站:[open-metadata.org](https://open-metadata.org/) - Slack 社区:[slack.open-metadata.org](https://slack.open-metadata.org/) - 博客:[blog.open-metadata.org](https://blog.open-metadata.org/) --- ## 开源与企业 AI OpenMetadata 是面向 AI 上下文(AI context)、元数据(metadata)、组织记忆(organizational memory)、语义(semantics)、治理(governance)、质量(quality)、血缘(lineage)、数据契约(data contracts)、开放标准(open standards)、API、MCP 与 AI SDK 工作流的开源基础。 如需托管式企业能力、AI 智能体(AI agents)、自动化、AI Studio、企业级 MCP 工作流、商业支持与托管运维,请参阅 Collate: - [Collate](https://www.getcollate.io/) - [Collate AI](https://www.getcollate.io/collate-ai) --- ## 贡献 我们欢迎来自社区的贡献。你可以帮助改进元数据模式与标准、添加连接器、改进摄取(ingestion)工作流、增强 MCP 工具、改进语义搜索、添加记忆(memory)工作流、补充文档、修复缺陷并提升用户体验。 请参阅本仓库中的贡献指南以开始参与。 - [如何贡献](https://docs.open-metadata.org/v1.12.x/developers/contribute) - [开发环境搭建](https://docs.open-metadata.org/v1.12.x/developers/contribute/development-environment-setup) - [构建代码与运行测试](https://docs.open-metadata.org/v1.12.x/developers/contribute/build-code-and-run-tests) --- ## 许可证 OpenMetadata 根据 [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0). 发布。