Définir une fonction pour le découpage en blocs
Pour regrouper les upserts par lots de manière reproductible, vous devrez définir une fonction qui divise votre liste de vecteurs en blocs.
Le module intégré itertools a déjà été importé pour vous.
Cette activité fait partie du cours
Créer des applications d'IA avec Pinecone
Instructions de l’exercice
- Convertissez l'entrée
iterableen itérateur. - Découpez
iten blocs de taillebatch_sizeà l'aide du moduleitertools. - Produisez le bloc courant avec
yield.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
def chunks(iterable, batch_size=100):
"""A helper function to break an iterable into chunks of size batch_size."""
# Convert the iterable into an iterator
it = ____
# Slice the iterator into chunks of size batch_size
chunk = tuple(itertools.____(it, ____))
while chunk:
# Yield the chunk
____
chunk = tuple(itertools.islice(it, batch_size))