Vector Databases for Embeddings with Pinecone
James Chapman
Curriculum Manager, DataCamp
pc = Pinecone(api_key="API_KEY")
pc.create_index(
name='datacamp-index',
dimension=1536,
spec=ServerlessSpec(
cloud='aws',
region='us-east-1'
)
)
index = pc.Index('datacamp-index')
vectors = [
{
"id": "0",
"values": [0.025525547564029694, ..., 0.0188823901116848]
},
...,
{
"id": "9",
"values": [0.020712468773126602, ..., 0.006418442353606224]
},
]
vector_dims = [len(vector['values']) == 1536 for vector in vectors]
all(vector_dims)
True
PineconeApiException: (400)
Reason: Bad Request
HTTP response headers: HTTPHeaderDict({'Date': 'Fri, 17 May 2024 10:54:57 GMT', ...
HTTP response body: {"code":3,"message":"Vector dimension 256 does not match the
dimension of the index 1536","details":[]}
.upsert()
: Update or insertindex.upsert(
vectors=vectors
)
index.describe_index_stats()
{'dimension': 1536,
'index_fullness': 0.0,
'namespaces': {'': {'vector_count': 10}},
'total_vector_count': 10}
vectors = [
{
"id": "0",
"values": [0.025525547564029694, ..., 0.0188823901116848]
"metadata": {"genre": "productivity", "year": 2020}
},
...,
]
index.upsert(
vectors=vectors
)
Remember to use the structure:
{
"id": "0",
"values": [0.025525547564029694, ..., 0.0188823901116848]
"metadata": {"genre": "productivity", "year": 2020}
},
...,
Vector Databases for Embeddings with Pinecone