矢量搜索简介

如需对此功能提供反馈或请求支持,请发送电子邮件至 bq-vector-search@google.com

本文档简要介绍了 BigQuery 中的矢量搜索。借助矢量搜索,您可以搜索嵌入以识别语义上相似的实体。

嵌入是表示给定实体(如一段文本或音频文件)的高维数字矢量。机器学习 (ML) 模型使用嵌入对此类实体的语义进行编码,以便更轻松地推断和比较实体。例如,聚类、分类和推荐模型中的常见操作是测量嵌入空间中矢量之间的距离,以查找语义上最相似的项。

如需执行矢量搜索,您可使用 VECTOR_SEARCH 函数,也可以选择使用矢量索引。当使用矢量索引时,VECTOR_SEARCH 会使用近似最近邻搜索技术来帮助提高矢量搜索性能,虽然降低召回率,但可返回更接近的结果。当矢量索引不可用时,您可使用暴力破解来返回精确的结果,即使在矢量索引可用时,您也可以选择使用暴力破解来获得精确的结果。

价格

CREATE VECTOR INDEX 语句VECTOR_SEARCH 函数使用 BigQuery 计算价格。对于 CREATE VECTOR INDEX 语句,在处理的字节中仅考虑编入索引的列。

当组织中编入索引的表数据的总大小低于 20 TB 限制时,构建和刷新矢量索引所需的处理是免费的。为支持超出此限制的索引,您必须提供自己的预留来处理索引管理作业。矢量索引在处于活跃状态时会产生存储费用。您可以在 INFORMATION_SCHEMA.VECTOR_INDEXES 视图中找到索引存储空间大小。如果矢量索引尚未达到 100% 覆盖率,您仍需要为 INFORMATION_SCHEMA.VECTOR_INDEXES 视图中报告的所有索引存储付费。

配额和限制

如需了解详情,请参阅矢量索引限制

限制

  • BigQuery BI Engine 无法加速包含 VECTOR_SEARCH 函数的查询。
  • BigQuery 数据安全和治理规则适用于 VECTOR_SEARCH 的使用。如需了解详情,请参阅 VECTOR_SEARCH 中的限制部分。这些规则不适用于矢量索引生成。

后续步骤

  • 详细了解如何创建矢量索引
  • 完成使用向量搜索来搜索嵌入教程,了解如何创建向量索引,然后分别使用和不使用索引来执行嵌入的向量搜索。
  • 完成生成和使用文本嵌入教程,了解如何执行以下任务:

    • 生成文本嵌入。
    • 在嵌入上创建向量索引。
    • 使用嵌入执行向量搜索,以搜索类似文本。
    • 使用向量搜索结果执行检索增强生成 (RAG),以增强提示输入并改善结果。