Pinecone 快速开始
Pinecone 是托管向量数据库,但到 2026 年 3 月,一个更准确的入门方式应该是:默认从 serverless 开始,而不是从旧的 pod-based 心智开始。
#1. 为什么选择 Pinecone?
- 零运维:无需管理服务器或 Docker,直接调用 API。
- 高性能:专为大规模相似性搜索优化的底层架构。
- 实时更新:数据写入后几乎立即可以被搜索到。
- Serverless:支持按量计费,适合各种规模的应用。
#2. 获取 API Key
- 注册并登录 Pinecone 控制台↗。
- 在 API Keys 页面创建一个 Key。
- 记下你的云和地域信息(如
aws / us-east-1)。
#3. 安装 SDK
bashpip install pinecone
#4. 基础使用流程 (Python)
pythonfrom 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)
如果你不想自己先做 embedding,Pinecone 官方当前也支持 create_index_for_model() 这种 integrated embedding 路线。
适合想快速把 source text 直接写进检索层的场景。
#5. 核心限制
- 维度固定:索引一旦创建,维度不能更改。
- 命名空间 (Namespaces):单个索引内可以通过命名空间进行数据隔离。
下一步:学习如何管理你的云端索引——Indexes 索引管理。