Skip to main content
Pinecone 是一个功能广泛的向量数据库。
本笔记本展示了如何使用与 Pinecone 向量数据库相关的功能。

设置

要使用 PineconeSparseVectorStore,您首先需要安装合作伙伴包以及本笔记本中使用的其他包。

凭证

创建一个新的 Pinecone 帐户,或登录现有帐户,并创建一个 API 密钥以在本笔记本中使用。

初始化

在初始化我们的向量存储之前,让我们连接到一个 Pinecone 索引。如果名为 index_name 的索引不存在,它将被创建。
对于我们的稀疏嵌入模型,我们使用 pinecone-sparse-english-v0,我们这样初始化它:
现在我们的 Pinecone 索引和嵌入模型都已准备就绪,我们可以在 LangChain 中初始化我们的稀疏向量存储:

管理向量存储

一旦您创建了向量存储,我们就可以通过添加和删除不同的项目与之交互。

向向量存储添加项目

我们可以使用 add_documents 函数向向量存储添加项目。

从向量存储删除项目

我们可以使用 delete 方法从向量存储中删除记录,为其提供要删除的文档 ID 列表。

查询向量存储

一旦我们将文档加载到向量存储中,我们很可能准备好开始查询。在 LangChain 中有多种方法可以做到这一点。 首先,我们将看到如何通过直接使用 similarity_search 方法查询我们的 vector_store 来执行简单的向量搜索:
我们还可以向查询添加元数据过滤,以根据各种条件限制搜索范围。让我们尝试一个简单的过滤器,将搜索限制为仅包含 source=="social" 的记录:
比较这些结果时,我们可以看到第一个查询返回了一个来自 "website" 来源的不同记录。在我们后来的、经过过滤的查询中——情况就不再是这样了。

相似性搜索和分数

我们还可以在返回相似性分数的同时进行搜索,结果以 (document, score) 元组列表的形式返回。其中 document 是一个 LangChain Document 对象,包含我们的文本内容和元数据。

作为检索器

在我们的链和代理中,我们经常将向量存储用作 VectorStoreRetriever。要创建它,我们使用 as_retriever 方法:
我们现在可以使用 invoke 方法查询我们的检索器:

用于检索增强生成的用法

有关如何将此向量存储用于检索增强生成 (RAG) 的指南,请参阅以下部分:

API 参考

有关所有功能和配置的详细文档,请访问 API 参考: API 参考 稀疏嵌入: API 参考