ComeçarComece de graça

Agrupando upserts em paralelo

Neste exercício, você vai praticar a ingestão de vetores no índice Pinecone do 'datacamp-index' em paralelo. Você vai precisar se conectar ao índice, fazer upsert de vetores em lotes de forma assíncrona e conferir as métricas atualizadas do índice 'datacamp-index'.

A função auxiliar chunks() que você criou anteriormente ainda está disponível para uso:

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))

Este exercício faz parte do curso

Bancos de dados vetoriais para incorporações com Pinecone

Ver curso

Instruções do exercício

  • Inicialize o cliente Pinecone pra permitir 20 solicitações ao mesmo tempo.
  • Insira os vetores em vectors em lotes de 200 vetores por solicitação de forma assíncrona, configurando 20 solicitações simultâneas.
  • Imprima as métricas atualizadas do índice Pinecone 'datacamp-index'.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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(____)
Editar e executar o código