Quickstart¶
Get from install to your first similarity search in five minutes.
1. Initialize the client¶
from pinecone import Pinecone
# Option A: read API key from the PINECONE_API_KEY environment variable
pc = Pinecone()
# Option B: pass it explicitly
pc = Pinecone(api_key="your-api-key")
2. Create a serverless index¶
An index’s fields are declared as a schema. This one has a single dense vector field,
embedding:
pc.indexes.create(
name="quickstart",
schema={"fields": {"embedding": {"type": "dense_vector", "dimension": 3, "metric": "cosine"}}},
deployment={"deployment_type": "managed", "cloud": "aws", "region": "us-east-1"},
)
3. Wait for the index to be ready¶
create polls until the index is ready by default. If you passed timeout=-1 to
return immediately, check readiness yourself:
import time
while True:
desc = pc.indexes.describe("quickstart")
if desc.status.ready:
break
time.sleep(1)
4. Get an Index client¶
index = pc.index("quickstart")
5. Upsert vectors¶
index.upsert(vectors=[
("id1", [0.1, 0.2, 0.3]),
("id2", [0.4, 0.5, 0.6]),
("id3", [0.7, 0.8, 0.9]),
])
6. Query¶
results = index.query(vector=[0.1, 0.2, 0.3], top_k=3)
for match in results.matches:
print(match.id, match.score)
7. Clean up¶
pc.indexes.delete("quickstart")
Complete example¶
from pinecone import Pinecone
pc = Pinecone() # reads PINECONE_API_KEY
pc.indexes.create(
name="quickstart",
schema={"fields": {"embedding": {"type": "dense_vector", "dimension": 3, "metric": "cosine"}}},
deployment={"deployment_type": "managed", "cloud": "aws", "region": "us-east-1"},
)
index = pc.index("quickstart")
index.upsert(vectors=[
("id1", [0.1, 0.2, 0.3]),
("id2", [0.4, 0.5, 0.6]),
("id3", [0.7, 0.8, 0.9]),
])
results = index.query(vector=[0.1, 0.2, 0.3], top_k=3)
for match in results.matches:
print(match.id, match.score)
pc.indexes.delete("quickstart")