Definirea unei funcții pentru împărțirea în fragmente
Pentru a putea realiza upsert-uri în lot într-un mod reproductibil, va trebui să definești o funcție care să împartă lista de vectori în fragmente.
Modulul built-in itertools a fost deja importat pentru tine.
Acest exercițiu face parte din cursul
Crearea aplicațiilor AI cu Pinecone
Instrucțiuni pentru exercițiu
- Convertește intrarea
iterableîntr-un iterator. - Împarte
itîn fragmente de dimensiuneabatch_sizefolosind modululitertools. - Returnează fragmentul curent cu
yield.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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))