原始文档元数据metadata

目录

[1. 举个最直观的例子](#1. 举个最直观的例子)

[2. 为什么叫"原始"](#2. 为什么叫“原始”)

[3. 在 RAG / Agent 里它有什么用](#3. 在 RAG / Agent 里它有什么用)

第一种用途:做过滤

第二种用途:做引用

第三种用途:做排序

第四种用途:做权限或状态控制

[4. 它和 chunk metadata 有什么区别](#4. 它和 chunk metadata 有什么区别)

文档元数据

[chunk metadata](#chunk metadata)

[5. 在数据库里一般怎么存](#5. 在数据库里一般怎么存)

[6. 你做 Agent 项目时可以怎么理解](#6. 你做 Agent 项目时可以怎么理解)

[7. 你可以先这样记](#7. 你可以先这样记)


"原始文档元数据"就是:

描述一篇文档本身的信息,但不是文档正文内容。

你可以把它理解成:

文档内容是"书里的文字",元数据是"这本书的封面信息、标签、编号、来源说明"。


1. 举个最直观的例子

假设你有一篇产业报告:

文档正文内容:

2025 年中国新能源车产业链进入新一轮产能调整阶段......

这部分是真正的文本内容

而它对应的原始文档元数据可能是:

复制代码
{
  "title": "2025中国新能源车产业链研究报告",
  "source": "某证券研究所",
  "source_type": "pdf",
  "author": "研究团队A",
  "published_at": "2025-11-01",
  "industry": "新能源车",
  "document_status": "active",
  "url": "https://xxx.com/report.pdf"
}

这些信息就叫原始文档元数据


2. 为什么叫"原始"

因为它是文档这一层自带的基础属性,还没有切 chunk、还没做 embedding、还没做检索加工。

也就是:

  • 文档刚入库时就有的描述信息

  • 用来标识"这篇文档是谁、从哪来、属于什么类型"

所以叫"原始文档元数据"。


3. 在 RAG / Agent 里它有什么用

它非常有用,不是装饰品。

第一种用途:做过滤

比如用户问:

只看最近三个月的医药行业报告

你就可以根据元数据过滤:

  • industry = 医药

  • published_at >= 某个日期


第二种用途:做引用

回答时你可以告诉用户:

  • 来源:某证券研究所

  • 发布时间:2025-11-01

  • 文档标题:xxx

这比"我从某个神秘文本里看出来的"靠谱多了。


第三种用途:做排序

比如你可以让系统优先选择:

  • 更新时间更近的文档

  • 来源更权威的文档

  • 状态为 active 的文档


第四种用途:做权限或状态控制

例如:

  • document_status = active

  • document_status = archived

  • document_status = deleted

这样系统就知道哪些文档还能检索,哪些不能用了。


4. 它和 chunk metadata 有什么区别

这个区别很关键。

文档元数据

描述的是整篇文档

例如:

  • 标题

  • 作者

  • 来源

  • 发布时间

  • 行业

  • 文档状态

chunk metadata

描述的是某个切片

例如:

  • 第几个 chunk

  • 这一段在第几页

  • 这一段属于哪个章节

  • 字符范围/段落范围

比如:

复制代码
{
  "document_id": 12,
  "chunk_index": 5,
  "page": 8,
  "section_title": "市场空间分析"
}

所以:

  • 原始文档元数据 = 文档级信息

  • chunk metadata = 切片级信息


5. 在数据库里一般怎么存

通常在 documents 表里放原始文档元数据。

比如:

复制代码
CREATE TABLE documents (
    id BIGSERIAL PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    source VARCHAR(255),
    source_type VARCHAR(50),
    document_status VARCHAR(50),
    metadata JSONB,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

其中这个 metadata JSONB 就常用来存灵活的原始文档元数据,比如:

复制代码
{
  "author": "研究团队A",
  "published_at": "2025-11-01",
  "industry": "新能源车",
  "region": "中国"
}

6. 你做 Agent 项目时可以怎么理解

一句很务实的话:

正文是给模型看的,元数据是给系统管控和检索策略看的。

模型主要读正文内容。

系统主要利用元数据来:

  • 过滤

  • 排序

  • 追踪来源

  • 生成引用

  • 做权限控制

所以元数据像文档的"身份证 + 标签系统"。


7. 你可以先这样记

最简单的记忆法:

  • content:文档写了什么

  • metadata:文档是什么、从哪来、属于谁、能不能用

相关推荐
超哥--3 小时前
B站视频内容智能分析系统(九):React 前端与管理面板
前端·react.js·前端框架
devilnumber4 小时前
Java 递归算法 详解 + 核心要点 + 实战运用 + 避坑指南
java·开发语言·算法
asdfg12589636 小时前
JavaBean是什么?怎么理解?有什么用途?
java·开发语言
Cutecat_6 小时前
视频字幕处理工具横向:提取模式 vs 编辑模式,该如何选择
android·前端·ios·语音识别
dsyyyyy11016 小时前
JavaScript变量
开发语言·javascript·ecmascript
qq_422152576 小时前
PDF 加水印工具怎么选?2026 年文档版权保护方案对比
前端·pdf·github
kyriewen6 小时前
手写 Promise.all、race、any:不到 30 行代码,解决并发异步的所有姿势
前端·javascript·面试
摇滚侠7 小时前
SpringMVC 入门到实战 文件上传 75-77
java·后端·spring·maven·intellij-idea
brucelee1867 小时前
OpenClaw 浏览器控制(Chrome MCP)完整教程
前端·chrome
GIS数据转换器7 小时前
城市排水生命线安全运行监测平台深度解析
java·运维·人工智能·python·安全·数据挖掘·无人机