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