Pinecone Reader

import logging
import sys

logging.basicConfig(stream=sys.stdout, level=logging.INFO)
logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))
api_key = "<api_key>"
from llama_index.readers.pinecone import PineconeReader
reader = PineconeReader(api_key=api_key, environment="us-west1-gcp")
# the id_to_text_map specifies a mapping from the ID specified in Pinecone to your text. 
id_to_text_map = {
    "id1": "text blob 1",
    "id2": "text blob 2",
}

# the query_vector is an embedding representation of your query_vector
# Example query vector:
#   query_vector=[0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]

query_vector=[n1, n2, n3, ...]
# NOTE: Required args are index_name, id_to_text_map, vector.
# In addition, we pass-through all kwargs that can be passed into the the `Query` operation in Pinecone.
# See the API reference: https://docs.pinecone.io/reference/query
# and also the Python client: https://github.com/pinecone-io/pinecone-python-client
# for more details. 
documents = reader.load_data(index_name='quickstart', id_to_text_map=id_to_text_map, top_k=3, vector=query_vector, separate_documents=True)

Create index

index = GPTListIndex.from_documents(documents)
# set Logging to DEBUG for more detailed outputs
query_engine = index.as_query_engine()
response = query_engine.query("<query_text>")
display(Markdown(f"<b>{response}</b>"))