首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Supabase 用 Vector Buckets 让 RAG 告别复杂技术栈

Supabase 用 Vector Buckets 让 RAG 告别复杂技术栈

作者头像
埃兰德欧神
发布2025-12-24 13:44:39
发布2025-12-24 13:44:39
260
举报
文章被收录于专栏:开源地带开源地带

在构建 AI 应用,特别是检索增强生成(RAG)系统时,你是否也曾被复杂的技术栈所困扰?

通常的做法:将文件存储在 S3 这样的对象存储中,然后调用 OpenAI 等模型生成向量嵌入(Embeddings),再将这些向量存入一个专门的向量数据库(如 Pinecone, Weaviate)。这个流程不仅繁琐,还带来了数据同步、权限管理和额外成本等一系列问题。

现在,Supabase 带来了一个优雅的解决方案,或许能让你告别这种复杂性: Vector Buckets——一个内置了相似度搜索功能的持久化对象存储层。

简单来说,你可以把它想象成一个“超级 S3 存储桶”:你往里面存文件,它不仅能帮你保管文件,还能让你直接对这些文件进行语义搜索!这一切都构建在 Supabase 强大的 PostgreSQL 和 pgvector扩展之上。

为什么 Vector Buckets 如此令人兴奋?

  • 技术栈极大简化:你不再需要引入和维护一个独立的向量数据库。文件存储、向量生成、相似度搜索,一切都在 Supabase 平台内一站式完成。
  • 数据不离库,安全可控:文件和它们的向量嵌入存储在一起,让你能利用 Supabase 成熟的行级安全(RLS)策略来精细控制数据访问权限。这对于处理敏感数据的应用至关重要。
  • 与 Supabase 生态无缝集成:Vector Buckets 与 Supabase 的认证、数据库、边缘函数等所有功能无缝协作,提供了一个连贯且高效的开发体验。
  • 自动化处理流程:你可以设置数据库函数和 Webhook,实现文件上传后自动触发 Embedding 生成和存储,完全无需人工干预。

快速上手:构建一个简单的 RAG 应用

下面,我们通过一个简单的例子,看看使用 Vector Buckets 有多方便。

第一步:创建一个 Vector Bucket

首先,在 Supabase 的仪表盘或通过客户端库创建一个新的存储桶,并指定 embedding 模型。

代码语言:javascript
复制
-- 使用 SQL 创建一个 vector bucket
SELECT storage.create_bucket(
'documents',
public => true,
  file_size_limit => '50MB',
  allowed_mime_types => ARRAY['application/pdf'],
-- 启用向量扩展
  extensions => jsonb_build_object(
    'vectors', jsonb_build_object(
      'embedding_model', 'text-embedding-3-small'
    )
  )
);
第二步:上传文件并自动生成 Embedding

当你向这个 documents存储桶上传一个 PDF 文件时,Supabase 的扩展会自动在后台完成以下操作:

  1. 解析 PDF 内容。
  2. 将内容分块(Chunking)。
  3. 调用你指定的 text-embedding-3-small模型为每个块生成向量嵌入。
  4. 将这些块和向量存入一个名为 supabase_storage_vectors的新表中。

这一切都是全自动的!

第三步:执行相似度搜索

现在,你可以使用 storage.search()函数来查找与你的问题最相关的内容块。

代码语言:javascript
复制
// 使用 Supabase JS 客户端进行搜索
const { data, error } = await supabase
  .storage
  .search('documents', 'What are vector buckets?')

if (data) {
  // 'data' 将包含最相似的文本块
  // 接下来你可以将这些文本块作为上下文注入到 LLM 的 Prompt 中
  console.log(data)
}

总结

Supabase 的 Vector Buckets 通过将相似度搜索功能直接集成到对象存储层,极大地简化了 AI 应用(尤其是 RAG)的开发流程。它降低了技术栈的复杂性,提高了数据安全性和开发效率。

如果你正在构建或计划构建 AI 应用,那么这个新功能绝对值一试!它让我们离“人人都能轻松构建 AI 应用”的未来又近了一步。

Vector Buckets 目前只对Pro及以上版本提供 Public Alpha 测试,在测试期间,Vector Buckets 可以免费使用。

参考资料:

Introducing Vector Buckets

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源地带 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么 Vector Buckets 如此令人兴奋?
  • 快速上手:构建一个简单的 RAG 应用
    • 第一步:创建一个 Vector Bucket
    • 第二步:上传文件并自动生成 Embedding
    • 第三步:执行相似度搜索
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档