跳到主要内容

使用公共的Pinecone数据集

本文档介绍如何使用现有的Pinecone数据集。

要了解创建和列出数据集的方法,请参阅创建数据集

数据集包含向量和元数据

Pinecone数据集包含密集和稀疏向量值和元数据。Pinecone的Python客户端支持从数据集中更新向量。您还可以使用数据集迭代向量以自动化查询。

列出公共数据集

要列出可用的Pinecone公共数据集,请使用list_datasets()方法。

示例

以下示例检索包含有关公共松果数据集的信息的对象。

Python

from pinecone_datasets import list_datasets

list_datasets()

上面的示例返回如下对象:

Shell

['ANN_DEEP1B_d96_angular', 'ANN_Fashion-MNIST_d784_euclidean', 'ANN_GIST_d960_euclidean', 'ANN_GloVe_d100_angular', 'ANN_GloVe_d200_angular', 'ANN_GloVe_d25_angular', 'ANN_GloVe_d50_angular', 'ANN_LastFM_d64_angular', 'ANN_MNIST_d784_euclidean', 'ANN_NYTimes_d256_angular', 'ANN_SIFT1M_d128_euclidean', 'quora_all-MiniLM-L6-bm25', 'quora_all-MiniLM-L6-v2_Splade']

加载数据集

要将数据集加载到内存中,请使用load_dataset方法。您可以使用此方法加载Pinecone公共数据集或自己的数据集。

示例

以下示例加载了quora_al-MiniLM-L6-bm25 Pinecone公共数据集。

Python

from pinecone_datasets import list_datasets, load_dataset

list_datasets()
# ["quora_all-MiniLM-L6-bm25", ... ]

dataset = load_dataset("quora_all-MiniLM-L6-bm25")

dataset.head()

上面的示例打印以下输出:

Shell

┌─────┬───────────────────────────┬─────────────────────────────────────┬───────────────────┬──────┐
│ id ┆ values ┆ sparse_values ┆ metadata ┆ blob │
│ ┆ ┆ ┆ ┆ │
│ str ┆ list[f32] ┆ struct[2] ┆ struct[3] ┆ │
╞═════╪═══════════════════════════╪═════════════════════════════════════╪═══════════════════╪══════╡
0[0.118014, -0.069717, ...{[470065541, 52922727, ... 22364... {2017,12,"other"}....
│ ┆ 0.0060... ┆ ┆ ┆ │
└─────┴───────────────────────────┴─────────────────────────────────────┴───────────────────┴──────┘

迭代数据集

您可以使用iter_documents方法迭代数据集中的向量数据。您可以使用此方法来更新向量、自动化基准测试或其他任务。

示例

您可以使用iter_documents方法迭代数据集中的向量数据。您可以使用此方法来更新向量、自动化基准测试或其他任务。

示例

以下示例加载名为quora_all-MiniLM-L6-bm25的数据集,然后按批次迭代数据集中的文档(每批100个文档)并将向量数据upsert到名为my-index的Pinecone索引中。

Python

import pinecone
from pinecone_datasets import list_datasets, load_dataset

dataset = load_dataset("quora_all-MiniLM-L6-bm25")

pinecone.init(api_key="API_KEY", environment="us-west1-gcp")

pinecone.create_index(name="my-index", dimension=384, pod_type='s1')

index = pinecone.Index("my-index")

分批迭代文档并插入到索引中。

Python

for batch in dataset.iter_documents(batch_size=100):
index.upsert(vectors=batch)

以下示例将数据集插入为数据帧。

Python

import pinecone

from pinecone_datasets import list_datasets, load_dataset

dataset = load_dataset("quora_all-MiniLM-L6-bm25")

pinecone.init(api_key="API_KEY", environment="us-west1-gcp")

pinecone.create_index(name="my-index", dimension=384, pod_type='s1')

index = pinecone.Index("my-index")

将数据集插入为数据帧。

Python

index.upsert_from_dataframe(dataset.drop(columns=["blob"]))

接下来怎么做