Kom igångKom igång gratis

Batch-upserts parallellt

I den här övningen får du öva på att mata in vektorer i Pinecone-indexet 'datacamp-index' parallellt. Du behöver ansluta till indexet, utföra upserts av vektorer i batchar asynkront och sedan kontrollera de uppdaterade mätvärdena för indexet 'datacamp-index'.

Hjälpfunktionen chunks() som du skapade tidigare är fortfarande tillgänglig:

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

Den här övningen är en del av kursen

Bygga AI-applikationer med Pinecone

Visa kurs

Övningsinstruktioner

  • Initiera Pinecone-klienten för att tillåta 20 samtidiga anrop.
  • Utför upserts av vektorerna i vectors i batchar om 200 vektorer per anrop asynkront, med 20 samtidiga anrop konfigurerade.
  • Skriv ut de uppdaterade mätvärdena för Pinecone-indexet 'datacamp-index'.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(____)
Redigera och kör kod