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 参考