Quickstart

Get from install to your first similarity search in five minutes.

1. Initialize the client

from pinecone import Pinecone, ServerlessSpec

# 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

pc.indexes.create(
    name="quickstart",
    dimension=3,
    metric="cosine",
    spec=ServerlessSpec(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, ServerlessSpec

pc = Pinecone()  # reads PINECONE_API_KEY

pc.indexes.create(
    name="quickstart",
    dimension=3,
    metric="cosine",
    spec=ServerlessSpec(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")