Pinecone索引

2024-08-16 83

索引是Pinecone中向量数据的最高级组织单位,负责接收和存储向量数据,提供查询服务,并执行其他针对包含的向量的操作。本教程介绍了与Pinecone索引相关的概念。

一、Pods、Pod类型及大小

Pods是预先配置的硬件单元,用于运行Pinecone服务。一个索引可以运行在一个或多个Pods上。通常,Pods数量越多,意味着更大的存储容量、更低的延迟和更高的吞吐量。还可以根据需求创建不同大小的Pods。

一旦使用特定的Pod类型创建了索引,将无法更改该索引的Pod类型。但是,可以从现有的集合中使用不同的Pod类型来创建新的索引。

入门计划

在入门计划中,可以创建一个Pod,其资源足以支持大约100,000个具有1536维嵌入和元数据的向量;对于其他维度,其容量会相应增加。使用入门计划时,所有create_index调用都将忽略pod_type参数。

S1 Pods

这些Pods优化了存储,提供了大容量存储和较低的总体成本,但其查询延迟略高于P1 Pods。它们非常适合有中等或宽松延迟需求的非常大的索引。每个S1 Pod能够存储约500万个768维向量。

P1 Pods

这些性能优化的Pods提供非常低的查询延迟,但每个Pod能存储的向量数量少于S1 Pods。它们非常适合对延迟要求低于100ms的应用。每个P1 Pod能够存储约100万个768维向量。

P2 Pods

P2 Pod类型提供更高的查询吞吐量和更低的延迟。对于小于128维的向量和TopK小于50的查询,P2 Pods每个副本支持高达200 QPS,并能在小于10ms的时间内返回查询结果。这意味着在查询吞吐量和延迟方面,它们比S1和P1表现得更好。每个P2 Pod的容量约为100万个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类型都支持四种尺寸:x1、x2、x4和x8。每次尺寸增加,索引的存储和计算容量都会翻倍。默认Pod尺寸为x1。可以在创建索引后调整Pod的大小。

三、距离度量方法

在创建向量索引时,可以选择不同的度量方法:

Euclidean

Euclidean用于计算平面上两点之间的距离,是最常使用的距离度量之一。当使用metric=’euclidean’时,最相似的结果是得分最低的结果。

Cosine

Cosine常用于确定不同文档之间的相似度,其优势在于得分被归一化到[-1,1]范围内。

Dotproduct

Dotproduct用于计算两个向量的数量积,以指示两向量在方向上的接近程度。得分越正,表示两个向量的方向越一致。

  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。
Pinecone索引
上一篇: OpenAI补全