
类型:数据库
简介:实时且性能出色的向量数据库,专门针对大规模向量搜索进行优化。
Pinecone索引可以帮助用户快速找到所需的数据。无服务器索引代表着无需管理服务器就能自动扩展。下面站长百科主要介绍如何创建两种常见的无服务器索引:密集索引和稀疏索引,以及相关注意事项。
一、Pinecone密集索引创建
密集索引就像是把整本书的内容提炼成一个精华摘要,用数字向量表示文本、图像等数据的含义。你可以用它进行语义搜索(比如找意思相近的内容),或者和稀疏索引结合使用。
1、集成嵌入方式(自动转换文本)
如果你想直接上传文本,让Pinecone自动帮你转换为向量,可以这样创建:
from pinecone import Pinecone
pc = Pinecone(api_key=”YOUR_API_KEY”)
index_name = “integrated-dense-py”
if not pc.has_index(index_name):
pc.create_index_for_model(
name=index_name,
cloud=”aws”,
region=”us-east-1″,
embed={
“model”:”llama-text-embed-v2″,
“field_map”:{“text”: “chunk_text”}
}
)
2、自带向量方式(已有外部生成的向量)
如果你已经用其他工具把数据转换成了向量,只需告诉Pinecone向量数据库的维度和相似度计算方法:
from pinecone.grpc import PineconeGRPC as Pinecone
from pinecone import ServerlessSpecpc = Pinecone(api_key=”YOUR_API_KEY”)
index_name = “standard-dense-py”
if not pc.has_index(index_name):
pc.create_index(
name=index_name,
vector_type=”dense”,
dimension=1536,
metric=”cosine”,
spec=ServerlessSpec(
cloud=”aws”,
region=”us-east-1″
),
deletion_protection=”disabled”,
tags={
“environment”: “development”
}
)
二、Pinecone稀疏索引创建(公共预览版)
稀疏索引就像是书的目录,记录了关键词在文档中的位置和重要性。你可以用它进行关键词搜索,或者和密集索引结合使用。
1、集成嵌入方式
from pinecone import Pinecone
pc = Pinecone(api_key=”YOUR_API_KEY”)
index_name = “integrated-sparse-py”
if not pc.has_index(index_name):
pc.create_index_for_model(
name=index_name,
cloud=”aws”,
region=”us-east-1″,
embed={
“model”:”pinecone-sparse-english-v0″,
“field_map”:{“text”: “chunk_text”}
}
)
2、自带向量方式
from pinecone import Pinecone, ServerlessSpec
pc = Pinecone(api_key=”YOUR_API_KEY”)
index_name = “standard-sparse-py”
if not pc.has_index(index_name):
pc.create_index(
name=index_name,
vector_type=”sparse”,
metric=”dotproduct”,
spec=ServerlessSpec(cloud=”aws”, region=”eu-west-1″)
)
三、关键选项说明
1、云区域选择
创建索引时,需要选择存储数据的云服务商和区域。不同区域支持的计划不同:
AWS官网:注册立享100+免费云服务
| 云服务商 | 区域 | 支持的计划 | 可用性状态 |
| AWS | us-east-1 (弗吉尼亚) | Starter、Standard、Enterprise | 正式发布 |
| AWS | us-west-2 (俄勒冈) | Standard、Enterprise | 正式发布 |
| AWS | eu-west-1 (爱尔兰) | Standard、Enterprise | 正式发布 |
| GCP | us-central1 (爱荷华) | Standard、Enterprise | 正式发布 |
| GCP | europe-west4 (荷兰) | Standard、Enterprise | 正式发布 |
| Azure | eastus2 (弗吉尼亚) | Standard、Enterprise | 正式发布 |
注意:免费的Starter计划只能在AWS的us-east-1区域创建索引。如果需要其他区域,需要升级计划。而且索引创建后,云区域无法更改。
2、相似度指标
创建密集索引时,需要选择计算向量相似度的方法,就像选择用什么标准来判断两本书是否相似:
- 欧氏距离:计算向量之间的直线距离
- 余弦相似度:计算向量方向的相似性
- 点积:计算向量的内积
为了获得最准确的结果,建议选择和你使用的嵌入模型相同的相似度指标。而稀疏索引只能使用点积。
3、嵌入模型
嵌入模型能把文本、图像等数据转换成向量。Pinecone提供了多种托管的嵌入模型,你可以让Pinecone在插入数据和查询时自动转换,也可以自己先用外部工具转换好再上传。
通过以上步骤可以轻松创建适合自己需求的Pinecone无服务器索引。

