When using a Pinecone SDK, initialize a client object with your API key and then reuse the authenicated client in subsquent function calls. For example:
from pinecone.grpc import PineconeGRPC as Pineconefrom pinecone import ServerlessSpecpc = Pinecone(api_key='YOUR_API_KEY')# Creates an index using the API key stored in the client 'pc'.pc.create_index( name="docs-example", dimension=1536, metric="cosine", spec=ServerlessSpec( cloud='aws', region='us-east-1' ) )
All HTTP requests to Pinecone APIs must contain an Api-Key header that specifies a valid API key and must be encoded as JSON with the Content-Type: application/json header. For example:
In more recent versions of Pinecone, this has changed. Initialization no longer requires an init step, and cloud environment is defined for each index rather than an entire project. Client initialization now only requires an api_key parameter, for example:
# New initializationfrom pinecone import Pineconepc = Pinecone(api_key="YOUR_API_KEY")
If you are receiving errors about initialization, upgrade your Pinecone SDK to the latest version, for example:
Also, note that some third-party tutorials and examples still reference the older initialization method. In such cases, follow the example above and the examples throughout the Pinecone documentation instead.