Weaviate Blog

Building Foundry Part 3: From archive to creative search

8.5内容质量
Building Foundry Part 3: From archive to creative search

TL;DR · AI 摘要

Weaviate的Foundry工具通过扫描现有档案并生成可搜索的创意库,实现高效的内容检索,无需重命名或移动文件。

核心要点

  • Foundry通过只读扫描生成清单,无需修改原始文件。
  • 准备阶段添加描述、标签和元数据,提升搜索准确性。
  • foundry:// URI保持与原始源的链接,避免文件存储问题。

结构提纲

按章节快速跳转。

  1. 介绍Foundry的目标是将现有档案转化为可搜索的创意库。

  2. 通过只读扫描生成清单,记录文件信息而不修改源文件。

  3. 添加描述、标签和元数据,生成结构化数据以提升搜索准确性。

  4. ·Weaviate集成

    同步数据到Weaviate,支持关键字、语义或混合搜索。

  5. 测试档案包含23个资产,展示处理过程和结果。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Foundry创意搜索架构
    • 扫描流程
      • 只读扫描
      • 生成清单
    • 数据准备
      • 元数据提取
      • 语义描述
    • Weaviate集成
      • 语义搜索
      • 混合搜索

金句 / Highlights

值得收藏与分享的关键句。

#Weaviate#语义搜索#创意工作流#文件管理
打开原文

构建 Foundry 第 3 部分:从档案到创意搜索 | Weaviate

构建 Foundry 第 3 部分:从档案到创意搜索

2026 年 9 月 8 日

·

6 分钟阅读

Shan Blackwood

网页开发人员 - 增长

Svitlana Smolianova

设计负责人

Victoria Slocum

机器学习工程师

您的浏览器不支持视频标签。

Foundry 在搜索创意档案库

构建 Foundry:关于创意工作流程、语义搜索和 Weaviate 的实用系列。

阅读该系列的上一篇文章:第 2 部分:创意工作流程的断裂点。

第 1 部分介绍了问题。第 2 部分展示了为什么随着档案库的增长,传统的工作组织方式变得不再可靠。现在我们将构建解决方案。

Foundry 将现有档案库转换为可搜索的创意库。它扫描文件,记录发现的内容,为每个资产准备检索信息,并将结果与 Weaviate 同步。没有任何文件被移动或重命名。每个搜索结果仍然可以追溯到原始来源。

code
创意档案库
↓
只读扫描器
↓
清单和描述
↓
Weaviate 集合
↓
关键词、语义或混合搜索
↓
源资产

从我们已有的档案库开始

我们的测试档案库包含来自五个虚构项目的 23 个资产。其中包括概念艺术、设计导出文件、制作笔记、音频、视频和参考图像。

这些文件名故意不一致:

code
final_FINAL_v7.svg
BROLL_NEW2.svg
scene_14_USE_THIS.svg
logo_options_FINAL3.svg
bridge_texture.svg

这种混乱是有意为之。Foundry 应该适用于团队当前拥有的档案库,而不是他们可能永远没有时间创建的完美组织的档案库。

第 1 步:在不修改源文件的情况下扫描

Foundry 从只读扫描开始。它遍历选定的文件夹并记录每个支持文件的事实。

code
npm install
npm run demo

扫描器捕获源路径、项目、文件类型、大小、修改日期和内容哈希。它将结果写入 output/manifest.json。

内容哈希为每个资产提供稳定的标识。它使 Foundry 即使文件名保持不变也能检测到更改,并在没有变化时跳过工作。

浏览器将该清单转化为可视化内容。图像有预览,视频可以播放,文档在没有缩略图的情况下仍可见。

这个初步检查点很重要,因为搜索无法找到扫描器遗漏的内容。

第 2 步:为检索准备记录

清单告诉我们存在哪些内容。下一步是描述这些文件包含的内容。

准备阶段添加描述、标签、提取文本、关系角色和源 URI。一个准备好的图像记录如下所示:

code
{
"fileName"
:
"rain-floor.jpg"
,
"relativePath"
:
"RAIN TRAILER/References/rain-floor.jpg"
,
"project"
:
"RAIN TRAILER"
,
"assetType"
:
"image"
,
"relationshipRole"
:
"reference"
,
"description"
:
"大雨击打反射地板,带有明亮的水滴和景深效果。"
,
"tags"
:
[
"雨"
,
"湿地板"
,
"反射"
,
"氛围"
]
,
"sourceUri"
:
"foundry://RAIN TRAILER/References/rain-floor.jpg"
}

foundry:// URI 指向资产本身,而不将 Weaviate 视为文件存储。生产版本可以使用 DAM 链接、挂载路径、S3 URL 或应用路由。

目前,演示版本使用一个小型增强清单,确保每次运行都产生相同的结果。后续版本可以从图像字幕、OCR、文字稿和视频关键帧生成此上下文。

第 3 步:与 Weaviate 同步

同步之前,Foundry 会精确展示即将被索引的内容。用户可以在任何内容到达 Weaviate 之前,查看描述、元数据和源路径。

应用程序随后会创建或更新 Foundry 集合。Weaviate 会生成嵌入向量并将其与元数据一同存储。每个对象都会保留其源路径和权限状态。

再次运行该过程时不会产生重复数据。确定性标识符确保每个资产更新同一个对象。

相同的流程也可以通过命令行实现:

code
npm run scan
npm run ingest:prepare
npm run ingest:cloud

云凭证保存在本地的 .env 文件中:

code
WEAVIATE_URL=https://your-cluster.weaviate.network
WEAVIATE_API_KEY=replace-with-a-read-write-api-key
WEAVIATE_COLLECTION=Foundry

第 4 步:搜索归档

同步完成后,归档将变为一个实时搜索工作区。

第一个测试查询易于描述但难以映射到文件名:

code
white rabbit in a grassy landscape

搜索结果包含兔子的参考图像、Big Buck Bunny 电影预告片以及相关的景观图像。无需记住文件名或文件夹路径,用户只需描述他们记得的内容,Foundry 就能将相关作品重新呈现出来。

Foundry 提供三种检索模式:

code
keyword  → 精确匹配词语和名称
semantic → 通过嵌入向量表示的语义
hybrid   → 关键词和语义信号的组合

关键词搜索适用于用户记得文件名或制作术语的情况。语义搜索适用于用户记得内容但不记得具体术语的情况。混合搜索则能同时利用这两类记忆生成结果。

过滤器使这些结果更具实用性。用户可以通过项目、文件类型或关系角色来缩小归档范围。相同的模式也可用于筛选审批状态、版权信息、过期日期和交付格式。

构建成果证明

该原型现已完整实现了从源文件夹到实用结果的流程:

  • 它可以扫描嵌套归档而无需修改源文件。
  • 它通过内容哈希创建稳定记录并检测更改。
  • 它在摄入之前丰富记录,而不仅仅依赖文件名。
  • 它在 Weaviate 中存储可搜索记录和管理的嵌入向量。
  • 它在相同归档中对比关键词、语义和混合检索效果。
  • 它能返回图像和视频,并附带返回源文件的链接。

目前 Foundry 仍处于原型阶段。自动丰富、增量重扫描、版权感知过滤和相关性反馈将是项目下一步的更新方向。

运行 Foundry

该项目可在 GitHub 上获取:

code
cp .env.example .env
# 添加你的 Weaviate 云 URL 和 API 密钥
npm install
npm run demo

使用 Node.js 22 或更新版本进行云同步和实时搜索。本地库存可以在没有云凭证的情况下运行。

提示

探索 Foundry 仓库并按照 README 指南扫描示例归档或连接你自己的 Weaviate 云集合。

从隐藏文件到有用的历史

Foundry 最初源于一个熟悉的创作困扰:记得作品内容却找不到它所在的位置。

它不会取代这些作品背后的文件夹、工具或习惯。它为归档提供了一种全新的自我揭示方式。过去依赖正确文件名、文件夹或同事的资产,现在可以通过其背后的理念被找到。

归档不再只是已完成作品消失的地方,它重新成为创作素材。

准备开始构建?

查看快速入门教程,或注册 Weaviate Cloud 免费账户。

GitHub

Forum

X (Twitter)

不想错过另一篇博客文章吗?

订阅我们的双周刊通讯以保持最新动态!

通过提交,我同意

服务条款

.