索引
本文档介绍了与Pinecone索引相关的概念。要了解如何创建或修改索引,请参见管理索引。
索引是Pinecone向量数据的最高级组织单位。它接受和存储向量,为其中包含的向量提供查询服务,并对其内容进行其他向量操作。每个索引至少在一个pod上运行。
Pods、pod类型和pod大小
Pods是预先配置的硬件单元,用于运行Pinecone服务。每个索引在一个或多个Pod上运行。通常,Pod越多,意味着存储容量越大,延迟越低,吞吐量越高。您也可以创建不同大小的Pod。
一旦使用特定的Pod类型创建索引,就不能更改该索引的Pod类型。但是,您可以使用不同的Pod类型从该集合创建新索引。
不同的Pod类型的价格不同。有关更多详细信息,请参见价格。
入门计划
使用入门计划时,您可以创建一个Pod,具有足够的资源支持约100,000个向量,具有1536维嵌入和元数据;对于其他维度,容量成比例增加。
在使用入门计划时,所有 create_index
调用都将忽略 pod_type
参数。
s1 pods
这些优化存储的pod提供大容量存储和更低的总体成本,但查询延迟略高于p1 pods。它们非常适合具有中等或宽松延迟要求的非常大的索引。
每个s1 pod的容量足够存储约5M个768维向量。
p1 pods
这些性能优化的pod提供非常低的查询延迟,但每个pod存储的向量比s1 pods少。它们非常适合具有低延迟要求(<100ms)的应用程序。
每个p1 pod的容量足够存储约1M个768维向量。
p2 pods
p2 pod类型提供更高的查询吞吐量和更低的延迟。对于小于128维的向量和topK
小于50的查询,p2 pods每个replica支持高达200 QPS,并在小于10ms的时间内返回查询结果。这意味着查询吞吐量和延迟都比s1和p1更好。
每个p2 pod的容量约为1M个768维向量,但是容量可能因维度而异。
p2 pods的数据摄取速率比p1 pods慢得多;随着维度数量的增加,这种速率会降低。例如,包含128维向量的p2 pod可以每秒插入高达300个更新;包含768维或更多向量的p2 pod支持每秒50个更新的插入。由于p2 pods的查询延迟和吞吐量与p1 pods不同,因此请使用您的数据集测试p2 pods的性能。
p2 pod类型不支持稀疏向量值。
Pod大小和性能
Pod的性能因多种因素而异。为了观察您的工作负载在给定的pod类型上的表现,请使用自己的数据集进行实验。
每种pod类型都支持四种pod尺寸:x1
,x2
,x4
和x8
。每次尺寸增加,索引存储和计算容量都会增加一倍。默认pod尺寸为x1
。您可以在索引创建后增加pod的尺寸。
要了解如何更改索引的pod大小,请参阅管理索引。
Distance metrics
创建向量索引时,可以选择不同的度量方法:
euclidean
- 用于计算平面上两个数据点之间的距离。这是最常用的距离度量之一。有关示例,请参见我们的图像相似度搜索示例。
- 当您使用
metric='euclidean'
时,最相似的结果是具有最低分数的结果。
cosine
- 常用于查找不同文档之间的相似性。其优点是得分归一化到[-1,1]范围内。
dotproduct
- 用于计算两个向量的数量积。您可以使用它来告诉我们两个向量的相似程度。答案越正,两个向量在方向上越接近。
要获取可用于自定义索引的参数的完整列表,请参见create_index API参考。
根据您的应用程序,某些度量方法具有比其他度量方法更好的召回率和精确度表现。有关更多信息,请参见:什么是向量相似性搜索?
更新时间 8天前