Pinecone 快速开始
Pinecone 是目前最流行的云端托管向量数据库(Vector Database-as-a-Service)。它专为生产环境设计,能够处理亿万级别的向量数据,并提供亚秒级的搜索响应。
1. 为什么选择 Pinecone?
- 零运维:无需管理服务器或 Docker,直接调用 API。
- 高性能:专为大规模相似性搜索优化的底层架构。
- 实时更新:数据写入后几乎立即可以被搜索到。
- Serverless:支持按量计费,适合各种规模的应用。
2. 获取 API Key
- 注册并登录 Pinecone 控制台。
- 在 API Keys 页面创建一个 Key。
- 记下你的 Environment(如
us-east-1)。
3. 安装 SDK
pip install pinecone-client
4. 基础使用流程 (Python)
from pinecone import Pinecone, ServerlessSpec
# 1. 初始化客户端
pc = Pinecone(api_key="YOUR_API_KEY")
# 2. 创建索引 (如果不存在)
index_name = "my-index"
if index_name not in pc.list_indexes().names():
pc.create_index(
name=index_name,
dimension=1536, # 匹配 OpenAI text-embedding-3-small 维度
metric="cosine",
spec=ServerlessSpec(cloud="aws", region="us-east-1")
)
# 3. 连接到索引
index = pc.Index(index_name)
# 4. 插入数据 (Upsert)
# 数据格式: (id, vector, metadata)
index.upsert(
vectors=[
("id1", [0.1, 0.2, ...], {"topic": "AI"}),
("id2", [0.3, 0.4, ...], {"topic": "Bio"})
]
)
# 5. 查询 (Query)
results = index.query(
vector=[0.1, 0.2, ...],
top_k=2,
include_metadata=True
)
print(results)
5. 核心限制
- 维度固定:索引一旦创建,维度不能更改。
- 命名空间 (Namespaces):单个索引内可以通过命名空间进行数据隔离。
下一步:学习如何管理你的云端索引——Indexes 索引管理。