01. Pinecone 向量数据库简介
Pinecone 是一个托管且云原生的向量数据库,具有简洁的 API,允许用户无需进行本地部署即可快速上手。Pinecone 提供商为每个账户提供了充足的免费空间,方便用户在开发阶段迅速构建 AI 应用。
相关资料
Pinecone 向量数据库的设计架构与 Faiss 存在显著差异。作为一个面向商业的向量数据库,Pinecone 在功能和概念上更为丰富。以下是几个核心概念及架构图:
概念解释
- 组织: 组织是指使用相同结算方式的一组项目集合,例如个人账户、公司账户等都可以被视为一个组织。
- 项目: 项目用于整合和管理向量数据库、索引、硬件资源等内容,可以区分不同项目的数据。
- 索引: 索引是 Pinecone 中数据的最高组织单位。创建索引时,需要定义向量的存储维度和查询时使用的相似性指标。Pinecone 支持两种类型的索引:无服务器索引(根据数据大小自动扩容)和 Pod 索引(具有预设的空间和硬件)。
- 命名空间: 命名空间是索引内的分区,用于将索引中的数据分成不同的组,方便在不同组内存储不同的数据,如将知识库和记忆存储到不同的组中,类似于 Excel 中的工作表。
- 记录: 记录是数据的基本单位,每条记录包括 ID、向量(values)、元数据(metadata)等信息。
相关资料
在 Pinecone 中使用向量数据库时,需要确保组织、项目、索引、命名空间和记录等内容已妥善配置。此外,由于 Pinecone 是云端向量数据库,使用时还需配置相应的 API 密钥(可以在注册 Pinecone 后的管理页面中设置 API Key)。
对于 Pinecone,LangChain 团队也封装了相应的包。安装命令如下:
pip install -U langchain-pinecone
然后在 .env 文件中配置对应的 API 秘钥,如下:
# Pinecone向量数据库
PINECONE_API_KEY=xxx
接下来就可以像 Faiss 一样去使用 LangChain 封装好的向量数据库了(会有稍许差异,这是不同向量数据库之间的一些差异)。