跳转到内容
搜索文档

创建索引

最后更新 查看 MarkdownAgent 设置

索引是 Vectorize 的"原子"单元。向量被插入索引中,使您能够针对给定输入向量查询索引中的相似向量。

创建索引需要三个输入:

  • 短横线命名(kebab-cased)的名称,例如 prod-search-indexrecommendations-idx-dev
  • 每个向量的(固定)维度大小,例如 384 或 1536。
  • 用于计算向量相似性的(固定)距离度量

不能使用账户上当前活跃索引的名称创建索引。但是,可以使用已删除索引的名称创建新索引。

索引的配置在创建后无法更改。

创建索引

wrangler CLI

使用 wrangler 创建索引:

npx wrangler vectorize create your-index-name --dimensions=NUM_DIMENSIONS --metric=SELECTED_METRIC

要创建可接受来自 Workers AI @cf/baai/bge-base-en-v1.5 嵌入模型(输出 768 维向量)的向量嵌入的索引,请使用以下命令:

npx wrangler vectorize create your-index-name --dimensions=768 --metric=cosine

HTTP API

Vectorize 还支持通过 REST API 创建索引。

例如,直接从 Python 脚本创建索引:

import requests

url = "https://api.cloudflare.com/client/v4/accounts/{}/vectorize/v2/indexes".format("your-account-id")

headers = {
    "Authorization": "Bearer <your-api-token>"
}

body = {
	"name": "demo-index",
	"description": "some index description",
  "config": {
    "dimensions": 1024,
    "metric": "euclidean"
  },
}

resp = requests.post(url, headers=headers, json=body)

print('Status Code:', resp.status_code)
print('Response JSON:', resp.json())

此脚本应打印状态码 201 的响应,以及表示使用提供的配置创建索引的 JSON 响应体。

维度

维度由用于生成它们的机器学习(ML)模型的输出大小决定,是模型如何编码和描述特征到向量嵌入中的函数。

输出维度数量可以影响向量搜索准确性、搜索性能(延迟)和索引的整体大小。较小的输出维度可能搜索更快,这对面向用户的应用很有用。较大的输出维度可以提供更准确的搜索,特别是在较大数据集和/或具有大量相似输入的数据集上。

索引创建的维度数量无法更改。索引期望接收具有相同维度数量的密集向量。

下表列出了一些示例嵌入模型及其输出维度:

模型 / 嵌入 API 输出维度 用例
Workers AI - @cf/baai/bge-base-en-v1.5 768 文本
OpenAI - ada-002 1536 文本
Cohere - embed-multilingual-v2.0 768 文本
Google Cloud - multimodalembedding 1408 多模态(文本、图像)

距离度量

距离度量是确定向量彼此接近程度的函数。Vectorize 索引支持以下距离度量:

度量 详情
cosine 距离范围从 -1(最不相似)到 1(完全相同)。0 表示正交向量。
euclidean 欧几里得(L2)距离。0 表示相同向量。正数越大,向量相距越远。
dot-product 负点积。较大的负值 较小的正值表示向量更相似。分数 -1000-500 更相似,分数 1550 更相似。

确定向量之间的相似性可能是主观的,取决于表示向量嵌入中特征的机器学习模型。例如,使用 cosine 度量时,分数 0.8511 表示两个向量距离接近,但它们所代表的数据是否 相似 取决于模型表示原始内容的能力。

查询向量时,您可以指定 Vectorize 使用:

  • 高精度评分,提高查询匹配分数的精度以及查询结果的准确性。
  • 近似评分以获得更快的响应时间。使用近似评分,返回的分数将是查询与返回向量之间真实距离/相似性的近似值。请参阅 评分精度和查询准确性的控制

距离度量在索引创建后无法更改,每种度量都有不同的评分函数。

这篇文档对您有帮助吗?