向量数据库中存放的是向量本身(即数据向量化后的高维数值表示),同时会关联存储原始数据的ID和元数据

具体来说,向量数据库包含以下内容:

1. 向量本身(核心存储)

  • 原始数据经过embedding模型处理后得到的数值向量
  • 通常是浮点数数组(如128维、768维、1536维等)
  • 这些向量才是向量数据库真正用于相似性搜索的核心数据

2. 关联存储的信息

  • 原始数据的ID:用于反向查找原始数据
  • 元数据:原始数据的其他属性(如文本内容、标签、时间戳等)
  • 索引结构:用于加速相似性搜索的索引(如HNSW、IVF等)

典型存储结构示例:

{
  "vector": [0.12, -0.34, 0.56, ...],  # 768维向量
  "id": "doc_001",                     # 原始数据ID
  "metadata": {                        # 元数据
    "text": "人工智能是未来...",
    "category": "科技",
    "timestamp": "2024-01-15"
  }
}

工作流程:

原始数据 → Embedding模型 → 向量化 → 存入向量数据库
   ↓         ↓
 文本/图片   向量存储 + ID + 元数据
   ↓
 搜索时:查询向量 → 相似度计算 → 返回最相似的向量 → 通过ID获取原始数据

常见的向量数据库:

  • PineconeWeaviateQdrant:同时存储向量和元数据
  • MilvusChroma:向量 + ID + 可选的元数据
  • Faiss(更偏向索引库):主要关注向量索引,元数据需要外部管理

简单说:向量是主角,ID和元数据是重要的配角,三者一起才能实现完整的检索功能。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐