ÎncepețiÎncepe gratuit

Upsert în loturi în paralel

În acest exercițiu, vei exersa inserarea vectorilor în indexul Pinecone 'datacamp-index' în paralel. Va trebui să te conectezi la index, să inserezi vectorii în loturi în mod asincron și să verifici metricile actualizate ale indexului 'datacamp-index'.

Funcția ajutătoare chunks() creată anterior este în continuare disponibilă:

def chunks(iterable, batch_size=100):
    """A helper function to break an iterable into chunks of size batch_size."""
    it = iter(iterable)
    chunk = tuple(itertools.islice(it, batch_size))
    while chunk:
        yield chunk
        chunk = tuple(itertools.islice(it, batch_size))

Acest exercițiu face parte din cursul

Crearea aplicațiilor AI cu Pinecone

Vezi cursul

Instrucțiuni pentru exercițiu

  • Inițializează clientul Pinecone pentru a permite 20 de cereri simultane.
  • Inserează vectorii din vectors în loturi de 200 de vectori per cerere asincron, configurând 20 de cereri simultane.
  • Afișează metricile actualizate ale indexului Pinecone 'datacamp-index'.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Initialize the client
pc = Pinecone(api_key="____", ____)

index = pc.Index('datacamp-index')

# Upsert vectors in batches of 200 vectors
with pc.Index('datacamp-index', ____) as index:
    async_results = [____(vectors=chunk, ____) for chunk in chunks(vectors, batch_size=____)]
    [async_result.get() for async_result in async_results]

# Retrieve statistics of the connected Pinecone index
print(____)
Editează și rulează codul