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
bashpip install pinecone-client
#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)
#5. 核心限制
- 维度固定:索引一旦创建,维度不能更改。
- 命名空间 (Namespaces):单个索引内可以通过命名空间进行数据隔离。
下一步:学习如何管理你的云端索引——Indexes 索引管理。