AI 存储功能指南

功能简介

AI 存储是一个基于多模态向量模型的智能文件管理系统,支持图片的智能上传、AI 语义搜索和以图搜图功能。通过向量化技术和 AI 分析,实现了对图片内容的深度理解和高效检索。

核心能力

支持文本语义搜索和图片相似度搜索,自动为上传的图片生成 AI 内容描述。

前置准备

配置多模态向量模型

系统支持以下多模态向量模型:

  • 阿里云百炼:multimodal-embedding-v1
  • 火山引擎:doubao-embedding-vision-250615
多模态向量模型配置
模型选择

确保选择的模型支持图片向量化,普通文本向量模型无法处理图片内容。

配置向量数据库

在系统中配置向量数据库,用于存储文件的向量表示。支持 Milvus、Pgvector、Chroma、Qdrant 等向量数据库。

向量库配置

使用指南

界面布局

AI 存储功能采用左右分栏布局:

  • 左侧:分组管理面板,包含系统分组和自定义分组
  • 右侧:文件网格展示区,支持搜索、批量操作和文件管理
AI 存储界面

分组管理

系统分组

系统提供两个内置分组:

  • 所有文件:展示所有已上传的文件
  • 最近上传:展示最近上传的 6 个文件

自定义分组

支持创建自定义分组来组织文件:

  1. 点击"我的分组"旁的加号按钮
  2. 输入分组名称和描述
  3. 可选择父分组实现分组嵌套
  4. 保存后即可在分组树中查看
分组操作

鼠标悬停在分组上会显示编辑和删除按钮,支持快速管理分组。

上传图片

  1. 点击左侧面板的"上传图片"按钮
  2. 选择需要上传的图片文件(支持 PNG、JPG、JPEG 格式)
  3. 单次最多上传 20 张图片,单个文件最大 2MB
  4. 上传完成后系统自动触发 AI 分析
自动分析

图片上传后会自动进行向量化处理和 AI 内容分析,处理时间取决于图片大小和模型响应速度。

文本语义搜索

在搜索框中输入关键词,系统会基于 AI 语义理解进行搜索:

  1. 输入搜索关键词(支持中英文)
  2. 可选择文件类型进行过滤
  3. 可选择排序方式(最新、名称、大小)
  4. 按回车键或点击搜索执行查询
语义搜索

不同于传统文件名搜索,语义搜索会匹配图片的 AI 内容描述,例如搜索"山川"可以找到包含山水风景的图片。

以图搜图

点击搜索框右侧的"以图搜图"按钮:

  1. 选择一张本地图片
  2. 系统自动将图片向量化
  3. 在向量数据库中查找相似图片
  4. 返回相似度最高的图片列表
应用场景

以图搜图适用于查找相似风格的图片、寻找重复文件或发现视觉上相关的内容。

实现原理

文件上传与向量化流程

graph LR
  A[上传图片] --> B[保存文件信息]
  B --> C[读取文件流]
  C --> D[转换为 Base64]
  D --> E[调用多模态模型]
  E --> F[生成向量 embedding]
  F --> G[存储到向量数据库]
  G --> H[更新 AI 分析状态]
详细流程说明
  1. 用户上传图片后,前端调用 POST /storage/file 接口保存文件信息
  2. 后端异步调用 embedFile 方法进行向量化处理
  3. 从文件存储中读取原始图片流,转换为 Base64 格式
  4. 调用多模态向量模型(Ark 或阿里云)生成 embedding 向量
  5. 验证并创建向量数据库存储实例
  6. 将向量和元数据(type=STORAGE_FILE, id=fileId)存储到向量库
  7. 更新文件记录的 ai_analyzed 状态为已分析

文本搜索流程

graph LR
  A[输入关键词] --> B[文本向量化]
  B --> C[向量相似度搜索]
  C --> D[过滤 type=STORAGE_FILE]
  D --> E[返回文件 ID 列表]
  E --> F[批量查询文件实体]
  F --> G[返回搜索结果]

后端接口:GET /storage/search?keyword=xxx

以图搜图流程

graph LR
  A[上传查询图片] --> B[图片转 Base64]
  B --> C[多模态模型向量化]
  C --> D[向量相似度搜索]
  D --> E[返回相似文件列表]

后端接口:POST /storage/search/image