LoslegenKostenlos loslegen

Parallele Batching-Upserts

In dieser Übung übst du, Vektoren parallel in den Pinecone-Index „ 'datacamp-index' “ einzufügen. Du musst eine Verbindung zum Index herstellen, Vektoren in Stapeln asynchron upsert und die aktualisierten Metriken des Index „ 'datacamp-index' “ überprüfen.

Die zuvor erstellte Hilfsfunktion „ chunks() ” kann weiterhin verwendet werden:

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

Diese Übung ist Teil des Kurses

Vektordatenbanken für Einbettungen mit Pinecone

Kurs anzeigen

Anleitung zur Übung

  • Starte den Pinecone-Client so, dass 20 Anfragen gleichzeitig möglich sind.
  • Füge die Vektoren in „ vectors “ in Gruppen von 200 Vektoren pro Anfrage asynchron hinzu und stelle „ 20 “ auf gleichzeitige Anfragen ein.
  • Druck die aktualisierten Metriken des Pinecone-Index „ 'datacamp-index' “ aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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(____)
Code bearbeiten und ausführen