High-performance vector search apps are simple to create using the Pinecone vector database, but many users are wondering how to get Pinecone API. The database is appealing to developers, completely controlled, and easily expandable without infrastructure headaches.
The development of high-performance vector search applications is made simple by Pinecone. It is a managed, infrastructure-free vector database that was built for the cloud.
In this article, we are going to explain how to get Pinecone API, which is a crucial piece of information to start using the platform. Therefore, without further ado, let’s dive into details.
How to get Pinecone API?
Below, you can see our step-by-step guide to learning how to get Pinecone API and how to start using the platform within only a few minutes. The process is actually quite straightforward but might be causing some confusion for the new users. Follow the instructions below and you’ll get started in no time!
Install Pinecone Client
This step is actually not required. Only take out this action if you want to use the Python client. However, we recommend doing so because it simplifies the process in the long run.
To install Pinecone, use the shell command:
pip install pinecone-client
Get the Pinecone API key and verify it
You need an API key to utilize Pinecone. As the main step of our guide on how to get Pinecone API, open the Pinecone console and select API Keys to locate your API key. Additionally, the environment for your project is shown in this view. Take note of your environment as well as your API key.
Use these commands to check that your Pinecone API key is operational:
import pinecone
pinecone.init(api_key=”YOUR_API_KEY”, environment=”YOUR_ENVIRONMENT”)
Your API key is legitimate if you don’t get an error message.
The rest is a bit complex
The remaining steps can be finished in one of three ways:
- Create and run Python code in your browser by using the “Hello, Pinecone!” colab notebook.
- Copy the following Python commands to your local Python installation.
- Use the following cURL API commands.
Initializing Pinecone
import pinecone
pinecone.init(api_key=”YOUR_API_KEY”, environment=”YOUR_ENVIRONMENT”)
Creating an index
The commands that follow establish an index called “quickstart” that does a rough nearest-neighbor search for 8-dimensional vectors using the Euclidean distance metric.
It takes around a minute to create an index.
pinecone.create_index(“quickstart”, dimension=8, metric=”euclidean”, pod_type=”p1″)
Indexes developed by specific open-source projects, such as AutoGPT, are archived and deleted after 1 day of inactivity on the Starter (free) plan. In general, indexes made by other plans are archived and deleted after 7 days of inactivity. Sending any API call to Pinecone will cause the counter to reset, preventing this from happening.
Retrieving a list of your indexes
Your index’s name appears in the index list once it has been established.
The commands below will return a list of your indexes.
pinecone.list_indexes()
# Returns:
# [‘quickstart’]
Connecting to the index (Client only)
You must connect to the index before using a client to query it.
The commands listed below can be used to connect to your index.
index = pinecone.Index(“quickstart”)
Inserting the data
Use the upsert operation to insert vectors into your index.
The upsert action adds a new vector to the index or, if an existing vector with the same ID already exists, updates the vector.
The commands listed below upsert five eight-dimensional vectors into your index.
# Upsert sample data (5 8-dimensional vectors)
index.upsert([
(“A”, [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]),
(“B”, [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]),
(“C”, [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]),
(“D”, [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4]),
(“E”, [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5])
])
The endpoint for your Pinecone index is used by the cURL code above.
Keep in mind that upsert data in batches of 100 vectors or fewer over the course of several upsert requests when upserting larger volumes of data.
Getting statistics about your index
The following commands provide statistics about your index’s contents.
index.describe_index_stats()
# Returns:
# {‘dimension’: 8, ‘index_fullness’: 0.0, ‘namespaces’: {”: {‘vector_count’: 5}}}
Querying the index and getting similar vectors
The following example uses the Euclidean distance metric defined in step 2 (“Create an index.”) above to search the index for the three vectors that are most similar to an example 8-dimensional vector.
index.query(
vector=[0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3],
top_k=3,
include_values=True
)
# Returns:
# {‘matches’: [{‘id’: ‘C’,
# ‘score’: 0.0,
# ‘values’: [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]},
# {‘id’: ‘D’,
# ‘score’: 0.0799999237,
# ‘values’: [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4]},
# {‘id’: ‘B’,
# ‘score’: 0.0800000429,
# ‘values’: [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]}],
# ‘namespace’: ”}
Deleting the index
Use the delete_index operation to remove the index once you are finished using it.
The index is removed using the commands below.
pinecone.delete_index(“quickstart”)
Keep in mind that an index that has been deleted cannot be used again.
With all of these steps done, you should now have learned how to get Pinecone API and start using Pinecone. If you are interested, you can also check out: What is AutoGPT and how to use it?