跳到主要内容

快速入门

如何开始使用Pinecone向量数据库。

本指南介绍如何在几分钟内设置Pinecone向量数据库。

  1. 安装Pinecone客户端(可选)

此步骤是可选的。只有在您想使用Python客户端时才执行此步骤。

使用以下shell命令安装Pinecone:

Python

pip install pinecone-client

  1. 获取和验证您的Pinecone API密钥

要使用Pinecone,您必须拥有API密钥。 要查找您的API密钥,请打开Pinecone控制台并单击API密钥。 此视图还显示您的项目的环境。 请注意您的API密钥和环境。

要验证您的Pinecone API密钥是否有效,请使用以下命令:

下面分别是Python和Curl代码

Python & Curl

import pinecone

pinecone.init(api_key="YOUR_API_KEY", environment="YOUR_ENVIRONMENT")

如果您没有收到错误消息,则表示您的API密钥有效。

  1. Hello, Pinecone!

您可以通过以下三种方式完成剩余的步骤:

  • 使用"Hello, Pinecone!" colab笔记本在浏览器中编写和执行Python代码。

  • 将以下命令复制到您的本地Python安装中。

  • 使用以下cURL API命令。

  1. 初始化Pinecone

下面分别是Python和Curl代码

import pinecone
pinecone.init(api_key="YOUR_API_KEY", environment="YOUR_ENVIRONMENT")

# Not applicable

  1. 创建索引。

以下命令创建一个名为“quickstart”的索引,使用欧几里得距离进行8维向量的近似最近邻搜索。

索引创建大约需要一分钟时间。

下面分别是Python和Curl代码

pinecone.create_index("quickstart", dimension=8, metric="euclidean")

curl -i -X POST \
-H 'Content-Type: application/json' \
-H 'Api-Key: YOUR_API_KEY_HERE' \
https://controller.YOUR_ENVIRONMENT.pinecone.io/databases \
-d '{
"name": "quickstart",
"dimension": 8,
"metric": "euclidean"
}'

⚠️警告

一般来说,Starter(免费)计划上的索引会被归档为集合,并在7天不活动后删除;对于由某些开源项目(例如AutoGPT)创建的索引,它们会在1天不活动后被归档和删除。要避免这种情况,您可以向Pinecone发送任何API请求,计数器就会重置。

  1. 检索索引列表。

索引创建后,其名称将出现在索引列表中。

使用以下命令返回索引列表。

下面分别是Python和Curl代码

pinecone.list_indexes()
# Returns:
# ['quickstart']

curl -i https://controller.YOUR_ENVIRONMENT.pinecone.io/databases \
-H "Api-Key: YOUR_API_KEY"
# Output:
# ["quickstart"]

  1. 连接到索引(仅客户端)。

在使用客户端查询索引之前,您必须连接到索引。

使用以下命令连接到您的索引。

下面分别是Python和Curl代码

index = pinecone.Index("quickstart")

# Not applicable

  1. 插入数据。

要将向量注入到您的索引中,请使用upsert操作。

upsert操作将新向量插入索引或更新向量(如果具有相同ID的向量已经存在)。

以下命令将5个8维向量upsert到您的索引中。

下面分别是Python和Curl代码

# Upsert sample data (5 8-dimensional vectors)
index.upsert([
("A", [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]),
("B", [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]),
("C", [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]),
("D", [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4]),
("E", [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5])
])

curl -i -X POST https://quickstart-YOUR_PROJECT.svc.YOUR_ENVIRONMENT.pinecone.io/vectors/upsert \
-H 'Api-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"vectors": [
{
"id": "A",
"values": [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
},
{
"id": "B",
"values": [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]
},
{
"id": "C",
"values": [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]
},
{
"id": "D",
"values": [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4]
},
{
"id": "E",
"values": [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]
}
]
}'

上面的cURL命令使用了您的Pinecone索引的端点

ℹ️注意

在upsert大量数据时,分批次upsert数据,每次最多100个向量。

  1. 获取索引的统计信息。

以下命令返回有关索引内容的统计信息。

下面分别是Python和Curl代码

index.describe_index_stats()
# Returns:
# {'dimension': 8, 'index_fullness': 0.0, 'namespaces': {'': {'vector_count': 5}}}

curl -i https://quickstart-YOUR_PROJECT.svc.YOUR_ENVIRONMENT.pinecone.io/describe_index_stats \
-H 'Api-Key: YOUR_API_KEY'

# Output:
# {
# "namespaces": {
# "": {
# "vectorCount": 5
# }
# },
# "dimension": 8
# }

  1. 查询索引并获取相似向量。

以下示例查询索引中与8维向量示例最相似的三个(3)向量,使用步骤2(“创建索引”)中指定的欧几里得距离度量。

下面分别是Python和Curl代码

index.query(
vector=[0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3],
top_k=3,
include_values=True
)
# Returns:
# {'matches': [{'id': 'C',
# 'score': 0.0,
# 'values': [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]},
# {'id': 'D',
# 'score': 0.0799999237,
# 'values': [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4]},
# {'id': 'B',
# 'score': 0.0800000429,
# 'values': [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]}],
# 'namespace': ''}

curl -i -X POST https://quickstart-YOUR_PROJECT.svc.YOUR_ENVIRONMENT.pinecone.io/query \
-H 'Api-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"vector": [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3],
"topK": 3,
"includeValues": true
}'

# Output:
# {
# "matches":[
# {
# "id": "C",
# "score": -1.76717265e-07,
# "values": [0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3]
# },
# {
# "id": "B",
# "score": 0.080000028,
# "values": [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]
# },
# {
# "id": "D",
# "score": 0.0800001323,
# "values": [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4]
# }
# ],
# "namespace": ""
# }

  1. 删除索引。

一旦您不再需要该索引,请使用delete_index操作将其删除。

以下命令会删除索引。

下面分别是Python和Curl代码

pinecone.delete_index("quickstart")

curl -i -X DELETE https://controller.YOUR_ENVIRONMENT.pinecone.io/databases/quickstart \
-H 'Api-Key: YOUR_API_KEY'

⚠️警告

删除索引后,您将无法再使用它。

下一步操作

现在您已经成功使用API密钥创建索引,可以开始插入数据查看更多示例

更新时间 大约1个月前